雅克比叠代法

雅克比叠代法

數學名詞
雅克比叠代法的優點明顯,計算公式簡單,每叠代一次隻需計算一次矩陣和向量的乘法,且計算過程中原始矩陣A始終不變,比較容易并行計算。雅克比叠代法就是衆多叠代法中比較早且較簡單的一種,其命名也是為紀念普魯士著名數學家雅可比。[1]首先将方程組中的系數矩陣A分解成三部分,即:A=L+D+U,如圖1所示,其中D為對角陣,L為下三角矩陣,U為上三角矩陣。
  • 中文名:雅克比叠代法
  • 外文名:Jacobi
  • 适用領域:數學計算
  • 所屬學科:
  • 名稱來源:紀念普魯士著名數學家雅可比
  • 有點:方便,快捷

概念

考慮線性方程組Ax=b時,一般當A為低階稠密矩陣時,用主元消去法解此方程組是有效方法。但是,對于由工程技術中産生的大型稀疏矩陣方程組(A的階數很高,但零元素較多,例如求某些偏微分方程數值解所産生的線性方程組),利用叠代法求解此方程組就是合适的,在計算機内存和運算兩方面,叠代法通常都可利用A中有大量零元素的特點。雅克比叠代法就是衆多叠代法中比較早且較簡單的一種,其命名也是為紀念普魯士著名數學家雅可比。

叠代過程

首先将方程組中的系數矩陣A分解成三部分,即:A=L+D+U,如圖1所示,其中D為對角陣,L為下三角矩陣,U為上三角矩陣。

之後确定叠代格式,X^(k+1)=B*X^(k)+f,(這裡^表示的是上标,括号内數字即叠代次數),如圖2所示,其中B稱為叠代矩陣,雅克比叠代法中一般記為J。(k=0,1,......)

再選取初始叠代向量X^(0),開始逐次叠代。

收斂性

設Ax=b,其中A=D+L+U為非奇異矩陣,且對角陣D也非奇異,則當叠代矩陣J的譜半徑ρ(J)<1時,雅克比叠代法收斂。

優缺點

雅克比叠代法的優點明顯,計算公式簡單,每叠代一次隻需計算一次矩陣和向量的乘法,且計算過程中原始矩陣A始終不變,比較容易并行計算。然而這種叠代方式收斂速度較慢,而且占據的存儲空間較大,所以工程中一般不直接用雅克比叠代法,而用其改進方法。

程序實現示例

#include

#include

#include

main(){

floate=0.001,z,m,a={5,2,1,-1,4,2,2,-3,10},b={-12,20,3},x={0,0,0},y;

intn=3,j,i,k=1;

while(1){

for(i=0;i<3;i++){

for(j=0;j<3;j++)

m=m+a[i][j]*x[j];

m=m-x[i]*a[i][i];

y[i]=(b[i]-m)/a[i][i];

m=0;

}

i=0;

while(i<3){

z=fabs(x[i]-y[i]);

if(z>e)

break;

i++;

}

if(i!=3){

for(i=0;i<3;i++)

x[i]=y[i];

k++;

}

elseif(i==3)

break;

}

printf("%fn%fn%fn",y,y,y);

}

相關詞條

相關搜索

其它詞條