You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

任意余维数的多元$C^k$函数的高维链式法则

任意余维数的多元$C^k$函数的高维链式法则

嘿,我来帮你理清楚任意余维数下多元$C^k$函数的高维链式法则问题~

首先咱们先把问题的前提条件明确下来:

  • 设$U \subseteq \mathbb{R}^d$和$V \subseteq \mathbb{R}^s$都是欧氏空间里的开集
  • 给定两个$C^k$类函数$f: U \to V$和$g: V \to \mathbb{R}^l$,这里$k \geq 1$,$C^k$指的是所有具有连续$k$阶导数的函数集合

你提到当$l=1$(也就是$g$是实值函数)的时候,已经找到了高阶链式法则的公式,那咱们就从这个特殊情况入手,再推广到一般的$l$维输出的情况。


先回顾下一阶链式法则(基础中的基础)

这个你肯定已经熟了,但还是快速过一遍,方便衔接高阶的情况:
对于复合函数$h = g \circ f$,它的一阶导数(雅可比矩阵)满足:
$$Dh(x) = Dg(f(x)) \cdot Df(x)$$
这里的“·”是矩阵乘法,拆成分量形式的话,对每个$i=1,\dots,d$,就是:
$$\frac{\partial h}{\partial x_i}(x) = \sum_{j=1}^s \frac{\partial g}{\partial y_j}(f(x)) \cdot \frac{\partial f_j}{\partial x_i}(x)$$
(这里把$f$的分量记为$f_1,\dots,f_s$,也就是$f(x)=(f_1(x),\dots,f_s(x))$)


高阶链式法则:$l=1$(实值$g$)的情况

当$g$是实值函数时,高阶导数的链式法则用多重指标来写会特别简洁,这也是你找到的那个公式的核心思路。

先给你明确下多重指标的定义:对于$\alpha = (\alpha_1,\dots,\alpha_d)$,每个$\alpha_i$都是非负整数,我们记$|\alpha| = \alpha_1 + \dots + \alpha_d$(这个是指标的阶数,对应导数的阶数),对应的偏导数算子是$D^\alpha = \frac{\partial^{|\alpha|}}{\partial x_1^{\alpha_1}\dots\partial x_d^{\alpha_d}}$。

那么对于任意满足$|\alpha| \leq k$的多重指标$\alpha$,复合函数$h = g \circ f$的$\alpha$阶偏导数满足:
$$D^\alpha h(x) = \sum_{\substack{\beta_1 + \dots + \beta_m = \alpha \ m \geq 1}} \frac{|\alpha|!}{\beta_1!\dots\beta_m!} \cdot D^m g(f(x))(D^{\beta_1}f(x), \dots, D^{\beta_m}f(x))$$
可能你看着这个公式有点抽象,举个二阶导数的例子($|\alpha|=2$),拆成具体的分量形式就直观了:
$$\frac{\partial^2 h}{\partial x_i \partial x_j}(x) = \sum_{p,q=1}^s \frac{\partial^2 g}{\partial y_p \partial y_q}(f(x)) \cdot \frac{\partial f_p}{\partial x_i}(x) \cdot \frac{\partial f_q}{\partial x_j}(x) + \sum_{p=1}^s \frac{\partial g}{\partial y_p}(f(x)) \cdot \frac{\partial^2 f_p}{\partial x_i \partial x_j}(x)$$
你看,这个就是把二阶导数拆成了两部分:一部分是$g$的二阶导数作用在$f$的两个一阶偏导的乘积上,另一部分是$g$的一阶导数作用在$f$的二阶偏导上,完全对应上面的多重指标公式。


一般情况:任意$l$维输出的$g$

当$g$是向量值函数(也就是$l>1$)时,其实完全不需要新的公式——咱们只需要把$g$拆成每个分量来处理就行。

把$g$的分量记为$g_1,\dots,g_l$,也就是$g(y)=(g_1(y),\dots,g_l(y))$,那么复合函数$h = g \circ f$的分量就是$h_i = g_i \circ f$,每个$h_i$都是实值函数。

所以对于每个分量$h_i$,直接套用上面$l=1$时的高阶链式法则公式就行:
对于任意满足$|\alpha| \leq k$的多重指标$\alpha$,有:
$$D^\alpha h_i(x) = \sum_{\substack{\beta_1 + \dots + \beta_m = \alpha \ m \geq 1}} \frac{|\alpha|!}{\beta_1!\dots\beta_m!} \cdot D^m g_i(f(x))(D^{\beta_1}f(x), \dots, D^{\beta_m}f(x))$$
如果想用张量的语言统一表达的话,就是把$g$的$m$阶导数看作$(l, \underbrace{s,\dots,s}{m个})$型张量,$f$的$\beta_j$阶导数看作$(\underbrace{d,\dots,d}{|\beta_j|个}, s)$型张量,然后通过张量缩并来得到复合函数的$m$阶导数张量——不过其实对大多数计算来说,分量形式已经足够用了。


几个核心要点提醒你一下

  • 高阶链式法则的本质是对所有可能的导数阶数分配进行求和,多重指标只是把这种“所有可能”用简洁的符号表示出来
  • 实值函数的情况是基础,向量值函数只需要对每个分量分别应用实值函数的公式即可,不需要额外推导
  • 所有公式都依赖于$f$和$g$是$C^k$类函数——这保证了各阶导数的连续性,从而克莱罗定理成立,求导的顺序不影响结果,咱们才能放心地用这些公式

备注:内容来源于stack exchange,提问作者epartow

火山引擎 最新活动