本课只解决一个问题
一个二维到二维的变形,在某一点附近究竟怎样拉伸和旋转?
一元函数用一个导数描述局部变化;多元函数需要偏导、梯度和 Jacobian 矩阵。
1. 偏导:一次只改变一个输入
设
f(x,y)=x2+3xy+y2.
对x 求偏导时把y 暂时当常数:
∂x∂f=2x+3y.
对y 求偏导:
∂y∂f=3x+2y.
符号∂ 用来提醒我们:函数有多个输入,只改变其中一个。
2. 梯度收集所有坐标方向变化率
标量函数f:Rn→R 的梯度是
∇f=∂f/∂x1⋮∂f/∂xn.
上例在点(1,2):
∇f(1,2)=(2+63+4)=(87).
3. 方向导数从梯度得到
沿单位方向v 走小步h,一阶变化为
f(x+hv)−f(x)≈h∇f(x)⋅v.
因此方向导数是
Dvf=∇f⋅v.
由 Cauchy–Schwarz 不等式,单位向量中取v=∇f/∥∇f∥ 时该值最大,所以梯度指向增长最快方向。
4. 多输出函数需要 Jacobian
考虑
F(x,y)=(F1(x,y)F2(x,y))=(x2−yx+2y).
Jacobian 矩阵把所有一阶偏导排在一起:
JF(x,y)=(∂F1/∂x∂F2/∂x∂F1/∂y∂F2/∂y)=(2x1−12).
在(1,0) 处,JF=(21−12)。
5. Jacobian 是最佳局部线性映射
对很小的位移h∈R2:
F(p+h)≈F(p)+JF(p)h.
所以非线性变形F 在每一点附近,都由一个矩阵JF(p) 描述。这个矩阵回答:
- 小方向被送到哪里;
- 长度如何改变;
- 角度是否保持;
- 面积缩放与方向是否翻转。
这正是计算共形几何检查局部畸变的核心。
6. 从 Jacobian 读面积和翻转
二维映射的局部有向面积缩放为
detJF.
- detJF>0:局部保持方向;
- detJF<0:局部翻转;
- detJF=0:局部压扁,不能局部求逆。
上例在(1,0):
detJF=2⋅2−(−1)⋅1=5>0.
7. 局部保角的矩阵条件
若F 在点p 附近保角,则 Jacobian 必须是“统一缩放乘旋转”:
JF(p)TJF(p)=λ(p)2I.
也就是说,Jacobian 的两列必须:
- 互相垂直;
- 长度相同。
这比“看起来没有扭曲”精确得多。
8. 多维链式法则
若先做F 再做G,则
JG∘F(x)=JG(F(x))JF(x).
右侧顺序与矩阵复合一致:右边的JF 先作用。坐标变换、参数化和度量拉回都依赖这条规则。
9. 手算例子:非均匀缩放
F(x,y)=(2x,y).
Jacobian 到处都是
JF=(2001).
其列互相垂直,但长度分别为2 和1,不相等。因此它保持坐标轴夹角,却不保持所有方向之间的角,故不是共形映射。
10. 常见误区
- 梯度只用于标量输出;多输出函数使用 Jacobian。
- 偏导都存在不总能保证函数可微,还需要适当连续性条件。
- detJ>0 只说明没有局部翻转,不说明保角。
- Jacobian 描述一点附近,不代表整个区域使用同一个矩阵。
11. 自测与答案
题 1。 求f(x,y)=x2+y2 在(3,4) 的梯度。
答案。∇f=(2x,2y)T=(6,8)T。
题 2。F(x,y)=(x−y,x+y) 的 Jacobian 是什么?
答案。(11−11)。
题 3。 上题映射是否局部保角?
答案。 两列垂直且长度都为2,所以JTJ=2I,是旋转加统一缩放,保角。
前后课程
上一课:导数与线性近似 | 下一课:积分与面积
许可协议:CC BY
作者:Davids
本文链接:https://hustjjd.github.io/ccg/00-08-multivariable/
更新于:2026年10月12日