跳至內容

切比雪夫迭代

出自Taiwan Tongues 繁中維基
這是此頁批准,以及是最近的修訂。

在數值線性代數中,切比雪夫迭代法是一種用於求解線性方程組的迭代方法。此方法以俄羅斯數學家帕夫努季·切比雪夫的名字命名。

切比雪夫迭代法避免了其他非定常方法所必需的內積計算。對於某些分散式記憶體架構而言,這些內積計算是效率上的一大瓶頸。避免內積計算的代價是,該方法需要對係數矩陣 A 的譜有足夠的了解,即需要最大特徵值的上界估計和最小特徵值的下界估計。對於非對稱矩陣 A,此方法也有相應的修改版本。

MATLAB 範例程式碼

<syntaxhighlight lang="matlab"> function [x] = SolChebyshev002(A, b, x0, iterNum, lMax, lMin)

 d = (lMax + lMin) / 2;
 c = (lMax - lMin) / 2;
 preCond = eye(size(A)); % 預處理器
 x = x0;
 r = b - A * x;
 for i = 1:iterNum % size(A, 1)
     z = linsolve(preCond, r);
     if (i == 1)
         p = z;
         alpha = 1/d;
     else if (i == 2)
         beta = (1/2) * (c * alpha)^2
         alpha = 1/(d - beta / alpha);
         p = z + beta * p;
     else
         beta = (c * alpha / 2)^2;
         alpha = 1/(d - beta / alpha);
         p = z + beta * p;
     end;
     x = x + alpha * p;
     r = b - A * x; %(= r - alpha * A * p)
     if (norm(r) < 1e-15), break; end; % 必要時停止
 end;

end </syntaxhighlight> 程式碼譯自

與。

參見

  • 迭代法. 線性系統
  • 數值分析主題列表. 求解線性方程組
  • 雅可比迭代法
  • 高斯-賽德爾迭代法
  • 修正理查森迭代法
  • 逐次超鬆弛法
  • 共軛梯度法
  • 廣義最小殘差法
  • 雙共軛梯度法
  • 迭代範本函式庫
  • IML++

參考資料

外部連結

  • 切比雪夫迭代法. 來自 MathWorld
  • 切比雪夫迭代法. Go 語言實作

Category:數值線性代數 Category:迭代法