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 463件 [詳細] filels_bicg3.eq11.gif 555件 [詳細] filels_bicg3.eq1.gif 546件 [詳細] filels_bicg3.eq12.gif 547件 [詳細] filels_bicg3.eq5.gif 578件 [詳細] filels_bicg3.eq20.gif 545件 [詳細] filels_bicg3.eq9.gif 550件 [詳細] filels_bicg3.eq28.gif 572件 [詳細] filels_bicg3.eq30.gif 516件 [詳細] filels_bicg3.eq4.gif 530件 [詳細] filels_bicg3.eq10.gif 504件 [詳細] filels_bicg3.eq8.gif 512件 [詳細] filels_bicg3.eq27.gif 507件 [詳細] filels_bicg3.eq21.gif 572件 [詳細] filels_bicg3.eq14.gif 523件 [詳細] filels_bicg3.eq26.gif 537件 [詳細] filels_bicg3.eq19.gif 537件 [詳細] filels_bicg3.eq24.gif 503件 [詳細] filels_bicg3.eq3.gif 556件 [詳細] filels_bicg3.eq7.gif 503件 [詳細] filels_bicg3.eq18.gif 484件 [詳細] filels_bicg3.eq17.gif 490件 [詳細] filels_bicg3.eq25.gif 484件 [詳細] filels_bicg3.eq16.gif 456件 [詳細] filels_bicg3.eq2.gif 490件 [詳細] filels_bicg3.eq22.gif 477件 [詳細] filels_bicg3.eq23.gif 483件 [詳細] filels_bicg3.eq13.gif 503件 [詳細] filels_bicg3.eq6.gif 612件 [詳細] filels_bicg3.eq29.gif 480件 [詳細]

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