雅可比迭代c 實現 線性方程組 3 靜態迭代法

2021-10-11 14:45:15 字數 1589 閱讀 4400

上一節講到直接解法有誤差積累和破壞矩陣稀疏性的問題。

實際中應用較廣泛的是解法通常是迭代法。相比直接解法,迭代解法在高效能並行實現上擁有很大的優勢。但是,在此之前先要確定迭代法能否在可以接受的步數之內收斂。

不嚴謹地說,迭代法收斂性的大致趨勢是:對於常用的大多數迭代法,矩陣的條件數越小收斂越快。

常用的迭代終止條件有:

靜態迭代法(stationary iterative methods)是指形如

的迭代法。因為

和 不隨迭代步數而變化,所以叫靜態迭代法。這裡介紹三種靜態迭代法:雅可比法(jacobi method)、高斯-賽德爾法(gauss-seidel method)和鬆馳法(successive relaxation method)。

靜態迭代法收斂的充分條件是,存在運算元範數

,使得

;更直觀的乙個充分條件是,

的最大特徵值的模小於

雅可比法

乙個線性方程組的第

個方程是

假設除了

以外的所以未知數都已被解出,那麼

即可推導出迭代法

若將矩陣

分解為三部分

,其中

為不包括對角線的下三角部分,

為對角線,

為不包括對角線的上三角部分;則雅可比法可寫成矩陣形式

高斯-賽德爾法

在雅可比法中,新值是用舊值代入解出的,而我們通常認為新值比舊值更接近精確解。如果

到 是按順序依次計算的,那麼在計算

時可以用前面已經計算出來的

個新值,即

高斯-賽德爾法也可以寫成矩陣形式

或高斯-賽德爾法還有其反向形式,即先計算

到 ,再計算

,迭代公式為

矩陣形式

雅可比法與高斯-賽德爾法的總結與比較

雅可比法和高斯-賽德爾法收斂的乙個充分條件是係數矩陣

嚴格對角佔優或不可約弱對角佔優。

高斯-賽德爾法由於使用了新值,收斂性比雅可比法好。但是前面提到,

到 是按順序依次計算的,這就使得高斯-賽德爾法的並行性有限,從而迭代一步的計算時間比雅可比法要長。

鬆馳法

高斯-賽德爾法迭代公式可寫為

將這個變化量乘上鬆弛因子

,得到即

鬆弛法中的

可以證明,其最大特徵值的模

,所以應該選取

。在實際應用中通常取

時收斂較快,這個條件下的鬆弛法又稱為超鬆馳法(successive over-relaxation method)。

靜態迭代法的迭代式又可以寫為

在這裡雅克比法和高斯-賽德爾法分別取

其實在此基礎上任選

都能構造一種靜態迭代法,例如後面要提到的不完全lu分解等更精確的方法。不過在不完全lu分解法出現時,已經有收斂更快的克雷洛夫子空間法,靜態迭代法因收斂性不足而逐漸被取代。這裡為何還要講靜態迭代法呢?這些

的近似方法,在克雷洛夫子空間法中還會用到,這個之後會講到。

線性方程組

給出乙個線性方程組的標準形式 a11x1 a12x 2 a1nx na21x 1 a22 x2 a2n xnan 1x1 an2x 2 annx n b1 b2 bn 1x 2y 34x 5y 6 1 2 這裡由克萊姆法則進行計算得出xy 3625 14 25 3 5 2 61 5 2 4 3 3 ...

線性方程組

若線性方程組相容,則此方程組有1個或無窮多個解 若線性方程組不相容,則該方程組無解。線性方程組所有解的集合被稱為線性方程組的解集 若線性方程組不相容,則解集為空集。若兩個含有相同變數的方程組具有相同的解集,則稱它們是等價的。有三種運算可以得到等價的方程組 交換任意兩個方程的順序 任一方程兩邊同乘乙個...

線性方程組

給出乙個線性方程組,有 n 個未知數和 m 個方程 a x 1 a x 2 a x n b 1 a x 1 a x 2 a x n b 2 a x 1 a x 2 a x n b m 對於解該線性方程組,首先構造增廣矩陣,按列分塊 a left begin a a a b a a a b a a a...