方向导数公式的证明

方向导数的计算公式

方向导数 \(D_\mathbf{u}f(\mathbf{x})\) 衡量了函数 \(f\) 在点 \(\mathbf{x}\) 处沿单位向量 \(\mathbf{u}\) 方向的变化率。要证明 \(D_\mathbf{u}f(\mathbf{x}) = \nabla f(\mathbf{x}) \cdot \mathbf{u}\),我们可以使用多元函数链式法则

首先,我们用极限来定义方向导数:

\[D_\mathbf{u}f(\mathbf{x}) = \lim_{h \to 0} \frac{f(\mathbf{x} + h\mathbf{u}) - f(\mathbf{x})}{h} \]

这个表达式与单变量函数导数的定义非常相似,它测量的是当自变量从 \(\mathbf{x}\) 沿着 \(\mathbf{u}\) 方向移动一小段距离 \(h\) 时,函数值的变化率。

为了计算这个极限,我们引入一个辅助函数
定义一个单变量函数 \(g(t) = f(\mathbf{x} + t\mathbf{u})\)

  • 这里的 \(t\) 是一个标量,代表沿着 \(\mathbf{u}\) 方向移动的距离。
  • \(t=0\) 时,\(g(0) = f(\mathbf{x})\)
  • \(t=h\) 时,\(g(h) = f(\mathbf{x} + h\mathbf{u})\)

利用这个辅助函数,\(D_\mathbf{u}f(\mathbf{x})\) 的极限定义可以写成:

\[D_\mathbf{u}f(\mathbf{x}) = \lim_{h \to 0} \frac{g(h) - g(0)}{h} \]

这个极限正是函数 \(g(t)\)\(t=0\) 处的导数,即 \(g'(0)\)。$$D_\mathbf{u}f(\mathbf{x}) = g'(0)$$

现在,我们只需计算 \(g'(t)\),然后将 \(t=0\) 代入即可。我们可以使用多元函数链式法则来完成这个任务。

\(\mathbf{y}(t) = \mathbf{x} + t\mathbf{u}\)。这里,\(\mathbf{y}(t)\) 是一个向量函数,它的分量为:
\(\mathbf{y}(t) = (x_1 + tu_1, x_2 + tu_2, \dots, x_n + tu_n)\)
其中 \(\mathbf{x} = (x_1, \dots, x_n)\)\(\mathbf{u} = (u_1, \dots, u_n)\)

根据链式法则,

\[\frac{dg}{dt} = \frac{\partial f}{\partial y_1}\frac{dy_1}{dt} + \frac{\partial f}{\partial y_2}\frac{dy_2}{dt} + \dots + \frac{\partial f}{\partial y_n}\frac{dy_n}{dt} \]

我们计算每个分量对 \(t\) 的导数:
\(\frac{dy_i}{dt} = \frac{d}{dt}(x_i + tu_i) = u_i\)

将这些代入链式法则公式,且由于这里的 \(\frac{\partial f}{\partial y_i}\) ,由于最终求的是 \(g'(0)\) ,所以 \(y(0) = x + 0 u = x\), 故可以把\(\frac{\partial f}{\partial y_i}\) 变为 \(\frac{\partial f}{\partial x_i}\)

\[g'(0) = \frac{dg}{dt} = \frac{\partial f}{\partial x_1}u_1 + \frac{\partial f}{\partial x_2}u_2 + \dots + \frac{\partial f}{\partial x_n}u_n \]

这个和式可以用向量点积的形式简洁地表示:

\[g'(0) = \frac{dg}{dt} = \left( \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \dots, \frac{\partial f}{\partial x_n} \right) \cdot (u_1, u_2, \dots, u_n) \]

左边的向量就是梯度 \(\nabla f(\mathbf{x})\),右边的向量就是方向向量 \(\mathbf{u}\)

所以,我们得到:

\[g'(0) = \frac{dg}{dt} = \nabla f(\mathbf{x}) \cdot \mathbf{u} \]

由于 \(D_\mathbf{u}f(\mathbf{x}) = g'(0)\),且 \(\frac{dg}{dt}\)\(t\) 无关,我们最终证明了:

\[D_\mathbf{u}f(\mathbf{x}) = \nabla f(\mathbf{x}) \cdot \mathbf{u} \]

这个公式的意义在于,它将方向导数(一个关于方向的概念)与梯度(一个固定的向量)联系起来,为计算任意方向上的变化率提供了一个简单、统一的方法。

“滥用符号”的问题

在数学推导中很常见的“符号替换”或“滥用符号”的现象。

1. 我们的目标:计算 \(g'(t)\)

我们的任务是计算单变量函数 \(g(t) = f(\mathbf{y}(t))\) 的导数,其中 \(\mathbf{y}(t) = \mathbf{x} + t\mathbf{u}\)

根据链式法则,我们得到:

\[g'(t) = \frac{dg}{dt} = \sum_{i=1}^{n} \frac{\partial f}{\partial y_i} \frac{dy_i}{dt} \]

这里的 \(\frac{\partial f}{\partial y_i}\) 是函数 \(f\) 对其第 \(i\) 个输入变量的偏导数。

关键点来了:当我们写出 \(\frac{\partial f}{\partial y_i}\) 时,它是在函数 \(f\) 的自变量是向量 \(\mathbf{y}\) 时计算的。具体来说,这个偏导数是在点 \(\mathbf{y}(t)\) 处计算的。所以,更严谨的写法应该是:

\[\frac{\partial f}{\partial y_i} \bigg|_{\mathbf{y}=\mathbf{y}(t)} = \frac{\partial f}{\partial y_i} (\mathbf{y}(t)) \]

2. 为什么可以“替换”?

我们再看一眼 \(\mathbf{y}(t)\) 的定义:\(\mathbf{y}(t) = \mathbf{x} + t\mathbf{u}\)
这意味着 \(\mathbf{y}\) 的分量是:\(y_i = x_i + tu_i\)

在我们的证明中,\(\mathbf{x}\) 是一个固定的点,而 \(\mathbf{y}\) 是一个\(\mathbf{x}\)出发,沿着方向 \(\mathbf{u}\) 运动的点
当我们在讨论 \(f(\mathbf{y})\) 的偏导数时,我们是在讨论函数 \(f\) 在任意点 \(\mathbf{y}\) 处的偏导数。
而当我们在讨论 \(f(\mathbf{x})\) 的偏导数时,我们是在讨论函数 \(f\) 在特定点 \(\mathbf{x}\) 处的偏导数。

在最终的推导中,我们需要的其实是 \(g'(0)\),也就是 \(t=0\) 时的导数。

\[g'(0) = \sum_{i=1}^{n} \frac{\partial f}{\partial y_i} \bigg|_{t=0} \frac{dy_i}{dt} \bigg|_{t=0} \]

\(t=0\) 时:
由于 \(\mathbf{y}\) 的分量是:\(y_i = x_i + tu_i\)。带入 \(t=0\) 后可知 \(y_i = x_i + 0*u_i = x_i\)
即 当 \(t=0\) 时,\(y_i = x_i\)

所以,整理后得:

\[D_\mathbf{u}f(\mathbf{x}) = g'(0) = \sum_{i=1}^{n} \frac{\partial f}{\partial x_i} u_i = \nabla f(\mathbf{x}) \cdot \mathbf{u} \]

3. “滥用符号”的解释

在数学写作中,尤其是在一些教科书或推导中,为了简化符号,人们常常会省略对自变量的显式标记

  • 严谨的写法\(\frac{\partial f}{\partial y_i}(\mathbf{y}(t))\),明确表示偏导数是在 \(\mathbf{y}(t)\) 点计算的。
  • 简化的写法\(\frac{\partial f}{\partial y_i}\),没有明确指出是在哪个点计算的。

当推导进行到 \(\frac{dg}{dt} = \sum_{i=1}^{n} \frac{\partial f}{\partial y_i} \frac{dy_i}{dt}\) 时,作者知道最终我们关心的是 \(t=0\) 时的值。而当 \(t=0\) 时,\(\mathbf{y}(0) = \mathbf{x}\)。所以,这里的 \(\frac{\partial f}{\partial y_i}\) 实际上就是在点 \(\mathbf{x}\)计算的偏导数。

因此,“这里的 \(\frac{\partial f}{\partial y_i}\) 已经根据链式法则的规则被视为 \(\frac{\partial f}{\partial x_i}\)” 实际上是一种符号上的简化。它意味着,因为我们最终关心的就是 \(t=0\) 的情况(也就是在 \(\mathbf{x}\) 点),所以我们可以把符号 \(\frac{\partial f}{\partial y_i}\) 视为与 \(\frac{\partial f}{\partial x_i}\) 是同一个东西,因为它都代表了函数 \(f\) 在点 \(\mathbf{x}\) 对其第 \(i\) 个自变量的偏导数。

简而言之,虽然在推导过程中我们使用了辅助变量 \(\mathbf{y}\),但由于最终的求导是在 \(\mathbf{x}\) 点进行的,所以这些偏导数本质上就是函数 \(f\) 在点 \(\mathbf{x}\) 处的偏导数。

posted @ 2025-09-08 11:19  立体风  阅读(6)  评论(0)    收藏  举报