線法(method of lines)
一個含時的偏微分方程把兩種導數糾纏在一起——空間導數與一個時間導數——同時離散兩者(如 FTCS 那樣)可能令人困惑且僵硬。線法是一種乾淨的分而治之策略:「只」離散空間導數,讓時間保持連續,這把單一的偏微分方程變成一個大的時間常微分方程組——每個空間格點一條常微分方程。接著把這個常微分方程組交給任何你喜歡的好用常微分方程求解器。這個名字描繪的是:隨時間流逝,解沿著穿過每個格點的鉛直「直線」演化。
看它在熱方程 u_t = k u_xx 上運作。只把空間二階導數換成它的中央差分,讓時間導數原封不動:在格點 i 得到 du_i/dt = (k/h^2)(u_{i+1} - 2 u_i + u_{i-1})。對每個內部格點都這麼做,你便有一個耦合的常微分方程組,緊湊地寫成 dU/dt = A U,其中 U 是所有格點值的向量、A 是離散的空間算子(類剛度矩陣)。這如今是個標準的初值常微分方程問題——而你可自由地用任何合適的時間步進器積分它:前向尤拉(重現 FTCS 及其穩定性上限)、後向尤拉或梯形法(給出隱式、無條件穩定的格式),或高階的龍格-庫塔法。把空間與時間分開,讓你能為兩者各自挑選並搭配最佳的離散。
線法是多數現代偏微分方程軟體的概念支柱:它乾淨地把空間離散(有限差分、有限元素或譜方法)與時間積分分開,於是你能為時間推進這一困難部分重用一個成熟、自適應、誤差受控的常微分方程函式庫。它也讓偏微分方程穩定性與常微分方程剛性之間的聯繫變得鮮明——空間算子 A 的特徵值通常分布極廣(細網格上高空間頻率對應極負的值),使常微分方程組「剛性」十足,這正是顯式時間步進器要求微小步長(CFL 的故事)、而隱式者值回票價的原因。主要的提醒:此法天然契合時間演化(拋物型、雙曲型)問題,對沒有時間方向可推進的純橢圓型、穩態問題則較不直接適用。
在 100 個內部點上離散 u_t = u_xx,你得到一個 100 維的常微分方程組 dU/dt = A U,其矩陣 A 的特徵值從近 0 延伸到約 -4/h^2——剛性比達數千。把它餵給一個隱式、自適應的常微分方程求解器,時間步進便被穩健地處理,你完全不必親手選 dt。
離散空間、保持時間連續——偏微分方程化為一個剛性的常微分方程組。
空間算子的特徵值分布之廣使所得的常微分方程組「剛性」十足,因此天真地把線法配上顯式求解器,會重新加上 CFL 的步長限制。剛性正是隱式時間積分器存在的原因;線法把這個依賴關係攤開來說清楚。