阿諾爾迪與蘭喬斯迭代
原始的 Krylov 向量 b, Ab, A^2 b, …… 在數值上毫無希望——它們都向主特徵向量漂移並變得幾乎平行。Arnoldi 迭代邊走邊正交化以治此病:每個新向量 A q_k 通過改進的 Gram-Schmidt 與之前所有基向量正交,再歸一化。結果是為 Krylov 子空間穩定地算出一組標準正交基 Q。
那次正交化的記帳本身就是獎品。其係數填入一個上海森伯格矩陣 H(第一條次對角線以下全為零),滿足 Arnoldi 關係 A Q_k = Q_{k+1} H。換言之:投影到 Krylov 基上,巨大的算子 A 變成一個小的近三角矩陣 H,其特徵值(稱作 Ritz 值)逼近 A 的特徵值。這是 GMRES 內部、以及像 ARPACK 隱式重啟 Arnoldi 這類大規模特徵求解器內部的引擎。
當 A 對稱(或 Hermite)時,Arnoldi 急劇簡化為 Lanczos 迭代。海森伯格矩陣 H 塌縮為對稱三對角矩陣 T,故幾乎所有正交化係數都被迫為零。其後果是一個三項遞推:每個新向量只需與前兩個正交,而非全部。這正是讓共軛梯度和 MINRES 如此廉價的那份節省。
有一個值得指出的小麻煩。在有限精度下,隨著 Ritz 值收斂,Lanczos 會丟失其向量間的正交性,有時產生特徵值的幽靈副本。實用代碼會選擇性地重正交化以保持基的可靠。概念上的要點依然成立:Arnoldi 和 Lanczos 是把一個龐大矩陣變成你真正能分析的小矩陣的機器。
Arnoldi 關係把 A 投影到標準正交 Krylov 基上成為海森伯格矩陣;對稱性把它收縮為三對角矩陣。
Lanczos 不過是 Arnoldi 在對稱矩陣上的特例;那個神奇的三項遞推完全來自 H 是三對角的,而這又是 A = A^T 的後果。去掉對稱性,你就回到了儲存不斷增長的完整 Arnoldi。