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 514件 [詳細] filels_bicg3.eq11.gif 613件 [詳細] filels_bicg3.eq1.gif 595件 [詳細] filels_bicg3.eq12.gif 606件 [詳細] filels_bicg3.eq5.gif 648件 [詳細] filels_bicg3.eq20.gif 578件 [詳細] filels_bicg3.eq9.gif 610件 [詳細] filels_bicg3.eq28.gif 615件 [詳細] filels_bicg3.eq30.gif 555件 [詳細] filels_bicg3.eq4.gif 573件 [詳細] filels_bicg3.eq10.gif 540件 [詳細] filels_bicg3.eq8.gif 556件 [詳細] filels_bicg3.eq27.gif 543件 [詳細] filels_bicg3.eq21.gif 613件 [詳細] filels_bicg3.eq14.gif 560件 [詳細] filels_bicg3.eq26.gif 572件 [詳細] filels_bicg3.eq19.gif 578件 [詳細] filels_bicg3.eq24.gif 541件 [詳細] filels_bicg3.eq3.gif 618件 [詳細] filels_bicg3.eq7.gif 547件 [詳細] filels_bicg3.eq18.gif 535件 [詳細] filels_bicg3.eq17.gif 535件 [詳細] filels_bicg3.eq25.gif 519件 [詳細] filels_bicg3.eq16.gif 499件 [詳細] filels_bicg3.eq2.gif 525件 [詳細] filels_bicg3.eq22.gif 512件 [詳細] filels_bicg3.eq23.gif 526件 [詳細] filels_bicg3.eq13.gif 547件 [詳細] filels_bicg3.eq6.gif 654件 [詳細] filels_bicg3.eq29.gif 520件 [詳細]

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