线性方程组迭代法--一个综述

xiaoxiao2021-02-28  48

下面我们给出求解线性方程组现有的众多迭代法的一个综述,简单介绍它们适用的情况等。

稳定方法

Jacobi 它基本思想是单独求解某一个独立的变量;一次迭代仅仅对一个变量有作用,它便于理解但是收敛速度慢。

Gauss-Seidel 和Jacobi方法很像,但每次都利用当前的最新信息,一般情况下, 如果Jacobi方法收敛,那么Gauss-Seidel方法会收敛更快,尽管速度仍然慢。

SOR SOR是在Gauss-Seidel迭代法的基础上插入一个参数得到的,对于最好的参数,SOR可以比Guass-Seidel的收敛速度快一个量级。

SSOR SSOR作为一个标准的迭代方法并不比SOR优越,但是作为一个不稳定方法的preconditioner。

不稳定方法

Conjugate Gradient (CG) CG名字的由来是它可以生成一组共轭的(或正交的) 的向量。这些向量是迭代的残差,同时也是一个二次方程的梯度,求解这个二次方程的最小值等价于求解线性方程; 当系数矩阵是对称正定矩阵时,CG的收敛速度非常快,同时空间复杂度也很低。

Minimum Residual(MINRES) & Symmetric LQ (SYMMLQ) 这两个方法用在当系数矩阵是对称的却不是定常矩阵的情况,可以看成是CG的补充。 当系数矩阵是对称正定的,SYMMLQ和CG是等价的。

Conjugate Gradient on the Normal Equations: CGNE & CGNR 假设求解Ax=b,A是可逆矩阵但是非对称, CGNE将利用CG求解 (ATA)y=b ,得到y,然后得到 x=ATy ; 类似地,CGNR将利用CG求解 (AAT)x=ATb 。 方法可行是因为 ATA,AAT 都是对称正定矩阵。

Generalized Minimal Residual (GMRES) 过程和MINRES类似但是要求大量的存贮空间。所以一般每进行一次迭代,都要重新启动程序。这个方法适用于一般非对称系数矩阵。

BiConjugate Gradient(BiCG) BiCG对A和 AT 生成两组和CG类似的向量,要求这两组向量交互正交,这个方法的空间复杂度小,且当系数矩阵是可逆却非对称时BiCG很有用,但是由于方法是不稳定的,收敛速度不可预测且有可能会崩溃,而且在每次迭代都要计算一次矩阵乘法,这将产生 O(n2) 的额外时间复杂度。

Quasi-Minimal Residual (QMR) QMR是BiCG的一个改进,且能提高收敛速度,且降低程序崩溃的概率,但是当BiCG可用时,它并没有任何优点。

Conjugate Gradient Squared (CGS) CGS 是BiCG的一个变式,理论上可以提升2倍于BiCG的收敛速度,但是相应的出现异常情况的概率也相应的提高; 另外,CGS不需要每次都进行矩阵乘法,这降低的时间复杂度。

Biconjugate Gradient Stabilized (Bi-CGSTAB) 和BiCG,CGS类似,但是顾名思义,降低了出现异常的概率,需要额外计算量。

Chebysheve Iteration 利用多项式逼近残差,利用这个方法需要知道系数矩阵的最大最小特征值信息,且要求系数矩阵是对称正定的,这个方法不需要进行内积,时间复杂度低,但难以理解。

转载请注明原文地址: https://www.6miu.com/read-81220.html

最新回复(0)