简介
求解线性方程组有直接解法和迭代解法两种方法。与直接解法相比,迭代解法能够比较好地保持系数矩阵的稀疏性,在大型线性方程组的求解问题中得到了广泛应用。
比较典型的迭代算法有三种,古典迭代法、共轭梯度法和广义极小剩余(GMRES)法。
- 古典迭代法从系数矩阵构造(分裂)出单步迭代格式,具有算法简单的优点,但是不易收敛,速度较慢。
- 共轭梯度法是一种多步算法。首先利用对称正定的系数矩阵,将方程组的求解问题转换成等价的优化问题,零点解向量变成极点解向量。其次以迭代点、剩余向量和搜索方向构造迭代格式。可以证明搜索方向(共轭梯度)逐维扩张出一个克莱罗夫(Krylov)子空间,而迭代点是优化问题在子空间上的极小点。当该子空间达到问题空间的维度,解向量即构造完毕。
- 广义极小剩余法也是构造一个克莱罗夫(Krylov) 子空间,由于采用兰佐(lanczos)法得到了子空间的标准正交基,因此可以利用极值求解得到方程组在子空间上的最小二乘解,而且不要求系数矩阵对称正定,具有更好的一般性。
古典迭代法
古典迭代法针对特定问题构造满足相容条件的单步定常线性迭代格式:
一般表述为:Ax=b, xk+1=Gxk+c, s.t. QA=I-G, Qb=c
收敛条件:$\rho(G)<1\,or\,\left \| G \right \|<1$
通常是分裂系数矩阵A,A = M – N,Mx