Lanzcos法から共役勾配法のアルゴリズムを導出したのと同じような方法で, 双直交版のLanzcos法から双共役勾配法(Bi-Conjugate Gradient method : BiCG法)が導かれる.

双共役勾配法は,

ls_bicg3.eq1.gif

としたProjection法となる. ここで,ls_bicg3.eq2.gifである.

Direct版のLanczos法を使ってCG法のアルゴリズムを導いたのと同じように, 双直交版のLanczos法のls_bicg3.eq3.gifをLU分解し(ls_bicg3.eq4.gif),以下のようにls_bicg3.eq5.gifを定義する.

ls_bicg3.eq6.gif

よって,近似解は,

ls_bicg3.eq7.gif

ここから,ls_bicg3.eq8.gifからls_bicg3.eq9.gifを求める. ls_bicg3.eq10.gifとその共役ls_bicg3.eq11.gifをそれぞれls_bicg3.eq12.gifのスカラー倍とすると,

ls_bicg3.eq13.gif

また,ls_bicg3.eq14.gifとすると,

ls_bicg3.eq15.gif

であるので,ls_bicg3.eq16.gifls_bicg3.eq17.gifの列ベクトルについて,A-共役が成り立つ. つまり,

ls_bicg3.eq18.gif

共役勾配法と同様にすると以下の双共役勾配法のアルゴリズムが得られる.

初期近似解ls_bicg3.eq19.gifを適当に設定
残差ベクトルls_bicg3.eq20.gifを計算し, ls_bicg3.eq21.gifである共役残差ベクトルls_bicg3.eq22.gifを設定
ls_bicg3.eq23.gifを設定
for(j = 0,1,...){
  ls_bicg3.eq24.gif
  ls_bicg3.eq25.gif
  ls_bicg3.eq26.gif
  ls_bicg3.eq27.gif
  if(収束判定) 反復終了
  ls_bicg3.eq28.gif
  ls_bicg3.eq29.gif
  ls_bicg3.eq30.gif
}


添付ファイル: filels_bicg3.eq15.gif 409件 [詳細] filels_bicg3.eq11.gif 496件 [詳細] filels_bicg3.eq1.gif 488件 [詳細] filels_bicg3.eq12.gif 487件 [詳細] filels_bicg3.eq5.gif 516件 [詳細] filels_bicg3.eq20.gif 505件 [詳細] filels_bicg3.eq9.gif 491件 [詳細] filels_bicg3.eq28.gif 526件 [詳細] filels_bicg3.eq30.gif 474件 [詳細] filels_bicg3.eq4.gif 485件 [詳細] filels_bicg3.eq10.gif 455件 [詳細] filels_bicg3.eq8.gif 469件 [詳細] filels_bicg3.eq27.gif 464件 [詳細] filels_bicg3.eq21.gif 524件 [詳細] filels_bicg3.eq14.gif 484件 [詳細] filels_bicg3.eq26.gif 489件 [詳細] filels_bicg3.eq19.gif 490件 [詳細] filels_bicg3.eq24.gif 469件 [詳細] filels_bicg3.eq3.gif 503件 [詳細] filels_bicg3.eq7.gif 473件 [詳細] filels_bicg3.eq18.gif 444件 [詳細] filels_bicg3.eq17.gif 446件 [詳細] filels_bicg3.eq25.gif 452件 [詳細] filels_bicg3.eq16.gif 417件 [詳細] filels_bicg3.eq2.gif 451件 [詳細] filels_bicg3.eq22.gif 435件 [詳細] filels_bicg3.eq23.gif 440件 [詳細] filels_bicg3.eq13.gif 458件 [詳細] filels_bicg3.eq6.gif 575件 [詳細] filels_bicg3.eq29.gif 442件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-07-17 (火) 11:20:23 (2996d)