一、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
則這個方程組可以變形爲:
這個公式還可以繼續展開,過程如下:
最終: