Loading article…
数値線形代数において、チェビシェフ反復法は、連立一次方程式の解を求めるための反復法である 。この方法は、ロシアの数学者パフヌティ・チェビシェフにちなんで名付けられた。
チェビシェフ反復法は、他の非定常法で必要となる内積の計算を回避します。分散メモリアーキテクチャによっては、これらの内積が効率性のボトルネックとなる場合があります。内積を回避する代償として、この方法は係数行列Aのスペクトル、つまり上側固有値の上限推定値と下側固有値の下限推定値について十分な知識を必要とします。非対称行列Aの場合にも、この方法の修正版が存在します。
関数[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