据我了解,求解线性方程组的迭代方法有两大类:
- 平稳方法(Jacobi、Gauss-Seidel、SOR、Multigrid)
- Krylov 子空间方法(共轭梯度、GMRES 等)
我知道大多数固定方法通过迭代放松(平滑)错误的傅里叶模式来工作。据我了解,共轭梯度方法(Krylov 子空间方法)通过从应用于矩阵的幂的一组最优搜索方向“步进”来工作残差。这个原则是否适用于所有 Krylov 子空间方法?如果不是,我们一般如何描述 Krylov 子空间方法收敛背后的原理?
据我了解,求解线性方程组的迭代方法有两大类:
我知道大多数固定方法通过迭代放松(平滑)错误的傅里叶模式来工作。据我了解,共轭梯度方法(Krylov 子空间方法)通过从应用于矩阵的幂的一组最优搜索方向“步进”来工作残差。这个原则是否适用于所有 Krylov 子空间方法?如果不是,我们一般如何描述 Krylov 子空间方法收敛背后的原理?
一般来说,所有 Krylov 方法本质上都是在矩阵的谱上求值时寻找一个小的多项式。特别是,Krylov 方法的残差(初始猜测为零)可以写成以下形式
在哪里是一些次数的单项多项式.
如果是可对角化的,有, 我们有
在这种情况下是正常的(例如,对称的或单一的)我们知道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,它构造的多项式实际上最小化了所有单项多项式的残差,我们可以通过查看候选多项式轻松预测残差历史
在我们的例子中给出
为了在频谱范围内.
现在,如果我们在随机 RHS 上运行 GMRES 并将残差历史与该多项式进行比较,它们应该非常相似(候选多项式值小于 GMRES 残差,因为):
作为 Reid.Atcheson 回答的附录,我想澄清一些有关规范的问题。在迭代,GMRES 找到多项式最小化- 残差范数
认为是 SPD,所以产生一个规范,所以. 然后
我们在哪里使用了错误
就这样-范数的错误等同于残差的范数。共轭梯度最小化- 误差范数,使其在解析低能量模式时相对更准确。这-GMRES 最小化的残差范数就像- 误差范数,因此在低能量模式分辨率较差的意义上较弱。请注意,残差的范数本质上是毫无价值的,因为它在低能量模式下甚至更弱。
最后,有一些关于不同 Krylov 方法和 GMRES 收敛的微妙之处的有趣文献,特别是对于非正态算子。
Nachtigal、Reddy 和 Trefethen (1992) 非对称矩阵迭代有多快? (作者的 pdf)给出了矩阵的示例,其中一种方法以一个很大的因素(至少是矩阵大小的平方根)击败所有其他方法。
Embree (1999) GMRES 收敛界限的描述性如何?给出了关于伪谱的有见地的讨论,它给出了更清晰的界限,也适用于不可对角化的矩阵。
迭代方法简而言之:
平稳方法本质上是定点迭代:解决,你选择一个可逆矩阵并找到一个固定点
Krylov 方法子空间方法本质上是投影方法:你选择子空间并寻找一个这样残差正交于. 对于 Krylov 方法,当然是权力所跨越的空间应用于初始残差。然后,各种方法对应于特定的选择(例如,对于 CG 和GMRES)。
这些方法(以及一般的投影方法)的收敛特性源于以下事实:由于各自选择, 这是最优的(例如,它们使 CG 的能量范数或 GMRES 的残差最小化)。如果增加维度在每次迭代中,您都可以保证(以精确的算术方式)在有限多步之后找到解决方案。
正如 Reid Atcheson 所指出的,使用 Krylov 空间允许您根据特征值(以及条件数)证明收敛速度. 此外,它们对于推导计算投影的有效算法至关重要.
Youcef Saad 的迭代方法一书中很好地解释了这一点。