Lanczos法を非対称行列に対応させる方法とそれによる 双共役勾配法のアルゴリズムについて説明する. Lanczos双直交化†Lanczos法は対称行列に限定した,Krylov部分空間における正規直交基底を求める方法であったが,
これを非対称行列に対応させた拡張をLanczos双直交化(Lanczos Biorthogonalization or Two-sided Lanczos method),
非対応行列の正規直交基底を求めるのならばArnoldi法になるのではないかと思うが,
そうではなく,双直交系(biorthogonal system)に基づく方法で,Arnoldiとは異なる.
ちなみに 双直交系とは,2つのベクトル空間のそれぞれの直交基底 Lanczos双直交化では,以下の2つのKrylov部分空間の正規直交基底を求めていく. ![]() ![]() 双直交な Lanzcos法のアルゴリズムより,以下の3項漸化式(three-term recurrence formula)が成り立つ. ![]()
![]() ここで, ![]() 双直交化するために, ![]() となる.この条件を満たす限り, ![]() とする.また,この定義から以下も成り立つ. ![]() これらの式を用いたLanczos双直交化のアルゴリズムは以下となる.
得られた ![]() を考える.双直交系なので, ![]() 3項漸化式より, ![]()
![]() この式から, ![]() 双直交性から ![]() Lanczos双直交化による線形システムの解法†Lanczos双直交化法で線形システム
双共役勾配法†Lanzcos法から共役勾配法のアルゴリズムを導出したのと同じような方法で, 双直交版のLanzcos法から双共役勾配法(Bi-Conjugate Gradient method : BiCG法)が導かれる. 双共役勾配法は, ![]() としたProjection法となる.
ここで, Direct版のLanczos法を使ってCG法のアルゴリズムを導いたのと同じように,
双直交版のLanczos法の ![]() よって,近似解は, ![]() ここから, ![]() また, ![]() であるので, ![]() 共役勾配法と同様にすると以下の双共役勾配法のアルゴリズムが得られる.
参考文献†
|