偏微分方程的數值方法:有限差分

BTCS 格式(backward-time central-space)

/ B-T-C-S /

FTCS 把熱往前推進時,純粹用舊鄰點算出每個新值——快,但時間步太大就爆。BTCS 做相反的交易:它用「新的、未知的」鄰點寫方程,使所有空間耦合都發生在未來時間層。回報是你能取極大的時間步而不爆炸;代價是每一步現在都要解一個線性系統。BTCS 是熱方程 u_t = alpha * u_xx 的全隱式格式。

食譜是時間後向(Backward in Time)、空間中心(Central in Space)。時間導數是後向差分 (u_j^n - u_j^{n-1}) / k——等價地,從層 n 推進到 n+1 時寫成 (u_j^{n+1} - u_j^n) / k——而 u_xx 的中心二階差分在「新」層 n+1 上計算,而非舊層。重排後更新式為 -r * u_{j-1}^{n+1} + (1 + 2r) * u_j^{n+1} - r * u_{j+1}^{n+1} = u_j^n,其中 r = alpha * k / h^2。j 處的新值如今取決於它的新鄰點,故無法直接讀出;層 n+1 的所有未知量被纏在一起成為一個三對角線性系統 A u^{n+1} = u^n,每步求解(Thomas 演算法以 O(N) 時間完成)。

回報是無條件穩定。馮諾伊曼分析給出放大因子 1 / (1 + 2r*(1 - cos)),其大小對每個 r > 0 都至多為 1——完全沒有時間步限制。你可以用大 k 推進,僅受準確度而非穩定性所限,這正是你想要的:對只需在時間上粗略解析的擴散問題,或對顯式步長會小到不可能的剛性問題。BTCS 在時間上一階、空間上二階準確;克蘭克-尼科森把時間精度升到二階,同時保有無條件穩定。

取 r = 2(遠超 FTCS 的 0.5 限制),對 N 個內部節點的一次 BTCS 步意味著解一個三對角系統,其對角為 1 + 2r = 5、非對角為 -r = -2,右端為舊值。Thomas 演算法用一趟前掃、一趟後掃完成;結果在這個會讓 FTCS 引爆的大步長下仍平滑而穩定。

無條件穩定——但每一步要付一次三對角求解。

無條件穩定不等於無條件準確:BTCS 在時間上僅一階,故一個穩定的巨大 k 仍可能給出嚴重不準的答案。穩定性只保證誤差不爆炸,不保證它小——這個區別正是拉克斯等價定理的核心。

又称
backward-time central-spaceimplicit Euler in timefully implicit scheme隱式格式後向尤拉時間