本专题将讲述以多种方式求解线性方程组,也作为本人在《数值计算与优化》课程中学到知识的总结与具体代码实现。主要用到资料为《数值计算方法(第3版)》。
专题综述
解线性代数组是科学研究与工程计算中经常遇到的问题。 此专题讨论以下n阶线性方程组
⎧⎩⎨⎪⎪⎪⎪⎪⎪a11x1+a12x2+⋯+a1nxn=b1a21x1+a22x2+⋯+a2nxn=b2⋯an1x1+an2x2+⋯+annxn=bn
的解法,这里假定 系数行列式不为零。若用矩阵表示,则上述方程组可表示为 1
AX=b
目前,计算机上常用的解线性方程组的方法大致可分为“直接法”与“迭代法”两大类。“直接法”是指那些在没有舍入误差影响的条件下经有限步四则运算可求得准确解的方法,而“迭代法”则是一种逐次逼近的方法 2。
本专题主要介绍如下几类求解方法:
- 直接法
1. LU分解
2. 追赶法求解三对角矩阵
3. 平方根法求解对称正定矩阵 - 迭代法
1. 雅克比迭代法
2. 高斯-赛德尔迭代法
3. 逐次超松弛迭代法
4. 共轭梯度法
5. QR分解