線性系統的迭代法

譜半徑收斂準則

這裡有一個事實,單獨決定了任何定常迭代的成敗。把迭代寫成 x_{k+1} = G x_k + c。每一步的誤差都被迭代矩陣 G 乘一次:e_{k+1} = G e_k,所以 e_k = G^k e_0。「誤差會消退嗎?」這個問題,因此就是「冪次 G^k 會縮到零嗎?」而答案由附在 G 上的單一數字決定——它的譜半徑,記作 rho(G),即 G 的特徵值中絕對值最大者。

定理很乾淨:迭代對任何起始猜測都收斂到真解,若且唯若 rho(G) < 1。直覺如下:把誤差分解到 G 的各特徵方向上;沿著特徵值為 lambda 的特徵方向,每一步把該誤差分量乘上 lambda,k 步後成為 lambda^k。若每個 |lambda| < 1,每個分量都幾何衰減,總誤差消失;只要有一個 |lambda| >= 1,該分量就拒絕縮小(甚至增長),你便失敗。此外 rho(G) 還決定漸近的「速度」:誤差最終每步大致縮小 rho(G) 倍,所以 rho(G) = 0.9 意味痛苦地慢(約每 22 步才減少一位數),而 rho(G) = 0.1 則飛快(每步一位數)。

兩個誠實的提醒。第一,收斂取決於 rho(G),即特徵值大小——而非矩陣範數 ||G||。一個矩陣可以 ||G|| > 1 而 rho(G) < 1,仍會收斂,只是可能歷經一段長長的暫態、誤差先增長才終於衰減。第二,rho(G) 告訴你最終的漸近速率,未必是頭幾步的行為。實務上你很少精確算出 rho(G)(那本身就是個特徵值問題);你會改為觀察殘差,並用收斂理論判斷哪些方法對你這類矩陣是安全的。

若雅可比迭代矩陣的 rho(G) = 0.99,誤差每輪只縮小 1%,要增加一位十進位數字約需 230 輪(因為 0.99^230 ~ 0.1)。藉 SOR 把 rho 減半到 0.495,只需 3 輪就得到一位數字。

rho(G) 小於 1 代表收斂;比 1 小多少則決定速度。

一個常見的誤解是以為要求是 ||G|| < 1。範數小於 1 是充分但非必要的;精確的準則是譜半徑小於 1。反過來,極小的 rho 配上極大的範數,可能在漸近衰減開始前以一段大暫態誤導你。

又称
spectral radius < 1rho(G) < 1譜半徑小於一準則