2020s — 複分析與現代計算#
案件摘要#
二十一世紀的今天,複變函數論不再是純數學的象牙塔:FFT 靠複數根把訊號處理的速度提升到 \(O(n\log n)\) ;共形映射在地圖投影與圖學中把「不變形」變成可計算的問題;Riemann zeta 函數 \(\zeta(s) = \sum n^{-s}\) 的臨界線 \(\Re(s) = 1/2\) 依然守著質數分布最深的秘密;解析函數 \(\phi + i\psi\) 還是流體力學、電磁學、量子力學的計算引擎。兩百年累積的偵查技術,已成為整個 STEM 的基礎設施。
前因 -- 為什麼會有這個案子#
- 1811–1814 年 Cauchy 建立複積分理論: \(\oint_\gamma f(z)\,dz = 0\) (閉曲線上解析函數的積分為零)、Cauchy 積分公式把內部值由邊界值決定——「邊界決定一切」從此成為複分析的 DNA。
- 1851 年 Riemann 博士論文提出共形映射的 Riemann 映射定理:任何單連通域都共形等價於單位圓盤——「不變形」在數學上總是可能的。
- 1859 年 Riemann 論文〈論小於給定值的質數個數〉:質數分布由 \(\zeta(s)\) 的零點決定,臨界線 \(\Re(s) = 1/2\) 上的假設至今未解——史上最著名的懸案(Riemann 假設)。
- 1965 年 Cooley–Tukey 的 FFT 算法:用複數單位根的對稱性把 DFT 從 \(O(n^2)\) 降到 \(O(n\log n)\) ——複分析的舊理論被數值計算重新激活。
線索與推理 -- 數學式、程式、理論#
線索一:FFT 與複數運算#
離散傅立葉變換(DFT)定義為:
核心是 \(n\) 次單位根 \(\omega_n = e^{-2\pi i/n}\) 。FFT 的關鍵:把奇偶項分開,
遞迴下去得 \(T(n) = 2T(n/2) + O(n) = O(n\log n)\) 。複數的對稱性 \(\omega_n^{j+n/2} = -\omega_n^j\) 是加速的全部來源——沒有複數根,就沒有 FFT。今日每一段音訊、影像、通訊訊號的處理,背後都是 Cauchy 時代的複指數函數 \(e^{iz} = \cos z + i\sin z\) 。
線索二:共形映射在圖學與地圖投影#
解析函數 \(w = f(z)\) ( \(f' \ne 0\) )在每一點都是局部旋轉 + 縮放——保角、保形。這是地圖投影的核心需求:Mercator 投影把球面共形映射到平面(角度不變,羅盤航線是直線),代價是高緯度面積膨脹。現代數值方法把 Riemann 映射定理變成可計算的算法:
- Schwarz–Christoffel 變換:把單位圓盤映射到多邊形,積分
其中 \(\alpha_k \pi\) 是多邊形內角。邊界上的「角點」由冪次的奇異性精確控制。 - Toby Driscoll 的 Schwarz–Christoffel Toolbox、圓填充(circle packing)算法:把共形映射用在網格生成、電腦圖學、臉部識別的共形變形上。
線索三:Riemann zeta 與質數分布#
Riemann zeta 函數:
經解析延拓(函數方程 \(\zeta(s) = 2^s \pi^{s-1}\sin(\pi s/2)\,\Gamma(1-s)\,\zeta(1-s)\) )到整個複平面。Riemann 1859 年的洞見:質數計數函數 \(\pi(x)\) 由 \(\zeta\) 的非平凡零點 \(\rho\) 決定:
Riemann 假設:所有非平凡零點都在臨界線 \(\Re(s) = 1/2\) 上。已驗證超過 \(10^{13}\) 個零點,至今無一反例也無證明。這是複分析留下的最後懸案:質數分布的秘密,藏在臨界線上。
線索四:勢流與解析函數 \(\phi + i\psi\)#
二維理想流體的無旋、不可壓縮流:速度勢 \(\phi\) 與流函數 \(\psi\) 滿足 Cauchy–Riemann 方程:
故複勢 \(W = \phi + i\psi\) 是解析函數,速度 \(u - iv = dW/dz\) 。複分析把偏微分方程變成求導數:繞圓柱流由 \(W(z) = U(z + a^2/z)\) 給出,Joukowski 變換 \(w = z + a^2/z\) 把圓柱映射到機翼剖面——機翼升力理論(Joukowski–Kutta 定理)就是共形映射的直接產物。同樣的手法在電磁學(二維靜電勢)、量子力學(解析延拓的 S 矩陣、複平面上的路徑積分)中反覆出現。
程式碼範例:共形映射在網格上的數值變形(Joukowski 機翼)#
import numpy as np
import matplotlib.pyplot as plt
# 圓盤上的極座標網格
r = np.linspace(1.15, 2.5, 12)
theta = np.linspace(0, 2*np.pi, 60, endpoint=False)
R, T = np.meshgrid(r, theta)
z = R * np.exp(1j * (T + 0.3)) + 0.15 - 0.15j # 偏心圓
# Joukowski 變換 w = z + a^2/z(a = 1)
a = 1.0
w = z + a**2 / z
# 勢流複勢 W(z) = U(z + a^2/z) 的速度場:u - iv = dW/dz
U = 1.0
vel = U * (1 - a**2 / z**2) # 圓柱繞流速度
speed = np.abs(vel)
fig, axes = plt.subplots(1, 2, figsize=(12, 5))
axes[0].plot(z.real.T, z.imag.T, "b-", lw=0.5)
axes[0].plot(z.real, z.imag, "b-", lw=0.5)
axes[0].set_title("grid on disk (z-plane)")
axes[1].plot(w.real.T, w.imag.T, "r-", lw=0.5)
axes[1].plot(w.real, w.imag, "r-", lw=0.5)
axes[1].set_title("Joukowski airfoil (w-plane)")
plt.show()
# 檢驗保角性:|f'(z)| 在圓周上 = 2|sin θ|(機翼上下表面的速度差)
print("最大速度(機翼上表面):", speed.max(), "→ 升力來源")
圓盤網格經 Joukowski 變換後變成機翼剖面形狀——共形映射「局部旋轉 + 縮放」的性質讓網格不折疊、不撕裂;速度場 \(|dW/dz|\) 在機翼上表面達到極大,正是 Kutta–Joukowski 升力 \(L = \rho U \Gamma\) 的數值身影。
結案 -- 後果與影響#
- 複分析成為 STEM 基礎設施:FFT 在所有訊號處理、通訊、影像壓縮(JPEG)、機器學習的卷積加速中無所不在。
- 計算共形映射成為圖學與醫學影像的標準工具:腦皮層映射、網格參數化、共形幾何代數(Gu–Yau 學派)。
- 質數分布:Riemann 假設雖未解,但臨界線上的驗證、解析延拓的數值方法(Odlyzko 的零點計算)已成為計算數學的典範;質數加密(RSA)的安全性依賴質數分布的統計規律。
- 物理學的複數語言:量子力學的波函數 \(e^{iS/\hbar}\) 、路徑積分的複時間、電磁學的相量法——Cauchy–Riemann 方程與解析延拓是物理計算的日常工具。
- 兩百年的累積沒有白費:從 Cauchy 的積分公式到 FFT 的蝴蝶操作,複分析證明了「邊界決定一切、對稱決定速度」——這是數學史上最長的連續偵查,而且還在繼續。
關鍵人物與文獻#
| 人物 | 角色 |
|---|---|
| Augustin-Louis Cauchy | 複積分理論,邊界決定一切 |
| Bernhard Riemann | 共形映射、zeta 函數與質數分布 |
| James Cooley & John Tukey | 1965 年 FFT 算法 |
| Nikolai Joukowski & Martin Kutta | 共形映射的機翼升力理論 |
| Andrew Odlyzko | zeta 零點的數值計算 |
- B. Riemann, Über die Anzahl der Primzahlen unter einer gegebenen Größe (1859)。
- J. W. Cooley, J. W. Tukey, An algorithm for the machine calculation of complex Fourier series, Math. Comp. 19, 297 (1965)。
- T. A. Driscoll, L. N. Trefethen, Schwarz–Christoffel Mapping, Cambridge (2002)。
- L. N. Trefethen, Spectral Methods in MATLAB, SIAM (2000)。