5.2 外微分 \(d\) :統一 grad、curl、div 的神奇算子#
本節目標#
- 認識外微分算子 \(d\) :從 \(k\) -form 到 \((k+1)\) -form 的微分
- 理解它的招牌性質 \(d^2 = 0\) (微兩次等於零)
- 建立 0-form 到 3-form 的完整表格,看懂 gradient / curl / divergence 只是它在不同樓層的化名
- 學會 閉形式( \(d\omega = 0\) )與 恰當形式( \(\omega = d\alpha\) )的區別與關係
- 動手實驗:用 SymPy 對一個向量場算 \(d\) ,檢驗封閉性
動機:三種微分,其實是同一件事#
第 3 章我們學了三套微分:
- 梯度 \(\nabla f\) :從函數變向量場
- 旋度 \(\nabla \times F\) :從向量場變向量場
- 散度 \(\nabla \cdot F\) :從向量場變函數
三者長得像,卻又 「剛好」長得像。問一個尖銳的問題:為什麼是這三種,而且剛好沒有第四種?
微分形式給出驚人的答案:其實只有 一個 微分算子 \(d\) 。它沿著形式的階梯往上爬一層:
爬到屋頂之上(3 維中的 4-form)就沒了,因為 \(dx \wedge dy \wedge dz \wedge \text{任何東西}\) 必然為零。三維世界裡只有三層樓,所以 grad、curl、div 只有三個化名 —— 這不是巧合,是 空間維度的必然。
\(d\) 的定義#
設 \(\omega = P\,dx + Q\,dy + R\,dz\) 是一個 1-form。它的外微分是:
其中 \(dP\) 就是偏導數的組合: \(dP = P_x \, dx + P_y \, dy + P_z \, dz\) 。用反對稱展開後:
注意那三個係數 —— 正是 curl \(\nabla \times F\) 的三個分量!
揭露規則: \(d\) 就像把 \(\nabla\) 派去楔積一邊,然後靠反對稱「消滅多餘的項」。楔積的自動組裝,正是外微分最省力的地方。
\(d^2 = 0\) :微兩次必歸零#
外微分的招牌性質:
直覺:混合偏導數可交換( \(f_{xy} = f_{yx}\) ),而楔積反對稱。兩者相遇,凡有重複方向的項全部互相抵消。
以 0-form \(f\) 為例:
每一項都長成「偏導數差」的樣子,而可交換性使它們成對湮滅。
類比:想像 \(d\) 是一支電梯,每按一次上升一層。而「微兩次」這個動作,在 3 維屋子裡就意味著「按兩次後偶爾抵消」—— 但事實上它 永遠 抵消,不只在頂樓之外。接下來第 5.4 節會看到: \(\partial\partial M = \varnothing\) (邊界沒有邊界)就是 \(d^2 = 0\) 的幾何倒影。
統一對照表#
| 作用對象 | \(d\) 的化名 | 經典算子 | \(form\) 的上升 |
|---|---|---|---|
| \(0\) -form \(f\) | gradient | \(\nabla f\) | \(1\) -form \(df = f_x dx + f_y dy + f_z dz\) |
| \(1\) -form \(F \cdot dr\) | curl | \(\nabla \times F\) | \(2\) -form(三係數 = curl 分量) |
| \(2\) -form \(F \cdot dS\) | divergence | \(\nabla \cdot F\) | \(3\) -form(係數 = div) |
| \(3\) -form | — | 無 | \(4\) -form \(= 0\) (屋頂之上) |
一句話統一:grad、curl、div 都是同一個 \(d\) 在不同樓層的表演;反過來讀,梯度對應「函數的微分」,旋度對應「功形式的微分」,散度對應「通量形式的微分」。第 5.3 節將用 Hodge 星號 \(*\) 把這條階梯再摺疊一次,讓 curl 和 div 看起來完全一樣。
閉形式與恰當形式#
外微分讓兩個重要的概念水到渠成:
- 閉形式: \(d\omega = 0\)
- 恰當形式:存在 \(\alpha\) 使 \(\omega = d\alpha\)
因為 \(d^2 = 0\) ,我們有 恰當 \(\Rightarrow\) 閉(若 \(\omega = d\alpha\) 則 \(d\omega = d^2\alpha = 0\) )。這個方向總是成立的 —— 它就是「field 到勢場的 curl 為零(無旋)」與「場到勢場的 div 為零(無源)」的統一敘述。
但 閉 \(\Rightarrow\) 恰當 不總是成立!經典反例:在去掉原點的平面上
它是閉的(直接驗證 \(d\omega = 0\) ),卻不是任何 \(\alpha = d f\) 的全微分 —— 勢函數繞原點一圈會「多長出 \(2\pi\) 」。這是 拓撲(洞)透過微積分現身的經典例子,也是第 6 章流形與 de Rham 理論的暖場。
SymPy 實戰:diffgeom 的 Differential 就是 \(d\)#
from sympy.diffgeom.rn import R2, R3
# 0-form → 1-form:gradient
f = R3.x**2 * R3.y + R3.z**3
df = Differential(f)
print(df) # Differential(x**2*y + z**3)
# 1-form → 2-form:curl(形式版)
from sympy.diffgeom import WedgeProduct
dx, dy, dz = R3.base_oneforms()
w1 = R3.y * dx - R3.x * dy # 例:F = (y, -x, 0) 的功形式
dw1 = Differential(w1)
print(dw1(Differential(R3.x), Differential(R3.y))) # 交給基底向量場讀係數
讀係數最直接的方法是把 2-form 作用到基底向量場上:
ex, ey, ez = R3.base_vectors()
from sympy import simplify
c1 = simplify(Differential(w1)(ex, ey)) # 對應 dx∧dy 的係數
c2 = simplify(Differential(w1)(ey, ez)) # 對應 dy∧dz 的係數
c3 = simplify(Differential(w1)(ez, ex)) # 對應 dz∧dx 的係數
print(c1, c2, c3)
# 這三個數正是 curl (y, -x, 0) 的分量(帶符號規約)
動手實驗:檢驗封閉性#
考慮兩個 1-form:
- \(\omega_1 = x^2 \, dx + y^2 \, dy\) (猜測:恰當,因為 \(f = \frac{x^3 + y^3}{3}\) 的 \(df\) 就是它)
- \(\omega_2 = -y \, dx + x \, dy\) (繞原點的環流形式,檢驗是否閉)
from sympy.diffgeom.rn import R2
from sympy.diffgeom import Differential, WedgeProduct
from sympy import simplify
dx2, dy2 = R2.base_oneforms()
ex2, ey2 = R2.base_vectors()
def two_form_coeff(w, v1, v2):
# 讀 2-form 在(指定順序的)基底上的係數
return simplify(w(v1, v2))
# ω1 的外微分
w1 = R2.x**2 * dx2 + R2.y**2 * dy2
d1 = Differential(w1)
print(two_form_coeff(d1, ex2, ey2))
# 0 —— ω1 是閉形式,且實際上等於 d(x³/3 + y³/3),因此恰當 ✅
# ω2 的外微分
w2 = -R2.y * dx2 + R2.x * dy2
d2 = Differential(w2)
print(two_form_coeff(d2, ex2, ey2))
# 2 —— ω2 不是閉形式!∎(dω₂ = 2 dx∧dy,環流場有旋)
# 驗證恰當性:找到 f 使 df = ω1
from sympy import Function, diff, Integral
f = R2.x**3/3 + R2.y**3/3
Df = Differential(f)
print(simplify(Df(ex2))) # x² ✔(ω1 的 dx 係數)
print(simplify(Df(ey2))) # y² ✔(ω1 的 dy 係數)
觀察重點: 1.
$\omega_1$ 恰當 ⟹ 閉:Differential 外差出的係數是 $0$ 。 2.$\omega_2$ 不閉: $d$ 的係數是 \(2\) —— 這正是經典座標下 \(\nabla \times (-y, x, 0) = (0, 0, 2)\) 。 3. 一個程式定則:想知道 \(d\omega\) 的係數,就把Differential(ω)作用在基底向量場的成對排列上。
小結與練習#
小結
- 外微分 \(d\) 是一個統一算子: \(0 \to 1\) (grad)、 \(1 \to 2\) (curl 級)、 \(2 \to 3\) (div 級)。
- \(d^2 = 0\) 來自「偏導可交換」與「楔積反對稱」的完美配合。
- 閉形式( \(d\omega = 0\) )不一定是恰當形式( \(\omega = d\alpha\) )—— 拓撲會擋路。
- SymPy 中,
Differential就是 \(d\) ;把結果作用在基底向量場上即讀出經典分量。
練習
- 在
R3中取 \(\omega = P\,dx + Q\,dy + R\,dz\) ,其中 \(P = yz\) 、 \(Q = xz\) 、 \(R = xy\) 。用Differential計算 \(d\omega\) 的三個係數,並與 \(\nabla\times(P,Q,R)\) 對照。 - 證明 \(\omega = e^y \, dx + x e^y \, dy\) 在 \(\mathbb{R}^2\) 上是恰當形式,並求出它的勢函數。
- (挑戰)用 SymPy 在 \(\mathbb{R}^2 \setminus \{0\}\) 上驗證 \(\omega = \frac{-y \, dx + x \, dy}{x^2+y^2}\) 是閉的;再用手算論證:任何 \(f\) 若 \(df = \omega\) ,沿單位圓積分一圈會得到矛盾。