求解 Ax=b —— 共轭梯度法(上)
· 9 min read
为了进行线性方程组 的数值求解,这里介绍一种数值求解方法 —— 共轭梯度法(Conjugate gradient method),简称 CG。 共轭梯度法适用于矩阵 是对称正定的情况,如果不考虑计算机处理浮点数的误差,该方法能够给出线性方程组的精确解。
共轭梯度法的条件
为了求解线性方程组(或者说线性系统) ,其中 是一个 的矩阵,即 ;;。
此外,还要求矩阵 是对称正定(symmetric position definite,SPD)的,这样才能保证最后共轭梯度法的迭代会收敛到所要求的解。
所谓对称,是指 ,即矩阵 的转置等于其本身。
所谓正定,是指 ,都有 。
可以总结,为了使用共轭梯度法,对矩阵 有如下对约束条件:
- 矩阵必须是对称矩阵;
- 矩阵必须是正定矩阵;
- 矩阵必须是 的方阵(其中这条已经隐含在条件1和2里面了,因为矩阵的对称和正定都要求矩阵是方阵);