Skip to content

第4章:迭代线性求解与特征值

固定点迭代

Ax=bAx=b 写为 xk+1=Gxk+cx_{k+1}=Gx_k+c,误差满足 ek+1=Geke_{k+1}=Ge_k。对所有初值收敛的核心条件是谱半径 ρ(G)<1\rho(G)<1,而不是“迭代次数足够多”。

Jacobi 用对角部分解耦各坐标,Gauss–Seidel 使用本轮已更新值。严格对角占优等条件可给出收敛保证,但任意矩阵不自动满足。

Krylov 子空间

从初残差 r0r_0 构造

Kk(A,r0)=span{r0,Ar0,,Ak1r0}.\mathcal K_k(A,r_0)=\operatorname{span}\{r_0,Ar_0,\ldots,A^{k-1}r_0\}.

方法只需矩阵向量乘,可利用稀疏或隐式算子。CG 适用于对称正定系统,GMRES 可处理更一般的非对称系统,但存储与正交成本随迭代增长。

CG 在精确算术中至多 n 步求解 n 维正定系统;浮点运算会破坏精确共轭关系,所以实际不应把 n 步当作无条件准确终止承诺。

预条件

预条件器 M 应易求解并近似 A 的某些性质,使变换后系统更容易迭代。构造越精确可能每步越快,却有更高建立与应用成本。

对 CG,还要保持所需的对称正定结构。随意左乘一个矩阵后直接运行原 CG 公式,不一定仍满足其理论前提。

幂法与特征值

幂法反复计算 xk+1=Axk/Axkx_{k+1}=Ax_k/\|Ax_k\|。若最大模特征值唯一、与次大模有间隔,且初始向量含相应方向分量,在适当条件下趋向该特征方向。

A=diag(3,1)A=\operatorname{diag}(3,1)、初值 (1,1)(1,1),k 次未归一化结果为 (3k,1)(3^k,1),第二方向相对第一方向按 3k3^{-k} 衰减。初值若为 (0,1)(0,1),则永远缺少主特征方向。

实际全谱计算常用先化 Hessenberg 或对称三对角,再作带位移 QR 等方法,不能把对原稠密矩阵反复直接相乘当作通用高效方案。

练习

  1. 对一个 2×2 系统写 Jacobi 迭代矩阵并计算谱半径。
  2. 最大两个特征值模相等时,幂法可能出现什么行为?
  3. 衡量预条件器应比较哪些总成本,而不仅是迭代次数?

上次更新: