Common Library
0.9.5
|
ガウス=ザイデル法に SOR 法を適用した連立方程式の計算 [詳解]
公開メンバ関数 | |
LES_GaussSeidel_SOR (T w, T e, unsigned int maxCnt) | |
緩和係数・収束判定のしきい値・最大処理回数を指定して構築 [詳解] | |
template<class Ran > | |
void | operator() (const SquareMatrix< T > &a, Ran b) |
連立方程式を解く [詳解] | |
ガウス=ザイデル法に SOR 法を適用した連立方程式の計算
緩和係数により収束するスピードを早くすることができる。1 のときは通常のガウス=ザイデル法と等しい。
テンプレート引数の T は係数や解の型を、Test は収束判定用関数オブジェクト (ConvergenceTest_BySum か ConvergenceTest_ByMax の利用を想定。デフォルトは ConvergenceTest_BySum) をそれぞれ表す。
|
inline |
緩和係数・収束判定のしきい値・最大処理回数を指定して構築
w | 緩和係数 |
e | 収束判定のしきい値 |
maxCnt | 収束しなかった場合の最大処理回数 |
void LES_GaussSeidel_SOR< T, Test >::operator() | ( | const SquareMatrix< T > & | a, |
Ran | b | ||
) |
連立方程式を解く
a | 連立方程式の係数行列への参照 |
b | 対象の連立方程式の解ベクトルの先頭位置(計算結果の未知数がそのまま返される) |