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 593件 [詳細] filels_bicg3.eq11.gif 687件 [詳細] filels_bicg3.eq1.gif 682件 [詳細] filels_bicg3.eq12.gif 697件 [詳細] filels_bicg3.eq5.gif 723件 [詳細] filels_bicg3.eq20.gif 628件 [詳細] filels_bicg3.eq9.gif 660件 [詳細] filels_bicg3.eq28.gif 659件 [詳細] filels_bicg3.eq30.gif 599件 [詳細] filels_bicg3.eq4.gif 618件 [詳細] filels_bicg3.eq10.gif 590件 [詳細] filels_bicg3.eq8.gif 602件 [詳細] filels_bicg3.eq27.gif 589件 [詳細] filels_bicg3.eq21.gif 659件 [詳細] filels_bicg3.eq14.gif 606件 [詳細] filels_bicg3.eq26.gif 616件 [詳細] filels_bicg3.eq19.gif 626件 [詳細] filels_bicg3.eq24.gif 591件 [詳細] filels_bicg3.eq3.gif 667件 [詳細] filels_bicg3.eq7.gif 593件 [詳細] filels_bicg3.eq18.gif 584件 [詳細] filels_bicg3.eq17.gif 580件 [詳細] filels_bicg3.eq25.gif 563件 [詳細] filels_bicg3.eq16.gif 544件 [詳細] filels_bicg3.eq2.gif 565件 [詳細] filels_bicg3.eq22.gif 550件 [詳細] filels_bicg3.eq23.gif 572件 [詳細] filels_bicg3.eq13.gif 594件 [詳細] filels_bicg3.eq6.gif 696件 [詳細] filels_bicg3.eq29.gif 562件 [詳細]

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