跳轉到

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\) 。它沿著形式的階梯往上爬一層:

\[ 0\text{-form} \xrightarrow{d} 1\text{-form} \xrightarrow{d} 2\text{-form} \xrightarrow{d} 3\text{-form} \xrightarrow{d} (3+1)\text{-form} = 0 \]

爬到屋頂之上(3 維中的 4-form)就沒了,因為 \(dx \wedge dy \wedge dz \wedge \text{任何東西}\) 必然為零。三維世界裡只有三層樓,所以 grad、curl、div 只有三個化名 —— 這不是巧合,是 空間維度的必然。

\(d\) 的定義#

設 \(\omega = P\,dx + Q\,dy + R\,dz\) 是一個 1-form。它的外微分是:

\[ d\omega = dP \wedge dx + dQ \wedge dy + dR \wedge dz \]

其中 \(dP\) 就是偏導數的組合: \(dP = P_x \, dx + P_y \, dy + P_z \, dz\) 。用反對稱展開後:

\[ d\omega = \left( \frac{\partial R}{\partial y} - \frac{\partial Q}{\partial z} \right) dy \wedge dz + \left( \frac{\partial P}{\partial z} - \frac{\partial R}{\partial x} \right) dz \wedge dx + \left( \frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y} \right) dx \wedge dy \]

注意那三個係數 —— 正是 curl \(\nabla \times F\) 的三個分量!

揭露規則: \(d\) 就像把 \(\nabla\) 派去楔積一邊,然後靠反對稱「消滅多餘的項」。楔積的自動組裝,正是外微分最省力的地方。

\(d^2 = 0\) :微兩次必歸零#

外微分的招牌性質:

\[ d^2 = 0 \]

直覺:混合偏導數可交換( \(f_{xy} = f_{yx}\) ),而楔積反對稱。兩者相遇,凡有重複方向的項全部互相抵消。

以 0-form \(f\) 為例:

\[ d^2 f = d(df) = d(f_x \, dx + f_y \, dy + f_z \, dz) = \cdots = (f_{xy} - f_{yx}) \, dx \wedge dy + \cdots = 0 \]

每一項都長成「偏導數差」的樣子,而可交換性使它們成對湮滅。

類比:想像 \(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\) 恰當 不總是成立!經典反例:在去掉原點的平面上

\[ \omega = \frac{-y \, dx + x \, dy}{x^2 + y^2} \]

它是閉的(直接驗證 \(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\) ;把結果作用在基底向量場上即讀出經典分量。

練習

  1. 在 R3 中取 \(\omega = P\,dx + Q\,dy + R\,dz\) ,其中 \(P = yz\) 、 \(Q = xz\) 、 \(R = xy\) 。用 Differential 計算 \(d\omega\) 的三個係數,並與 \(\nabla\times(P,Q,R)\) 對照。
  2. 證明 \(\omega = e^y \, dx + x e^y \, dy\) 在 \(\mathbb{R}^2\) 上是恰當形式,並求出它的勢函數。
  3. (挑戰)用 SymPy 在 \(\mathbb{R}^2 \setminus \{0\}\) 上驗證 \(\omega = \frac{-y \, dx + x \, dy}{x^2+y^2}\) 是閉的;再用手算論證:任何 \(f\) 若 \(df = \omega\) ,沿單位圓積分一圈會得到矛盾。