JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

一階偏微分方程與特徵線

面對一階方程,分離變量法碰了壁——但有一個更奇、更鮮活的招數。沿著叫作特徵線的特殊曲線一路騎行,偏微分方程便坍縮成你早已會解的常微分方程。同一思想用到波動方程上,徑直把達朗貝爾的行波交到你手上。

偏微分方程是一句關於斜率的話

取最簡單不過的一階偏微分方程:du/dt + c du/dx = 0,其中 c 是常數。盯住左邊,問它究竟在量什麼。回想第一卷:偏導數 du/dt 是固定 x、向時間邁一步時 u 變化多快,而 du/dx 是固定 t、向右邁一步時 u 變化多快。方程把它倆黏在一起:它說 u 並不能隨心所欲地擺動——在 (x, t) 平面的每一點,它兩個斜率的某個特定組合都必須相消為零。這是對整張曲面 u(x, t) 形狀的一道約束,而我們全部的活兒,就是破譯什麼形狀服從它。

火花就在這裡。組合 du/dt + c du/dx 恰是喬裝打扮的鏈式法則。設你並非站著不動,而是沿某條路徑 x = x(t) 穿過平面,邊走邊看 u 如何變化。你看到的總變化率是 d/dt of u(x(t), t) = du/dt + (dx/dt) du/dx。把它與偏微分方程對照:只要你選擇以速度 dx/dt = c 行走,這兩個表達式就立刻一模一樣。於是沿著那條以速度 c 向右移動的特殊路徑,偏微分方程不再說「某個神秘的斜率組合為零」——它說的是平平常常的那句話:沿路徑的 du/dt = 0。當你騎行那條路徑時,函數根本不變。

特徵線:載著答案的曲線

那些特殊路徑有個名字:它們就是特徵線,而整套技術叫特徵線法。對我們的方程,特徵線滿足那個小小的常微分方程 dx/dt = c,其解是直線 x = c t + x0,每個起點 x0 對應一條線。想像 (x, t) 平面被一族平行直線梳理過,它們全都以斜率 c 傾斜。偏微分方程剛剛告訴我們:u 沿每一條這樣的線都是常數。所以只要你在某條特徵線的一點知道 u,整條線上的值你就白白得到了——那個值只是順著線滑過去,紋絲不變。

現在餵進一個初始輪廓。設在 t = 0 時函數是某給定形狀 u(x, 0) = f(x)。每條特徵線都載著它出發時的值。過起點 x0 的線滿足 x0 = x - c t,所以坐在 (x, t) 處的值就是從 x0 = x - c t 出發的那個值,即 f(x - c t)。這就是全部的解:u(x, t) = f(x - c t)。從物理上讀它,美極了——它是初始形狀 f 以速度 c 向右滑動,剛性不變、毫無畸變。我們那道抽象的斜率約束,原來不過意味著「圖案在行進」。這個方程因而恰如其分地被稱為輸運方程或對流方程。

PDE:   u_t + c u_x = 0,    u(x,0) = f(x)

Step 1  Characteristic ODE:   dx/dt = c     ->   x = c t + x0
Step 2  Along it:  d/dt[ u(x(t),t) ] = u_t + (dx/dt) u_x = u_t + c u_x = 0
                   so u is CONSTANT on each line.
Step 3  Label the line by its start:   x0 = x - c t
Step 4  Constant value = its initial value:   u = f(x0)

        ===>   u(x,t) = f(x - c t)      (initial shape, rigid, moving right at speed c)

   t
   ^      \    \    \     each \ is a characteristic x = c t + x0;
   |       \    \    \    u keeps its starting value all the way up the line
   +--------\----\----\-----> x
四步配方的縮影:把偏微分方程化為常微分方程 dx/dt = c,騎上那條線,載著值,讀出 f(x - c t)。

當速度依賴於 u,以及它在哪裡崩壞

這套方法並不要求方程是線性的,而這正是它真正賺到本錢的地方。考慮 du/dt + u du/dx = 0——同樣的形式,但現在輸運速度是 u 自身,正是你要求解的那個東西。鏈式法則的論證絲毫未變:沿著滿足 dx/dt = u 的路徑,方程再次說沿路徑的 du/dt = 0,所以 u 在每條特徵線上仍是常數。但現在,一條特徵線的速度等於它所載的那個常數值——波的高處一路狂奔,低處則落在後面。特徵線仍是直線,卻以不同的斜率呈扇形散開,而不再齊頭並進。

想像一個平滑的水丘。波峰比前緣移動得快,於是前坡變陡、向前傾、最終豎直起來——恰如海浪在拍碎前捲起。從數學上說,兩條載著不同值的特徵線相撞;在那個交點,本應成立的解被要求同時取兩個值,於是一個光滑的單值 u(x, t) 乾脆不復存在。這就是激波:一個間斷,真真切切地從完全光滑的初始數據中誕生出來。這並非方法的瑕疵——恰恰是這套方法,精確到那一瞬,預言出光滑性必將在何時何地消亡。

把波動方程分解成兩個輸運

現在把同一思想轉向本階梯的明珠——二階波動方程 d^2u/dt^2 = c^2 d^2u/dx^2。它看上去像另一種生物——二階、兩個時間導數——但這裡有一手漂亮的障眼法。把求導算子當作代數來對待:方程是 (d/dt)^2 u - c^2 (d/dx)^2 u = 0,而平方差是可以分解的。於是它寫作 (d/dt - c d/dx)(d/dt + c d/dx) u = 0。這單個二階波動方程,已經裂成我們剛剛掌握的兩個一階輸運算子的乘積——一個以速度 c 把東西往右載,一個往左載。

這正是波動方程作為標準雙曲型方程的緣由:它有兩族實的、彼此不同的特徵線——右行者 x - c t = 常數,與左行者 x + c t = 常數。看清它最乾淨的辦法,是換座標到 xi = x - c t 與 eta = x + c t——即特徵座標。把鏈式法則一路輾過去(這是唯一一處誠實的記賬),波動方程便化為出奇簡單的 d^2u/(d xi d eta) = 0。照字面讀它:(du/d xi) 對 eta 的導數為零,所以 du/d xi 只依賴 xi,再積分一次,u 必是 xi 的一個函數加上 eta 的一個函數。兩個任意函數,每族特徵線各一個。

達朗貝爾:兩列彼此穿越的波

把代換逆回去,那個雙函數答案便成了著名的達朗貝爾解:u(x, t) = F(x - c t) + G(x + c t)。說白了,波動方程的每一個解,都是一個右行形狀 F 加一個左行形狀 G,各自以速度 c 剛性滑行,並乾乾淨淨地從對方身上穿過。撥動的吉他弦正是如此——初始的鼓包裂成兩份半高的副本,朝相反方向跑開。與分離變量法不同——後者用無窮多個駐波模式把答案慢慢搭起來——達朗貝爾徑直把完整的通解以閉式交給你,無需任何級數。

要把一個具體問題做完,你用波動方程所需的兩個初始條件去定 F 與 G:初始形狀 u(x, 0) = f(x) 和初始速度 du/dt(x, 0) = g(x)。把它們匹配上、解那一小對方程,便得到達朗貝爾的顯式公式 u(x, t) = (1/2)[ f(x - c t) + f(x + c t) ] + (1/(2c)) 乘以 從 x - c t 到 x + c t 對 g(s) ds 的積分。看這公式坦白了什麼:(x, t) 處的值只依賴於 x - c t 與 x + c t 之間的初始數據。那段區間就是依賴域,而它的兩端恰是過 (x, t) 的兩條特徵線——這從物理上證明了:這世界上沒有任何東西比波速 c 跑得更快。

  1. 由分解寫出通解:u(x, t) = F(x - c t) + G(x + c t),每族特徵線對應一列行波。
  2. 施加初始形狀:在 t = 0 時,F(x) + G(x) = f(x)。
  3. 施加初始速度:對 t 求導並令 t = 0,得到 -c F'(x) + c G'(x) = g(x)。
  4. 聯立這兩個關係解出 F 與 G(一次除法、一次積分),再拼回去即得達朗貝爾公式。

為什麼這套方法該進你的工具箱

對你剛獲得的本領,劃兩條誠實的邊界。其一,這般乾淨形式的達朗貝爾公式,是自由空間、無窮長直線上的答案;一旦有了牆壁——比如兩端夾死的弦——行波就必須反射,你得把 f 與 g 作奇延拓地週期延展進去縫合,或者退回分離變量法與駐波。行波與駐波這兩幅圖,是同一個解的兩種看法,哪一種更省事,全看幾何。其二,乾淨地分解成兩族實特徵線,是雙曲型情形所特有的。

最後這一點把整個階梯繫在了一起。一個二階方程是按它的特徵線分類的:像波動方程這樣的雙曲型方程有兩族實特徵線,資訊以有限速度沿它們傳播;像熱方程這樣的拋物型方程只有一族(重根的)特徵線,並瞬間把數據抹平;像拉普拉斯方程這樣的橢圓型方程則根本沒有實特徵線,正因如此,一個穩態勢會同時感受到它邊界的每一處。特徵線絕非一階問題專享的把戲——它正是偏微分方程的類型所由以構築之物,是決定一個擾動被允許如何傳播的那副骨架。

退一步,那種統一令人驚嘆。一階偏微分方程,靠騎上一些使其變為常微分方程的曲線來求解;波動方程,靠把它分解成兩個這樣的一階部件來求解;而掉出來的達朗貝爾公式不只是一個答案,更是一份適定性的證明——一個唯一、且連續依賴於數據的解,內裡還烤進了一道嚴格、有限的速度上限。從一個樸素的觀察——du/dt + c du/dx 是一個蓄勢待發的鏈式法則——你已抵達了行波、激波的形成、所有二階偏微分方程的分類,乃至因果律本身。