偏微分方程的數值方法

修正方程(modified equation)

你寫了一個格式去解某個偏微分方程,但由於截斷誤差,格式實際上解的是一個略有不同的偏微分方程——而且解它比解你想要的那個更忠實。修正方程就是這個「格式真正在解的偏微分方程」:原方程加上若干額外項,恰好刻畫離散化如何扭曲一切。它是理解一個格式性格時最具啟發性的單一診斷工具。

其構造如下。取你的差分格式,把每一項繞單一點作泰勒展開,不只保留主誤差,還多留一兩項。接著有系統地利用方程本身,把任何殘留的時間導數轉換為空間導數(因為例如 u_tt 可藉偏微分方程重新表示)。剩下的便是附加了導數項的原偏微分方程:u_t + a u_x = b2 u_xx + b3 u_xxx + b4 u_xxxx + ...,其中係數 b 依賴於 dt、h 與波速。現在讀出它的性格:像 b2 u_xx(b2 > 0)這樣的偶數階項是耗散——它平滑,就是數值擴散;像 b3 u_xxx 這樣的奇數階項是色散——它使不同波長以不同速度行進,產生尾隨的振盪。主項 b 的正負與大小立刻告訴你,格式會抹糊、振盪,還是(若 b2 < 0)不穩定。

這正是修正方程備受珍視的原因:它以偏微分方程的誠實語言解釋了,為何低階迎風格式具耗散性、為何拉克斯-溫德羅夫格式(其主誤差為三階)具色散性並在震波附近鈴振、以及為何具負偶數階係數的格式會爆破——反擴散就是不穩定。它把離散世界連回你已經理解的連續世界。提醒:它是一種形式上的漸近工具(一個在網格加密時有效的展開),而非行為的嚴格證明,這條級數不該推得太遠。

u_t + a u_x = 0 的一階迎風格式,其修正方程為 u_t + a u_x = (a h/2)(1 - c) u_xx + ...——純偶數階項,故具耗散性。拉克斯-溫德羅夫格式的主誤差則正比於 u_xxx——奇數階項,故具色散性,會在尖銳前緣之後產生尾隨波紋。

偶數階誤差意味耗散;奇數階誤差意味色散。

若主偶數階係數算出來是「負」的,修正方程便是一個逆向擴散——不適定且爆炸性不穩定。負的 b2 是格式不穩定的警訊,與馮諾伊曼分析所言相符。

又稱
equivalent equationmodified PDE analysis等效方程修正方程分析