1926 - Cartan 活動標架(把幾何「逐點」計算的機器)#
案件摘要#
1926 年,Élie Cartan(1869–1951) 發表《活動標架方法及其一般理論》 (Sur les variétés à connexion affine et la théorie de la relativité généralisée), 把 Darboux 的活動標架(moving frames)方法推廣到李群與纖維叢:
這是嘉當幾何(Cartan geometry)的誕生—— 它把 Klein 的 Erlangen 綱領(1872)與 Riemann 的內在幾何(1854)統一起來:
前因 -- 為什麼會有這個案子#
- Darboux 的活動標架(1887–1896): Gaston Darboux(Darboux 定理的提出者)在《曲面一般理論教程》中用 活動標架研究曲面:在每個點上貼一組「切向量 + 法向量」, 標架如何隨點移動,就編碼了曲面的全部幾何資訊:
- Frenet–Serret 公式(1847/1851):
曲率 \(\kappa\) 與撓率 \(\tau\) ** 完全決定空間曲線的形狀 (「唯一性定理」:同 \(\kappa, \tau\) 的曲線只差剛體運動)。 - Cartan 的兩個推廣(1904–1926): 1. 外微分形式(1899):Cartan 把微積分推廣到反對稱張量(微分形式), 發明 \(d\) (外微分): \(d^2 = 0\) ; 2. 活動標架 + 李群(1926):把標架的移動規則用李群的 Maurer–Cartan 方程**寫出。 - Maurer–Cartan 方程(1889/1904): 李群的結構常數 \(\omega^i\) 滿足:
這是「李群 = 幾何」的橋樑——群的結構完全由微分形式編碼。
線索與推理 -- 數學式、程式、理論#
第一條線索:嘉當幾何的統一(Klein + Riemann)#
Klein(1872):幾何 = 同質空間 + 變換群(全域對稱); Riemann(1854):幾何 = 逐點度規(逐點曲率); Cartan(1926):逐點地貼上 Klein 的同質模型:
- 例子:
- 歐氏幾何 = Klein 的 \(\mathbb{R}^n\) (曲率 = 0);
- 球面幾何 = Klein 的 \(S^n\) (曲率 > 0);
- 黎曼幾何 = 嘉當幾何的特例(模型 = 歐氏空間,曲率任意)。
第二條線索:聯絡與曲率的形式語言#
聯絡 1-形式 \(\omega\) 與曲率 2-形式 \(\Omega\) :
Bianchi 恆等式:
- 曲率 = 聯絡的「不一致性」:平行移動繞一圈的旋轉量。
- 這是 Riemann 曲率張量的形式化——比座標計算簡潔得多。
第三條線索:Cartan 的物理應用(1916–1929)#
- Einstein–Cartan 理論(1922):Cartan 把撓率(torsion)加進廣義相對論:
撓率與粒子的自旋(spin)耦合——這是現代「重力 + 量子」的橋樑之一。 - Weyl 規範理論的呼應(1918/1929): Cartan 的聯絡與 Weyl 的規範場是同一個數學概念(纖維叢上的聯絡) (見「1918-外爾規範理論.md」)。
Python:Frenet 公式與活動標架的數值驗證#
import numpy as np
# 1) Frenet–Serret 公式:空間曲線的活動標架
def curve(t):
"""一條空間曲線:圓螺旋"""
return np.array([np.cos(t), np.sin(t), 0.1*t])
def frenet_frame(t, h=1e-5):
"""數值計算 Frenet 標架(T, N, B)與曲率 κ、撓率 τ"""
r = curve(t)
rp = (curve(t+h) - curve(t-h)) / (2*h)
rpp = (curve(t+h) - 2*curve(t) + curve(t-h)) / h**2
T = rp / np.linalg.norm(rp)
B = np.cross(rp, rpp)
B = B / np.linalg.norm(B)
N = np.cross(B, T)
kappa = np.linalg.norm(np.cross(rp, rpp)) / np.linalg.norm(rp)**3
# 撓率 τ = (r' × r'') · r''' / |r' × r''|²
rppp = (curve(t+2*h) - 2*curve(t+h) + 2*curve(t-h) - curve(t-2*h)) / (2*h**3)
tau = np.dot(np.cross(rp, rpp), rppp) / np.linalg.norm(np.cross(rp, rpp))**2
return T, N, B, kappa, tau
print("Frenet 標架與曲率/撓率(圓螺旋):")
print(" 圓螺旋理論值:κ = R/(R²+c²) ≈ 1/(1+0.01) ≈ 0.990,τ = c/(R²+c²) ≈ 0.099")
for t in [0.0, 1.0, 2.0]:
T, N, B, kappa, tau = frenet_frame(t)
print(f" t={t}: κ = {kappa:.4f}, τ = {tau:.4f}")
print(" → κ、τ 近似恆定(圓螺旋的特徵;τ 的微小漂移來自數值微分精度)\n")
# 2) 標架的正交性驗證(T·N = T·B = N·B = 0)
print("Frenet 標架正交性:")
T, N, B, kappa, tau = frenet_frame(0.5)
print(f" T·N = {T@N:.2e}, T·B = {T@B:.2e}, N·B = {N@B:.2e}(應 ≈ 0)")
print(f" |T| = {np.linalg.norm(T):.6f}, |N| = {np.linalg.norm(N):.6f}, |B| = {np.linalg.norm(B):.6f}\n")
# 3) Frenet 公式驗證:T' = -κN
def T_prime(t, h=1e-5):
T1, _, _, _, _ = frenet_frame(t+h)
T0, _, _, _, _ = frenet_frame(t-h)
return (T1 - T0) / (2*h)
Tp = T_prime(0.5)
print("Frenet 公式驗證(T' = κN,對弧長參數):")
print(f" 數值 T' ≈ [{Tp[0]:.3f}, {Tp[1]:.3f}, {Tp[2]:.3f}]")
print(f" κN ≈ [{kappa*N[0]:.3f}, {kappa*N[1]:.3f}, {kappa*N[2]:.3f}]")
print(f" 誤差 ≈ {np.linalg.norm(Tp - kappa*N):.3f}(應 ≈ 0;殘差來自參數 t 與弧長 s 的 1.005 倍差異)\n")
Frenet 標架與曲率/撓率(圓螺旋):
圓螺旋理論值:κ = R/(R²+c²) ≈ 1/(1+0.01) ≈ 0.990,τ = c/(R²+c²) ≈ 0.099
t=0.0: κ = 0.9901, τ = 0.0990
t=1.0: κ = 0.9901, τ = 0.0985
t=2.0: κ = 0.9901, τ = 0.1058
→ κ、τ 近似恆定(圓螺旋的特徵;τ 的微小漂移來自數值微分精度)
Frenet 標架正交性:
T·N = 1.88e-17, T·B = 1.39e-17, N·B = 2.36e-18(應 ≈ 0)
|T| = 1.000000, |N| = 1.000000, |B| = 1.000000
Frenet 公式驗證(T' = κN,對弧長參數):
數值 T' ≈ [-0.873, -0.477, -0.000]
κN ≈ [-0.869, -0.475, -0.000]
誤差 ≈ 0.005(應 ≈ 0;殘差來自參數 t 與弧長 s 的 1.005 倍差異)
理論與數學式:Maurer–Cartan 方程#
活動標架的結構方程(Cartan, 1926):
其中 \(C^i_{jk}\) 是李群的結構常數:
| 李群 | 結構常數 | 結構方程 |
|---|---|---|
| SO(2)(阿貝爾) | \(C = 0\) | \(d\omega = 0\) ( \(d^2 = 0\) 的必然) |
| SO(3)(非阿貝爾) | \(C^i_{jk} = \epsilon_{ijk}\) (Levi-Civita 符號) | \(d\omega^i = -\frac{1}{2}\epsilon_{ijk}\,\omega^j \wedge \omega^k \ne 0\) |
活動標架 = 把幾何寫成微分形式的代數——Cartan 之後,聯絡、曲率、規範場 全部收進「形式 + 外微分」的語言(與 Weyl 的規範場是同一個概念, 見「1918-外爾規範理論.md」)。
結案 -- 後果與影響#
- 嘉當幾何的統一(1926):
這是「幾何學的第二次大統一」(第一次是 Klein 1872 的 Erlangen 綱領)。 - 微分形式與外代數(1899–): Cartan 的外微分形式成為現代微分幾何的標準語言: - de Rham 上同調(1931):微分形式的拓樸不變量——
- Hodge 理論(1940s):微分形式 + 調和分析——每一個上同調類有唯一的調和代表。
- 陳類(1944):曲率形式的拓樸不變量(見「1918-外爾規範理論.md」)。
- 物理學的應用(1922–):
- Einstein–Cartan 理論(1922):撓率 + 曲率——自旋與重力的耦合;
- Dirac 旋量(1928):Cartan 1913 年發現的旋量表示(spinor representation) 成為 Dirac 方程的數學基礎——Cartan 預言了反物質的數學結構;
- 規範場論(1954–):Yang–Mills 的場強就是聯絡的曲率—— Cartan 結構方程 \(\Omega = d\omega + \omega\wedge\omega\) 就是 Yang–Mills 的 \(F_{\mu\nu}\) 公式。
- Chern 的繼承(1944–): 陳省身(Shiing-Shen Chern)把 Cartan 的方法發揚光大:
- Gauss–Bonnet 的內在證明(1944):用微分形式 + 聯絡;
- 陳類(1944–1946):複纖維叢的拓樸不變量;
- Chern–Simons 理論(1974):3 維的拓樸場論—— 成為量子計算(拓樸量子位元)的理論基礎。
- 現代應用(2000s–):
- 機器人學:活動標架是機器人運動學的基礎(剛體的 SE(3) 群);
- 計算機視覺:相機的位姿估計用 SE(3) 與李群;
- 機器學習:等變網路(equivariant networks)—— 網路對旋轉/平移的對稱性用李群編碼。
- 歷史定位:Cartan 是「把幾何變成可計算的機器」的工程師—— 他發明的語言(微分形式、聯絡、活動標架)是現代微分幾何與規範場論的共同基礎。
關鍵人物與文獻#
- É. Cartan:Sur les variétés à connexion affine(1926);Leçons sur la géométrie des espaces de Riemann(1928);外微分(1899);旋量(1913)。
- G. Darboux:Leçons sur la théorie générale des surfaces(1887–1896)——活動標架。
- J. F. Frenet:Frenet 公式(1847);J. A. Serret(1851)。
- L. Maurer & É. Cartan:Maurer–Cartan 方程(1889/1904)。
- S. S. Chern:On integral geometry in curved spaces(1942);陳類(1944);Chern–Simons(1974)。
- É. Cartan & A. Einstein:Einstein–Cartan 理論(1922)——撓率與自旋。
- 相關案件:
1854-黎曼幾何.md、1918-外爾規範理論.md、1908-閔考斯基時空.md、1868-貝特拉米偽球面.md。