1. 程式人生 > >數值分析-線性方程組的迭代解法

數值分析-線性方程組的迭代解法

迭代法

對於AX = b

可將方程組進行改寫

得到X = BX + f

迭代法就是通過設定初值X0

然後通過Xk+1 = BXk + f不斷迭代

迭代一定次數後,Xn 可近似的看做方程組的解

 

迭代法的收斂性

  設X*為方程組的準確解

  εk = || X - X* ||

  可以看到εk+1 = B * εk

  迭代法收斂的充要條件是B的譜半徑<1

  B的譜半徑為B最小的那個特徵值

 

收斂階

  收斂階就是收斂速度

  平均收斂速度為-ln || Bk ||1/k

  漸進收斂速度為 R(B) = -ln (ρ(B))

  ρ(B)表示B的譜半徑

  

  若要求|| εk || / || ε0 || <= σ

  那麼k >= -ln(σ) / R(B)

 

 

不同的收斂法就是獲取B的方式有所不同

雅克比迭代法

  將矩陣A分為

  D:對角線上的元素 

  L:對角線之下的元素的相反數

  U:對角線之上的元素的相反數

  A = D - L - U

  

  DXk+1 = (L + U)Xk + b

 

高斯-賽德爾迭代法

  (D-L)Xk+1 = UX

+ b

  高斯賽德爾迭代法是雅克比迭代法的一種改進

  減少了計算量