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.eq3.gif 732件 [詳細] filels_bicg3.eq30.gif 678件 [詳細] filels_bicg3.eq4.gif 687件 [詳細] filels_bicg3.eq5.gif 798件 [詳細] filels_bicg3.eq6.gif 773件 [詳細] filels_bicg3.eq7.gif 658件 [詳細] filels_bicg3.eq8.gif 668件 [詳細] filels_bicg3.eq9.gif 733件 [詳細] filels_bicg3.eq16.gif 604件 [詳細] filels_bicg3.eq17.gif 646件 [詳細] filels_bicg3.eq18.gif 655件 [詳細] filels_bicg3.eq19.gif 689件 [詳細] filels_bicg3.eq2.gif 619件 [詳細] filels_bicg3.eq20.gif 698件 [詳細] filels_bicg3.eq21.gif 715件 [詳細] filels_bicg3.eq22.gif 621件 [詳細] filels_bicg3.eq23.gif 628件 [詳細] filels_bicg3.eq24.gif 664件 [詳細] filels_bicg3.eq25.gif 631件 [詳細] filels_bicg3.eq26.gif 690件 [詳細] filels_bicg3.eq27.gif 651件 [詳細] filels_bicg3.eq28.gif 734件 [詳細] filels_bicg3.eq29.gif 633件 [詳細] filels_bicg3.eq1.gif 745件 [詳細] filels_bicg3.eq10.gif 652件 [詳細] filels_bicg3.eq11.gif 753件 [詳細] filels_bicg3.eq13.gif 659件 [詳細] filels_bicg3.eq14.gif 680件 [詳細] filels_bicg3.eq12.gif 764件 [詳細] filels_bicg3.eq15.gif 658件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-03-08 (金) 18:06:10