梯度

在向量微积分中，梯度（gradient）是一种关于多元导数的概括。平常的一元（单变量）函数的导数是标量值函数，而多元函数的梯度是向量值函数。多元可微函数$f$在点$P$上的梯度，是以$f$在$P$上的偏导数为分量的向量。

就像一元函数的导数表示这个函数图形的切线的斜率，如果多元函数在点$P$上的梯度不是零向量，则它的方向是这个函数在$P$上最大增长的方向、而它的量是在这个方向上的增长率。

梯度向量中的幅值和方向是与坐标的选择无关的独立量。

在欧几里德空间或更一般的流形之间的多元可微映射的向量值函数的梯度推广是雅可比矩阵。在巴拿赫空间之间的函数的进一步推广是弗雷歇导数。

## 梯度的解释

<image>

假设有一个房间，房间内所有点的温度由一个标量场$\phi$给出的，即点$(x,y,z)$的温度是$\phi(x,y,z)$。假设温度不随时间改变。然后，在房间的每一点，该点的梯度将显示变热最快的方向。梯度的大小将表示在该方向上的温度变化率。

考虑一座高度在$(x, y)$点是$H(x, y)$的山。$H$这一点的梯度是在该点坡度（或者说斜度）最陡的方向。梯度的大小告诉我们坡度到底有多陡。

梯度也可以告诉我们一个数量在不是最快变化方向的其他方向的变化速度。再次考虑山坡的例子。可以有条直接上山的路其坡度是最大的，则其坡度是梯度的大小。也可以有一条和上坡方向成一个角度的路，例如投影在水平面上的夹角为60°。则，若最陡的坡度是40%，这条路的坡度小一点，是20%，也就是40%乘以60°的余弦。

这个现象可以如下数学的表示。山的高度函数$H$的梯度点积一个单位向量给出表面在该向量的方向上的斜率。这称为方向导数。

## 定义

<image>

纯量函数 $f \colon \mathbb{R}^n \mapsto \mathbb{R}$的梯度表示为：$\nabla f$ 或$\operatorname{grad} f$，其中 $\nabla$（nabla）表示向量微分算子。

函数 $f$的梯度，$\nabla f$，为向量场且对任意单位向量 v 满足下列方程式:

$\big(\nabla f(x)\big)\cdot \mathbf{v} = D_{\mathbf v} f(x)$。

### 直角坐标系

$\nabla f$在三维直角坐标系中表示为

$\nabla f =\begin{pmatrix} {\frac{\partial f}{\partial x}}, {\frac{\partial f}{\partial y}}, {\frac{\partial f}{\partial z}} \end{pmatrix} =\frac{\partial f}{\partial x} \mathbf{i} + \frac{\partial f}{\partial y} \mathbf{j} + \frac{\partial f}{\partial z} \mathbf{k}$。

i, j, k 为标准的单位向量，分别指向 x, y 跟 z 座标的方向。

（参看偏导数和向量。）

虽然使用坐标表达，但结果是在正交变换下不变，从几何的观点来看，这是应该的。

举例来讲，函数$f(x,y,z)=2x+3y^2-\sin (z)$的梯度为：

$\nabla f = \begin{pmatrix} {2}, <pre> {6y}, {-\cos (z)} </pre> \end{pmatrix} =2\mathbf{i}+ 6y\mathbf{j} -\cos(z)\mathbf{k}$。

### 圆柱坐标系

在圆柱坐标系中，$f$ 的梯度为：

$\nabla f(\rho, \varphi, z) = \frac{\partial f}{\partial \rho}\mathbf{e}_\rho + \frac{1}{\rho}\frac{\partial f}{\partial \varphi}\mathbf{e}_\varphi + \frac{\partial f}{\partial z}\mathbf{e}_z$。

ρ 是 P 点与 z-轴的垂直距离。

φ 是线 OP 在 xy-面的投影线与正 x-轴之间的夹角。

z 与直角坐标的 $z$ 等值。

eρ, eφ 跟 ez 为单位向量，指向座标的方向。

### 球坐标系

在球坐标系中：

$\nabla f(r, \theta, \varphi) = \frac{\partial f}{\partial r}\mathbf{e}_r + \frac{1}{r}\frac{\partial f}{\partial \theta}\mathbf{e}_\theta + \frac{1}{r \sin\theta}\frac{\partial f}{\partial \varphi}\mathbf{e}_\varphi$。

其中θ为极角，φ方位角。

## 实值函数相对于向量和矩阵的梯度

相对于n×1向量x的梯度算子记作$\nabla_{\boldsymbol{x}}$，定义为

$$\nabla_{\boldsymbol{x}} \overset{\underset{\mathrm{def}}{}}{=} \left[ \frac{\partial }{\partial x_1}, \frac{\partial }{\partial x_2},\cdots,\frac{\partial }{\partial x_n} \right]^T=\frac{\partial }{\partial \boldsymbol{x}}$$

### 对向量的梯度

以n×1实向量x为变元的实标量函数f(x)相对于x的梯度为一n×1列向量x，定义为

$$\nabla_{\boldsymbol{x}} f(\boldsymbol{x})\overset{\underset{\mathrm{def}}{}}{=} \left[ \frac{\partial f(\boldsymbol{x})}{\partial x_1}, \frac{\partial f(\boldsymbol{x})}{\partial x_2},\cdots,\frac{\partial f(\boldsymbol{x})}{\partial x_n} \right]^T=\frac{\partial f(\boldsymbol{x})}{\partial \boldsymbol{x}}$$

m维行向量函数$\boldsymbol{f}(\boldsymbol{x})=[f_1(\boldsymbol{x}),f_2(\boldsymbol{x}),\cdots,f_m(\boldsymbol{x})]$相对于n维实向量x的梯度为一n×m矩阵，定义为

$$\nabla_{\boldsymbol{x}} \boldsymbol{f}(\boldsymbol{x})\overset{\underset{\mathrm{def}}{}}{=} \begin{bmatrix} \frac{\partial f_1(\boldsymbol{x})}{\partial x_1} &\frac{\partial f_2(\boldsymbol{x})}{\partial x_1} & \cdots & \frac{\partial f_m(\boldsymbol{x})}{\partial x_1} \\ \frac{\partial f_1(\boldsymbol{x})}{\partial x_2} &\frac{\partial f_2(\boldsymbol{x})}{\partial x_2} & \cdots & \frac{\partial f_m(\boldsymbol{x})}{\partial x_2} \\ \vdots &\vdots & \ddots & \vdots \\ \frac{\partial f_1(\boldsymbol{x})}{\partial x_n} &\frac{\partial f_2(\boldsymbol{x})}{\partial x_n} & \cdots &\frac{\partial f_m(\boldsymbol{x})}{\partial x_n} \\ \end{bmatrix}=\frac{\partial \boldsymbol{f}(\boldsymbol{x})}{\partial \boldsymbol{x}}$$

### 对矩阵的梯度

标量函数$f(\boldsymbol{A})$相对于m×n实矩阵A的梯度为一m×n矩阵，简称梯度矩阵，定义为

$$\nabla_{\boldsymbol{A}} f(\boldsymbol{A})\overset{\underset{\mathrm{def}}{}}{=} \begin{bmatrix} \frac{\partial f(\boldsymbol{A})}{\partial a_{11}} &\frac{\partial f(\boldsymbol{A})}{\partial a_{12}} & \cdots & \frac{\partial f(\boldsymbol{A})}{\partial a_{1n}} \\ \frac{\partial f(\boldsymbol{A})}{\partial a_{21}} &\frac{\partial f(\boldsymbol{A})}{\partial a_{22}} & \cdots & \frac{\partial f(\boldsymbol{A})}{\partial a_{2n}} \\ \vdots &\vdots & \ddots & \vdots \\ \frac{\partial f(\boldsymbol{A})}{\partial a_{m1}} &\frac{\partial f(\boldsymbol{A})}{\partial a_{m2}} & \cdots &\frac{\partial f(\boldsymbol{A})}{\partial a_{mn}} \\ \end{bmatrix}=\frac{\partial f(\boldsymbol{A})}{\partial \boldsymbol{A}}$$

### 法则

以下法则适用于实标量函数对向量的梯度以及对矩阵的梯度。

- 线性法则：若$f(\boldsymbol{A})$和$g(\boldsymbol{A})$分别是矩阵A的实标量函数，c1和c2为实常数，则
- $$\frac{\partial [c_1 f(\boldsymbol{A})+c_2 g(\boldsymbol{A})]}{\partial \boldsymbol{A}}=c_1\frac{\partial f(\boldsymbol{A})}{\partial \boldsymbol{A}}+c_2 \frac{\partial g(\boldsymbol{A})}{\partial \boldsymbol{A}}$$
- 乘积法则：若$f(\boldsymbol{A})$，$g(\boldsymbol{A})$和$h(\boldsymbol{A})$分别是矩阵A的实标量函数，则
- $$\frac{\partial f(\boldsymbol{A})g(\boldsymbol{A})}{\partial \boldsymbol{A}}=g(\boldsymbol{A})\frac{\partial f(\boldsymbol{A})}{\partial \boldsymbol{A}}+f(\boldsymbol{A}) \frac{\partial g(\boldsymbol{A})}{\partial \boldsymbol{A}}$$
- $$\frac{\partial f(\boldsymbol{A})g(\boldsymbol{A})h(\boldsymbol{A})}{\partial \boldsymbol{A}}=g(\boldsymbol{A})h(\boldsymbol{A})\frac{\partial f(\boldsymbol{A})}{\partial \boldsymbol{A}}+f(\boldsymbol{A})h(\boldsymbol{A})\frac{\partial g(\boldsymbol{A})}{\partial \boldsymbol{A}}+f(\boldsymbol{A})g(\boldsymbol{A})\frac{\partial h(\boldsymbol{A})}{\partial \boldsymbol{A}}$$
- 商法则：若$g(\boldsymbol{A})\neq 0$，则
- $$\frac{\partial f(\boldsymbol{A})/ g(\boldsymbol{A})}{\partial \boldsymbol{A}}=\frac{1}{g(\boldsymbol{A})^2} \left[ g(\boldsymbol{A})\frac{\partial f(\boldsymbol{A})}{\partial \boldsymbol{A}}-f(\boldsymbol{A}) \frac{\partial g(\boldsymbol{A})}{\partial \boldsymbol{A}} \right]$$
- 链式法则：若A为m×n矩阵，且$y=f(\boldsymbol{A})$和$g (y)$分别是以矩阵A和标量y为变元的实标量函数，则
- $$\frac{\partial g(f(\boldsymbol{A}))}{\partial \boldsymbol{A}}=\frac{d g (y)}{dy} \frac{\partial f(\boldsymbol{A})}{\partial \boldsymbol{A}}$$

## 流形上的梯度

一个黎曼流形$M$上的对于任意可微函数$f$的梯度$\nabla f$是一个向量场，使得对于每个向量 $\xi$。

$$\langle \nabla f, \xi \rangle := \xi f$$

其中$\langle \cdot, \cdot \rangle$代表$M$上的内积（度量）而$\xi f (p), p\in M$是$f$在点$p$，方向为$\xi (p)$的方向导数。换句话说，如果$\varphi :U\subseteq M\mapsto \mathbb{R}^n$为$p$附近的局部座标，在此座标下有$\xi (x)=\sum_j a_j (x)\frac{\partial}{\partial x_{j} }$,则$\xi f (p)$将成为：

$\xi(f \mid_{p}) := \sum_j a_j(\frac{\partial}{\partial x_{j} }(f \circ \varphi^{-1}) \mid_{\varphi (p)})$。

函数的梯度和外微分相关，因为$\xi f = df(\xi)$，实际上内积容许我们可以用一种标准的方式将1-形式$df$和向量场$\nabla f$建立联系。由$\nabla f$的定义，$df(\xi)=\langle \nabla f, \xi \rangle$，这样$f$的梯度可以"等同"于0-形式的外微分$df$，这里"等同"意味着：两集合$\{df \}$和$\{\nabla f \}$之间有1对1的满射。

由定义可算流形上$\nabla f$的局部座标表达式为：

$\nabla f=\sum_{ik} g^{ik}\frac{\partial f}{\partial x^{k}}\frac{\partial}{\partial x^{i}}$。

请注意这是流形上对黎曼度量 $ds^2=\sum_{ij}g_{ij}dx^i dx^j$的公式，跟$\mathbb{R}^n$ 里直角座标的公式不同。常常我们写时会省略求和$\sum$符号，不过为了避免混淆，在这里的公式还是加上去了。