把偏微分方程看成一台機器:算子 L
在上一篇你把方程排上了 線性/半線性/擬線性/完全非線性 這道階梯。落在最底一階的獎賞,就是這一整篇。要看出原因,把偏微分方程重新打包成一台機器會很有幫助。用 L 代表作用在未知函數上的那一束求導運算——對熱方程而言 L u = u_t - k u_xx;對拉普拉斯方程而言 L u = u_xx + u_yy。於是方程就只是 L u = f,其中 f 是右邊放著的任何東西。
稱 L 為線性,恰恰意味著兩件事,正是你從矩陣與過原點的直線那裡熟知的兩件事:對任意常數 c,有 L(u + v) = L u + L v,以及 L(c u) = c L u。這兩條在這裡都成立,因為求導本身就是線性的——和的導數等於導數的和,常數可以提到前面。主部(最高階項)與低階項全都繼承了這個性質,只要沒有係數依賴於 u,且 u 從不被平方、不與自己的導數相乘、也不出現在像 sin(u) 這樣的函數裡。
齊次的奇蹟:解可以相加
現在假設右邊為零,方程即為齊次:L u = 0。若 u 是解、v 也是解,則 L(c1 u + c2 v) = c1 L u + c2 L v = c1 · 0 + c2 · 0 = 0。這個組合也是解。這一行就是疊加原理:對齊次線性偏微分方程而言,任意解的線性組合仍是解。這些解構成一個向量空間,恰如齊次線性常微分方程的解一樣——只不過這裡的空間通常是無窮維的。
L(c1 u1 + c2 u2 + ... + cn un) = c1 L(u1) + c2 L(u2) + ... + cn L(un) = c1*0 + c2*0 + ... + cn*0 = 0 (if every uk solves L u = 0)
這裡有個袖珍版的回報。桿子上的熱方程 u_t = k u_xx,對每個自然數 n 都有一個簡單的基本元件解 u_n(x, t) = e^(-k n^2 t) sin(n x)。每一個都自顧自地衰減並擺動;單獨任何一個都無法吻合一個複雜的初始溫度。但疊加原理讓你用任意權重 b_n 把它們加起來,而其和仍是方程的解。霎時間你便擁有一個龐大且可調的族——剩下唯一的問題,就是如何選取這些權重。
從有限和到傅立葉級數
選取權重,正是疊加與資料相遇之處。這些基本元件是被精心設計的,使得在 t = 0 時每一個都恰好是 sin(n x);它們在 t = 0 的組合就是 b_n sin(n x) 之和,而這恰恰是一個傅立葉正弦級數。因此匹配初始條件 f(x) = u(x, 0),就意味著把 f 展開成傅立葉級數,而係數公式會把每個 b_n 交到你手上。釘住資料、取得權重,疊加便把它們隨時間向前傳遞——這一口氣便道盡了分離變數法的整段弧線。
請留意這個悄悄的升級:我們從有限和走到了無窮和,當空間區域是整條直線、指標 n 變成連續的頻率時,甚至走到了積分。這種連續疊加正是傅立葉變換與基本解真正在做的事——把不可數連續多個基本元件加起來,以資料為權重。記帳方式從求和變成積分,但引擎完全相同:線性讓各個響應堆疊起來而互不干擾。
非齊次方程:特解加齊次解
若存在一個源項,方程便成為非齊次:L u = f 而 f 不為零,那該怎麼辦?疊加原理仍以兩種互補的方式幫上忙。第一是結構定理:若 u_p 是 L u = f 的任意一個特解,則每個解都具有 u = u_p + u_h 的形式,其中 u_h 跑遍齊次方程 L u_h = 0 的所有解。你只要把整個齊次解空間加上去,就得到通解——這與線性常微分方程及線性系統的支架一模一樣。
第二,疊加讓你把一個棘手的源項拆成容易的小塊。若 f = f1 + f2,而你能分別解出 L u1 = f1 與 L u2 = f2,則 u1 + u2 便解出 L u = f。把這推到極致——把源項切成連續多個點脈衝(δ 源),對每一個求解,再把這些響應加起來——你便抵達了杜哈梅原理與格林函數法。兩者都只是穿上更成熟外衣的疊加:用對基本輸入的響應來組建答案。
把這個結構大聲說出來是值得的,因為它正是每一套線性解法的骨架:L u = f 的通解是 u = u_p + u_h,一個特解 u_p(任意一個命中源項 f 的函數)加上跑遍整個齊次解空間的 u_h(所有滿足 L u_h = 0 者)。特解承載源項;齊次部分承載你日後用來匹配邊界與初始資料的自由度。
引擎止步之處
疊加是線性的特權,一旦非線性登場,它便實實在在地喪失。對伯格斯方程 u_t + u u_x = 0 而言,u u_x 一項是未知函數乘上自己的導數;若 u 與 v 各自是解,u + v 一般並不是解,因為 (u+v)(u+v)_x 並不等於 u u_x + v v_x。兩個合法的行波不能簡單相加。這並非吹毛求疵——它正是非線性波能夠變陡並形成激波、而線性波只是彼此穿過而保持不變的原因。
即便在線性的世界裡,也有兩個更細緻的告誡。疊加組合的是 L u = 0 的解,因此它只尊重齊次的線性邊條件:你可以把兩個都在邊界上取零的解相加,但把兩個都在邊界上等於 5 的解相加,得到的卻是在那裡等於 10 的解。而且這條原理對於哪一個組合才是正確的那個隻字不提——那由資料、以及問題對該資料是否適定來決定,而這個問題將由橢圓/拋物/雙曲型來裁定。疊加供給原料;資料與型別挑選答案。
在你向上攀登時,請讓這台引擎始終映入眼簾。分離變數法、傅立葉級數、傅立葉變換、特徵函數展開、杜哈梅原理、格林函數——每一個都是同一招:把資料拆成基本小塊、逐塊求解、再疊加。線性正是使這套策略合法的東西,而你將遇到的幾乎每一個乾淨的閉式方法都棲身於線性那一階,這絕非偶然。