求解线性方程组的 Krylov 子空间方法收敛的原理是什么?

计算科学 线性代数 收敛 克雷洛夫法 共轭梯度
2021-12-21 20:38:48

据我了解,求解线性方程组的迭代方法有两大类:

  1. 平稳方法(Jacobi、Gauss-Seidel、SOR、Multigrid)
  2. Krylov 子空间方法(共轭梯度、GMRES 等)

我知道大多数固定方法通过迭代放松(平滑)错误的傅里叶模式来工作。据我了解,共轭梯度方法(Krylov 子空间方法)通过从应用于矩阵的幂的一组最优搜索方向“步进”来工作n残差。这个原则是否适用于所有 Krylov 子空间方法?如果不是,我们一般如何描述 Krylov 子空间方法收敛背后的原理?

3个回答

一般来说,所有 Krylov 方法本质上都是在矩阵的谱上求值时寻找一个小的多项式。特别是,nKrylov 方法的残差(初始猜测为零)可以写成以下形式

rn=Pn(A)b

在哪里Pn是一些次数的单项多项式n.

如果A是可对角化的,有A=VΛV1, 我们有

rnVPn(Λ)V1b=κ(V)Pn(Λ)b.

在这种情况下A是正常的(例如,对称的或单一的)我们知道κ(V)=1.GMRES 通过 Arnoldi 迭代构造这样的多项式,而 CG 使用不同的内积构造多项式(有关详细信息,请参阅此答案)。类似地,BiCG 通过非对称 Lanczos 过程构造其多项式,而 Chebyshev 迭代使用关于谱的先验信息(通常是对称定矩阵的最大和最小特征值的估计)。

作为一个很酷的例子(由 Trefethen + Bau 提出),考虑一个矩阵,其谱如下:

矩阵谱

在 MATLAB 中,我使用以下方法构造了它:

A = rand(200,200);
[Q R] = qr(A);
A = (1/2)*Q + eye(200,200);

如果我们考虑 GMRES,它构造的多项式实际上最小化了所有单项多项式的残差n,我们可以通过查看候选多项式轻松预测残差历史

Pn(z)=(1z)n

在我们的例子中给出

|Pn(z)|=12n

为了z在频谱范围内A.

现在,如果我们在随机 RHS 上运行 GMRES 并将残差历史与该多项式进行比较,它们应该非常相似(候选多项式值小于 GMRES 残差,因为b2>1):

残留历史

关于规范

作为 Reid.Atcheson 回答的附录,我想澄清一些有关规范的问题。nth迭代,GMRES 找到多项式Pn最小化2- 残差范数

rn=Axnb=(Pn(A)1)bb=Pn(A)b.

认为A是 SPD,所以A产生一个规范,所以A1. 然后

rnA1=rnTA1rn=(Aen)TA1Aen=enTAen=enA

我们在哪里使用了错误

en=xnx=xnA1b=A1rn

就这样A-范数的错误等同于A1残差的范数。共轭梯度最小化A- 误差范数,使其在解析低能量模式时相对更准确。2-GMRES 最小化的残差范数就像ATA- 误差范数,因此在低能量模式分辨率较差的意义上较弱。请注意,A残差的范数本质上是毫无价值的,因为它在低能量模式下甚至更弱。

收敛界限的锐度

最后,有一些关于不同 Krylov 方法和 GMRES 收敛的微妙之处的有趣文献,特别是对于非正态算子。

迭代方法简而言之:

  1. 平稳方法本质上是定点迭代:解决Ax=b,你选择一个可逆矩阵C并找到一个固定点

    x=x+CbCAx
    这由巴拿赫不动点定理收敛,如果ICA<1. 然后,各种方法对应于特定的选择C(例如,对于 Jacobi 迭代,C=D1, 在哪里D是一个对角矩阵,包含对角元素A)。

  2. Krylov 方法子空间方法本质上是投影方法:你选择子空间U,VCn并寻找一个x~U这样残差bAx~正交于V. 对于 Krylov 方法,U当然是权力所跨越的空间A应用于初始残差。然后,各种方法对应于特定的选择V(例如,V=U对于 CG 和V=AUGMRES)。

    这些方法(以及一般的投影方法)的收敛特性源于以下事实:由于各自选择V, 这x~是最优的U(例如,它们使 CG 的能量范数或 GMRES 的残差最小化)。如果增加维度U在每次迭代中,您都可以保证(以精确的算术方式)在有限多步之后找到解决方案。

    正如 Reid Atcheson 所指出的,使用 Krylov 空间U允许您根据特征值(以及条件数)证明收敛速度A. 此外,它们对于推导计算投影的有效算法至关重要x~.

    Youcef Saad 的迭代方法一书中很好地解释了这一点