馬克士威:四個方程,原來竟是一道波
到現在你已見過偏微分方程模擬熱、振動的弦、流體、量子振幅與選擇權的價格。馬克士威方程是這一切之中最宏偉的應用,因為一個關於兩個向量場——電場 E 與磁場 B——的一階系統,原來竟包含了全部的古典電、磁與光學。四個方程裡有兩個是約束(B 的散度為零;E 的散度為電荷密度),另兩個是隨時間演化的定律,把兩個場耦合在一起:變化的磁場驅動出一個旋轉的電場,而變化的電場加上任何電流,又驅動出一個旋轉的磁場。這份相互的耦合就是全部的故事。
讓馬克士威成名的時刻就在這裡。取真空中——沒有電荷、沒有電流——的旋度方程,把其中一個對時間微分,再代入另一個。交叉耦合於是對自己閉合,而 E(與 B)的每一個分量都被發現服從波動方程 u_tt = c^2 (u_xx + u_yy + u_zz)。一個你原本寫來描述磁鐵與電池的系統,在不加入任何額外物理的情況下,預言了能自我維持的波——而掉出來的速度 c,是由電與磁的兩個實驗室常數拼出來的。馬克士威算了一算,得到的正是光速。光就是一道電磁波;這是這個偏微分方程系統的一條定理,不是餵進去的假設。
當你拿掉那個鐘:亥姆霍茲
多數時候我們要的不是一道行進的脈衝;我們要的是在單一頻率上穩定振盪——一束固定顏色的雷射、一根對著某個電台嗡嗡作響的天線、一個以單一頻率鳴響的磁振造影線圈。於是我們餵給波動方程一個形如 u(x,t) = v(x) cos(omega t) 的解:一個固定的空間形狀 v(x),以角頻率 omega 一吸一吐地起伏。代進去,時間的微分變成一個 -omega^2 的因子,那個鐘消掉了,剩下的是一個純粹的空間方程,看不見任何 t。
wave eqn: u_tt = c^2 (u_xx + u_yy + u_zz) ansatz: u(x,t) = v(x) cos(omega t) => -omega^2 v = c^2 (Laplacian v) let k = omega/c : Laplacian v + k^2 v = 0 (Helmholtz) compare Laplacian v = 0 (Laplace, k = 0)
那個方程,Laplacian v + k^2 v = 0,就是亥姆霍茲方程,它是每一個穩態波問題的空間核心:聲學、光學、電磁散射、天線設計。它看起來離拉普拉斯方程只差一個小項——而那一項改變了一切。拉普拉斯的解只會趨於平衡、從不擺動(它們的最大值原理禁止內部尖峰);亥姆霍茲的解卻振盪,那個 k^2 v 項像一個回復力,讓 v 過衝並鳴響。代價是那個友善的最大值原理沒了,而且對許多頻率而言,邊界值問題可能根本無法有唯一解——那些特殊的頻率恰恰就是共振,就是你在振動的弦上見過的簡正模,如今搬到了空間裡。
熱方程,兼差當去噪器
現在來看這套工具的第二張面孔,而它根本不花你一個新方程。把一張灰階影像想成一個函數 u(x, y):在一張平面上的亮度。相機雜訊讓這個函數抖動——在真實畫面之上撒了一層隨機高低的細碎斑點。你早已知道一種能摧毀細微擺動、卻保留寬闊特徵的運算:熱方程的平滑效應。所以把這張影像當成一個初始溫度,讓它擴散:跑 u_t = k (u_xx + u_yy)——也就是擴散方程——跑上一段短短的、人造的「時間」t。衰減最快的高頻雜訊最先融化;照片冷卻成一個更乾淨的自己版本。這就是高斯模糊,而你當作對一個熱點響應而見過的熱核,就字面上正是影像處理裡的模糊核。
很美——但它自己一個人卻沒用。熱方程是各向同性的:它在每個方向上一視同仁地抹平,完全不知道有意義的邊緣在哪裡。把雜訊模糊掉的同時,你也用一模一樣的那一筆,把顴骨、文字、天空與屋頂之間的界線一併模糊掉了。這正是平滑效應反咬一口:那個抹掉斑點的同一個無限速度的平均化,也抹掉了結構。誠實的擴散分不清一道邊緣與一個雜點;兩者都不過是陡峭的梯度,而它把它們全熨平。
佩羅納-馬利克:教擴散尊重邊緣
這個修正,是應用偏微分方程裡最漂亮的想法之一。保留擴散,但讓它的傳導率取決於影像本身。在畫面平坦處(梯度小),讓熱自由流動、把雜訊洗掉;在梯度陡峭處——一道邊緣——把傳導率壓到近乎零,讓熱拒絕跨越。結果就是佩羅納-馬利克擴散:一個非線性的、各向異性的熱方程,它沿著邊緣抹平、卻不跨過邊緣。你把帶噪的照片餵給它,它把平坦的區域擴散乾淨、同時讓邊界保持銳利,並在抹平會造成傷害的地方停下。
- 把影像讀成一個函數 u(x, y),平面上的亮度,並在每個像素量出梯度大小 |grad u|——邊緣處大、平坦區小。
- 選一個傳導率 c(|grad u|),在梯度小時接近 1、在梯度大時趨於 0——例如 c = 1/(1 + (|grad u|/lambda)^2),其中 lambda 是你「多陡才算邊緣」的門檻。
- 讓 u_t = div( c(|grad u|) grad u ) 演化一小段時間:這是裝了煞車的熱方程,在平坦的塊面上自由擴散、在邊緣處關閉。
- 提早停止。與純粹的擴散不同,你不會跑到平衡——幾步就移除了雜訊;太多步則把影像過度處理成卡通般的色塊。
更遠處:靠偏微分方程移動的曲線
影像處理要的不只是去噪——它還要找出一個物件的邊界並把它描出來。麻煩在於一條移動的曲線會做出討厭的事:它會收縮夾斷、分裂成兩條、或合併,而要追蹤一條曲線的點穿過一次分裂,是一場記帳的噩夢。等位集方法用一個可愛的觀點轉換,把整團混亂繞了過去。它不直接跟著曲線走,而是把曲線嵌成一個定義在整個平面上的函數 phi(x, y, t) 的零等高線——曲線就在 phi = 0 之處——然後讓 phi 依一個偏微分方程演化。當曲面 phi 上下滑動時,它的零等高線自動移動、分裂、合併,無需任何特殊處理,因為一張平滑曲面的一條等高線可以裂開,而曲面本身依舊完美平滑。
驅動 phi 的是哪個偏微分方程,取決於你想讓邊界如何移動,而這些選項都是老朋友。讓每一點沿其法線以定速移動,phi 就服從程函方程 |grad phi| = 1/F——正是那個支配波前與最短到達時間的一階方程,由你很久以前見過的特徵線求解。讓每一點以等於局部曲率的速度移動,你就得到平均曲率流,熱方程的一個幾何表親,它抹平一條扭動的曲線,就像擴散抹平一張扭動的圖形。影像、電腦視覺與電腦繪圖的前沿都跑在這些之上——分割、形狀追蹤、模擬火焰與水面——而它們每一個都是等位集上的一個偏微分方程。
退一步,這整個段落的教訓便清晰起來。從來就沒有真的有五個各自獨立的方程,分別管流體、量子、金錢與圖像——有的只是寥寥幾個被反覆重用的偏微分方程類型。擴散會抹平(熱、去噪、平均曲率流);波以有限速度傳播(馬克士威、聲學、程函波前);平衡會調和(拉普拉斯、靜止的亥姆霍茲)。當一個新領域遞給你一個現象,第一個問題不再是「方程是什麼」,而是「這是哪一型」——而答案會預先告訴你:資訊將被抹平還是被銳化、以有限還是無限速度傳播、以及你究竟被允許給定什麼樣的資料。這個單一的思維習慣,正是攀上這道梯子真正的收成。