CCG 00-08:偏导、梯度与 Jacobian——多维函数的局部地图

本课只解决一个问题

一个二维到二维的变形,在某一点附近究竟怎样拉伸和旋转?

一元函数用一个导数描述局部变化;多元函数需要偏导、梯度和 Jacobian 矩阵。

1. 偏导:一次只改变一个输入

设

f(x,y)=x2+3xy+y2.f(x,y)=x^2+3xy+y^2.

对xx 求偏导时把yy 暂时当常数:

∂f∂x=2x+3y.\frac{\partial f}{\partial x}=2x+3y.

对yy 求偏导:

∂f∂y=3x+2y.\frac{\partial f}{\partial y}=3x+2y.

符号∂\partial 用来提醒我们:函数有多个输入,只改变其中一个。

2. 梯度收集所有坐标方向变化率

标量函数f:Rn→Rf:\mathbb R^n\to\mathbb R 的梯度是

∇f=(∂f/∂x1⋮∂f/∂xn).\nabla f= \begin{pmatrix} \partial f/\partial x_1\\ \vdots\\ \partial f/\partial x_n \end{pmatrix}.

上例在点(1,2)(1,2):

∇f(1,2)=(2+63+4)=(87).\nabla f(1,2)= \begin{pmatrix}2+6\\3+4\end{pmatrix} =\begin{pmatrix}8\\7\end{pmatrix}.

3. 方向导数从梯度得到

沿单位方向vv 走小步hh,一阶变化为

f(x+hv)−f(x)≈h∇f(x)⋅v.f(x+hv)-f(x)\approx h\nabla f(x)\cdot v.

因此方向导数是

Dvf=∇f⋅v.D_vf=\nabla f\cdot v.

由 Cauchy–Schwarz 不等式,单位向量中取v=∇f/∥∇f∥v=\nabla f/\|\nabla f\| 时该值最大,所以梯度指向增长最快方向。

4. 多输出函数需要 Jacobian

考虑

F(x,y)=(F1(x,y)F2(x,y))=(x2−yx+2y).F(x,y)= \begin{pmatrix} F_1(x,y)\\F_2(x,y) \end{pmatrix} = \begin{pmatrix} x^2-y\\x+2y \end{pmatrix}.

Jacobian 矩阵把所有一阶偏导排在一起:

JF(x,y)=(∂F1/∂x∂F1/∂y∂F2/∂x∂F2/∂y)=(2x−112).J_F(x,y)= \begin{pmatrix} \partial F_1/\partial x&\partial F_1/\partial y\\ \partial F_2/\partial x&\partial F_2/\partial y \end{pmatrix} = \begin{pmatrix} 2x&-1\\1&2 \end{pmatrix}.

在(1,0)(1,0) 处,JF=(2−112)J_F=\begin{pmatrix}2&-1\\1&2\end{pmatrix}。

5. Jacobian 是最佳局部线性映射

对很小的位移h∈R2h\in\mathbb R^2:

F(p+h)≈F(p)+JF(p)h.F(p+h)\approx F(p)+J_F(p)h.

所以非线性变形FF 在每一点附近,都由一个矩阵JF(p)J_F(p) 描述。这个矩阵回答:

  • 小方向被送到哪里;
  • 长度如何改变;
  • 角度是否保持;
  • 面积缩放与方向是否翻转。

这正是计算共形几何检查局部畸变的核心。

6. 从 Jacobian 读面积和翻转

二维映射的局部有向面积缩放为

det⁡JF.\det J_F.

  • det⁡JF>0\det J_F>0:局部保持方向;
  • det⁡JF<0\det J_F<0:局部翻转;
  • det⁡JF=0\det J_F=0:局部压扁,不能局部求逆。

上例在(1,0)(1,0):

det⁡JF=2⋅2−(−1)⋅1=5>0.\det J_F=2\cdot2-(-1)\cdot1=5>0.

7. 局部保角的矩阵条件

若FF 在点pp 附近保角,则 Jacobian 必须是“统一缩放乘旋转”:

JF(p)TJF(p)=λ(p)2I.J_F(p)^TJ_F(p)=\lambda(p)^2I.

也就是说,Jacobian 的两列必须:

  1. 互相垂直;
  2. 长度相同。

这比“看起来没有扭曲”精确得多。

8. 多维链式法则

若先做FF 再做GG,则

JG∘F(x)=JG(F(x))JF(x).J_{G\circ F}(x)=J_G(F(x))J_F(x).

右侧顺序与矩阵复合一致:右边的JFJ_F 先作用。坐标变换、参数化和度量拉回都依赖这条规则。

9. 手算例子:非均匀缩放

F(x,y)=(2x,y).F(x,y)=(2x,y).

Jacobian 到处都是

JF=(2001).J_F=\begin{pmatrix}2&0\\0&1\end{pmatrix}.

其列互相垂直,但长度分别为22 和11,不相等。因此它保持坐标轴夹角,却不保持所有方向之间的角,故不是共形映射。

10. 常见误区

  1. 梯度只用于标量输出;多输出函数使用 Jacobian。
  2. 偏导都存在不总能保证函数可微,还需要适当连续性条件。
  3. det⁡J>0\det J>0 只说明没有局部翻转,不说明保角。
  4. Jacobian 描述一点附近,不代表整个区域使用同一个矩阵。

11. 自测与答案

题 1。 求f(x,y)=x2+y2f(x,y)=x^2+y^2 在(3,4)(3,4) 的梯度。

答案。∇f=(2x,2y)T=(6,8)T\nabla f=(2x,2y)^T=(6,8)^T。

题 2。F(x,y)=(x−y,x+y)F(x,y)=(x-y,x+y) 的 Jacobian 是什么?

答案。(1−111)\begin{pmatrix}1&-1\\1&1\end{pmatrix}。

题 3。 上题映射是否局部保角?

答案。 两列垂直且长度都为2\sqrt2,所以JTJ=2IJ^TJ=2I,是旋转加统一缩放,保角。

前后课程

上一课:导数与线性近似 | 下一课:积分与面积