跳转至

方向导数和梯度

方向导数

方向导数(Directional derivative)描述了多元函数在某点附近沿着特定方向的变化率

定义与公式

以二元标量函数 \(f(x,y)\) 为例,设 \(f\) 在点 \(P_0:(x_0,y_0)\) 处可微。考虑单位矢量

\[ \vec{u}:(a,b) \quad \text{且} \quad \rb{\sqrt{a^2 + b^2} = 1} \]

在有些教材中,使用方向余弦将单位矢量 \(\vec{u}\) 表示为 \(\rb{\cos\alpha, \ \cos\beta \tm}\),其中,\(\alpha\)\(\beta\) 分别是 \(\vec{u}\) 与坐标轴 \(x\)\(y\) 之间的方向角,根据方向余弦的特性可知,\(\displaystyle \cos^2 \alpha + \cos^2 \beta = 1\)。因此,这种表示方式也是很好的

函数 \(f\) 在点 \(P_0\) 处沿着 \(\vec{u}:(a,b)\) 的方向导数定义为

\[ \left. \frac{\partial f}{\partial u} \right|_{P_0} = \lim_{h \to 0} \frac{f(x_0 + h a, y_0 + h b) - f(x_0,y_0)}{h} \tag{1} \label{eq:direction_derivative} \]
\[ \begin{align} \left. \frac{\partial f}{\partial u} \right|_{P_0} = & \lim_{h \to 0} \frac{1}{h} \left[f\rb{x_0 + h a, y_0 + h b} \right. \\ & \left. - f(x_0,y_0) \right] \end{align} \tag{1} \label{eq:direction_derivative_small} \]

根据多元函数的泰勒展开,上式中

\[ f(x_0 + h a, y_0 + h b) - f(x_0,y_0) = \left. \frac{\partial f}{\partial x} \right|_{P_0} \rb{h a} + \left. \frac{\partial f}{\partial y} \right|_{P_0} \rb{h b} + o\rb{h} \]
\[ \begin{align} & f(x_0 + h a, y_0 + h b) - f(x_0,y_0) \\ & = \left. \frac{\partial f}{\partial x} \right|_{P_0} \rb{h a} + \left. \frac{\partial f}{\partial y} \right|_{P_0} \rb{h b} + o\rb{h} \end{align} \]

其中,\(o\rb{h}\) 表示比 \(h\) 高阶的无穷小,满足 \(\displaystyle \lim_{h \to 0} \dfrac{o\rb{h}}{h} = 0\)

因此,式 \(\eqref{eq:direction_derivative}\)\(\eqref{eq:direction_derivative_small}\) 可化简为

\[ \left. \frac{\partial f}{\partial u} \right|_{P_0} = \left. \frac{\partial f}{\partial x} \right|_{P_0} a + \left. \frac{\partial f}{\partial y} \right|_{P_0} b \]

也可以进一步写成下面的标量积的形式

\[ \left. \frac{\partial f}{\partial u} \right|_{P_0} = \rb{ \left. \frac{\partial f}{\partial x} \right|_{P_0} \,\vec{i} + \left. \frac{\partial f}{\partial y} \right|_{P_0} \,\vec{j} } \cdot \rb{a \,\vec{i} + b \,\vec{j}\tm} = \rb{ \left. \frac{\partial f}{\partial x} \right|_{P_0} \,\vec{i} + \left. \frac{\partial f}{\partial y} \right|_{P_0} \,\vec{j} } \cdot \vec{u} \]
\[ \begin{align} \left. \frac{\partial f}{\partial u} \right|_{P_0} & = \rb{ \left. \frac{\partial f}{\partial x} \right|_{P_0} \,\vec{i} + \left. \frac{\partial f}{\partial y} \right|_{P_0} \,\vec{j} } \cdot \rb{a \,\vec{i} + b \,\vec{j}\tm} \\ & = \rb{ \left. \frac{\partial f}{\partial x} \right|_{P_0} \,\vec{i} + \left. \frac{\partial f}{\partial y} \right|_{P_0} \,\vec{j} } \cdot \vec{u} \end{align} \]

其中,\(\vec{i}\)\(\vec{j}\) 分别为沿着 \(x\)\(y\) 轴的单位矢量

上述推导过程同样适用于包含 \(n\) 个变量的函数 \(f(x_1,x_2,\cdots,x_n)\),在点 \(\vec{x}_0:\rb{x_{10},x_{20},\cdots,x_{n0}}\) 处沿着单位矢量 \(\vec{u}:\rb{u_1,u_2,\cdots,u_n}\) 的方向导数定义为

\[ \left. \frac{\partial f}{\partial u} \right|_{\vec{x}_0} = \lim_{h \to 0} \frac{f\rb{\vec{x}_0 + h \vec{u}} - f\rb{\vec{x}_0}}{h} \tag{2} \label{eq:direction_derivative_2} \]

其结果为

\[ \sum_{i=1}^n \left. \frac{\partial f}{\partial x_i} \right|_{\vec{x}_0} \, u_i \quad \text{或} \quad \rb{\sum_{i=1}^n \left. \frac{\partial f}{\partial x_i} \right|_{\vec{x}_0} \,\vec{e}_i } \cdot \vec{u} \]

其中,\(\vec{e}_i\) 为沿着变量 \(x_i\) 的单位矢量

梯度

梯度(Gradient)是一个矢量,它不仅指明了标量场函数增长最快的方向,而且其大小表示该方向上的最大增长率

梯度矢量的各个分量就是函数对各自变量的偏导数

公式表述

对于多元可微的标量函数 \(f\rb{x_1,x_2,\cdots,x_n}\),常用符号 \(\mathbf{grad} f\)\(\nabla f\) 表示其梯度。在点 \(\vec{x}_0:\rb{x_{10},x_{20},\cdots,x_{n0}}\) 处的梯度定义为

\[ \nabla f\rb{\vec{x}_0} = \sum_{i=1}^n \left. \frac{\partial f}{\partial x_i} \right|_{\vec{x}_0} \,\vec{e}_i \tag{3} \label{eq:gradient} \]

根据梯度的定义式 \(\eqref{eq:gradient}\),函数 \(f\) 沿着 \(\vec{u}\) 的方向导数 \(\eqref{eq:direction_derivative_2}\) 可表示为

\[ \left. \frac{\partial f}{\partial u} \right|_{\vec{x}_0} = \nabla f\rb{\vec{x}_0} \cdot \vec{u} \tag{4} \label{eq:gradient_2} \]

这表明方向导数就是梯度在 \(\vec{u}\) 方向上的投影

梯度与方向导数的关系

  1. 方向导数是梯度在特定方向上的投影

    从式 \(\eqref{eq:gradient_2}\) 不难看出,方向导数 \(\displaystyle \left. \frac{\partial f}{\partial u} \right|_{\vec{x}_0}\) 就是梯度 \(\displaystyle \nabla f\rb{\vec{x}_0}\) 在单位矢量 \(\vec{u}\) 方向上的投影

  2. 梯度指出了函数增长最快的方向,梯度大小是函数在该方向上的最大增长率

    在公式 \(\eqref{eq:gradient_2}\)

    \[ \nabla f\rb{\vec{x}_0} \cdot \vec{u} = \abs{\nabla f\rb{\vec{x}_0}} \abs{\vec{u}} \cos\theta = \abs{\nabla f\rb{\vec{x}_0}} \cos\theta \]

    \[ \begin{gather} \nabla f\rb{\vec{x}_0} \cdot \vec{u} = \abs{\nabla f\rb{\vec{x}_0}} \abs{\vec{u}} \cos\theta \\ = \abs{\nabla f\rb{\vec{x}_0}} \cos\theta \end{gather} \]

    其中,\(\theta\)\(\nabla f\rb{\vec{x}_0}\)\(\vec{u}\) 的夹角。由于 \(\abs{\vec{u}} = 1\),且 \(\abs{\nabla f\rb{\vec{x}_0}}\)\(\vec{x}_0\) 处的值是确定的,当 \(\vec{u}\) 与梯度方向一致(即 \(\theta = 0\))时,方向导数 \(\dfrac{\partial f}{\partial u}\) 取得最大值 \(\abs{\nabla f\rb{\vec{x}_0}}\)。这说明梯度不仅指出了函数增长最快的方向,同时其模长正是该方向上的最大增长率