一、Gauss–Seidel Iteration(高斯-赛德尔迭代)
https://en.wikipedia.org/wiki/Gauss%E2%80%93Seidel_method
高斯-赛德尔迭代是数值代数中的一种迭代法,用于求解线性方程组(linear system of equations)。
对于由工程技术中产生的大型稀疏矩阵方程组(阶数很高,但零元素较多,例如求某些偏微分方程数值解所产生的线性方程组),利用迭代法求解此方程组比较合适,在计算机内存和运算两方面,迭代法通常都可利用矩阵中有大量零元素的特点。
迭代过程:
有方程组Ax = b,其中:
把A拆成两个矩阵,上三角矩阵U和下三角矩阵L*
则这个方程组可以变形为:
由此建立迭代公式:
这个公式还可以继续展开成这样:
展开方法是前向替换(forward substitution)
先介绍前向替换:
对于方程 Lx = b ,其中 L 是 m 行 m 列的下三角矩阵, x , b 如下:展开方程Lx = b:
解出x:
回到刚才的步骤,条件如下:
展开方程:
其中x3:
所以xi:
迭代公式:
二、Jacobi method(雅可比方法)
https://en.wikipedia.org/wiki/Jacobi_method
迭代过程:
设方程组Ax = b,其中:
把A拆成两个矩阵,对角矩阵D和剩余部分的矩阵R
则这个方程组可以变形为:
这个公式还可以继续展开,过程如下:
最终: