スポンサーサイト
-- / -- / -- ( -- )
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--:--:-- | スポンサー広告 | page top↑
ガウス・ザイデル法
2008 / 02 / 16 ( Sat )
ヤコビ法として、

un+1i,j = (uni+1.juni-1,j + uni,j+1uni,j-1) / 4 

を紹介しました。
この方法では、un+1i,j を求めるために、周りの4点から計算します。
n+1 時間ステップを計算するとき、n 時間ステップの値は既知ですので、任意のi,j 点における計算はすべて独立に、いわゆる並列計算が可能です。
すべての計算格子点にCPUを割り当てて計算すれば、1時間ステップの計算は1回の計算で済んでしまいます。

ただし、手元のパソコンでは並列計算は無理かもしれません。

ヤコビ法は、上記の式をひたすら繰り返して、最終的に、
n+1 時間ステップと n 時間ステップの値が同じになれば、解が求まったと判断されます。
しかしながら、かなりの反復回数が必要であることが知られています。

この反復回数を減らすことができる反復法として、ガウス・ザイデル法(Gaus- Seidel Method)があります。

ガウス・ザイデル法では、

ガウスザイデル

に示すような、ハイパーライン(Hyper Line)と呼ばれる、いわゆる掃引により計算します。すなわち、図中のハイパーラインに付いた大きな矢印の方向に向かって計算します。すると、ハイパーラインが通過した点での値は、updateされますから、赤で示したように
n+1 時間ステップの値になります。

これを式で記述すれば、

un+1i,j = (uni+1.jun+1i-1,j + uni,j+1un+1i,j-1) / 4 

のようになります。

すでに
updateされた点の値を有効活用することにより、反復回数を約半分に減らすことができます。


スポンサーサイト

テーマ:自然科学 - ジャンル:学問・文化・芸術

17:10:57 | 計算数理科学 | トラックバック(0) | コメント(0) | page top↑
<<SOR法 | ホーム | ヤコビ法>>
コメント
コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://mathmodelandsim.blog34.fc2.com/tb.php/31-8b062962
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。