数值线性代数

阿诺尔迪与兰乔斯迭代

原始的 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 是把一个庞大矩阵变成你真正能分析的小矩阵的机器。

A Q_k = Q_{k+1} H_k (Arnoldi); A Q_k = Q_{k+1} T_k, T tridiagonal (Lanczos)

Arnoldi 关系把 A 投影到标准正交 Krylov 基上成为海森伯格矩阵;对称性把它收缩为三对角矩阵。

Lanczos 不过是 Arnoldi 在对称矩阵上的特例;那个神奇的三项递推完全来自 H 是三对角的,而这又是 A = A^T 的后果。去掉对称性,你就回到了存储不断增长的完整 Arnoldi。

又称
Arnoldi processLanczos processKrylov basis builders