|TOP Page|
AMG法はMultigrid法の一種の方法であり、直交格子だけでなく、非構造格子や一般的な疎行列も解けるように幾何マルチグリッド法を拡張したものである。マルチグリッド法と同じく、多くの問題では反復数がメッシュサイズに依存しないという特徴があり、現在もっとも高速な連立一次方程式の解法の1つといえる。
AMGが幾何的マルチグリッド法と違う点は、
である。AMG法では行列を解く準備として、
Coarse Grid CorrectionはSmootherの収束が遅いような誤差を落とすことが目的である。この誤差を取り除くためにはProlongationオペレータの値域にこの誤差が含まれていなければならない。よってこのSmootherの収束が遅いような誤差がどのような性質を持っているのかを調べてそのような誤差を表現できるようにProlongationのオペレータを作成する。Smootherの収束が遅いような誤差は次のような性質を持っている。
以下この上の性質について詳しく述べる
古典的反復法における残差は次のように更新される
古典的反復法で収束が遅い場合はであるから、
つまり、
Smootherで収束が遅い誤差は残差が小さいということがいえる。
CoarseGridCorrectionではこのようなSmootherの効率がわるい、残差が小さいという性質をもった誤差を効率よく小さくすることを目標としている。そのため、残差が小さいという性質は非常に重要で、この単純な性質をもった誤差が値域にはいるようにProlongationのオペレータを決め、CoarseGridCorrectionを行う。
このような小さい残差を生むような誤差は代数的に滑らかな誤差(Algebraically Smooth error)という。問題によって代数的に滑らかな誤差でも幾何的には振動している可能性がある。またこのように小さな残差を生むような誤差の別の呼び方として値が0に近いことからNear Kernel errorともいう。
上の議論は大雑把で、小さい残差とはいっても何と比較して小さいのかわからない。もっと正確には、2つの誤差ノルムに次の関係が成り立つとき残差が小さいという。
つまり、
成分で書くと
上の式は和で表されているが、平均的な性質として
となることが期待される。
さて、残差が小さいつまり、であるような誤差はどのような性質を持つのかを調べてみよう。
次の関係が成り立つ。
ここではシュワルツの不等式を用いた。これを利用して、である場合は
であることがわかる。
成分を用いてこれを書くと次のとおりになる。
ここで、多くの場合に成り立つの関係を用いる。また上式は和について成り立つ式であるが、平均的な性質として各iについても成り立つとすると次のとおりになる。
つまり以下が成り立つ
![]() |
これはが大きければ
が成り立つことを意味している。
つまり、誤差は強い接続上で急激に変化しないという性質を持っていることがわかる。
大きさ1×1の矩形領域における次のような異方性のあるポアソン方程式(Poisson's Equation)
において乱数を初期値としてGauss Sidel法を用いたSmootherを300反復させた後の誤差の様子である。
xの方向よりもyの方向の拡散係数が1000倍大きく、領域の内側の全ての点はyの方向に強い接続、xの方向に弱く接続している。x方向には解がランダムに振動しているのに対してy方向には滑らかに変化している。Smootherで収束の遅い誤差は強い接続上で急激に変化しないということがわかる。
強い接続上で誤差の変化が少ないのでこの強い接続の方向に点を間引き、補間によって間引かれた点の値を表現することができる。このことを利用してF/C SplittiongやProlongationオペレターの作成を行う。
であった。このとき 行列
の成分
が大きい場合、
の値は
の値に大きく影響する。逆に
が小さい場合、
の値が
の値に及ぼす影響は小さくなる。
F/C SplitingやProlongationオペレター作成時ではこの強い接続、弱い接続をはっきり区別する必要がある。そこで、i行目の非対角成分の相対的な大きさから判断して、どの成分kがiに大きく影響するのかを調べ、強い接続、弱い接続に分ける。
がM行列(対角が正で非対角が負)の場合は一般的にStrong Connectionは次のようにして定義される。
は
であるパラメータで0.25とされることが多い。
マルチグリッド法におけるCoarce Grid CorrectionはSmootherが収束しにくいような誤差を落とすためのものであった。
このような収束しにくい誤差の性質として、
ということが分かった。このような誤差を表現できるようなProlongationのオペレータを作ることが目標である
もちろん粗いグリッドの点の値はそのまま反映されるので、のとき
である。以下では
のとき、
どのようにして粗いグリッドの点から補間されるのかを調べよう。
Smootherで収束しにくい誤差は残差が小さかった。
成分ごとに書き出すと次のようになる。
つまりの値は
に接続している点全ての値
から知ることができる。以下ではこの
に接続している点の値について述べる。
に接続している点は次の3種類ある。
細かいグリッドの点![]() |
---|
![]() |
@:粗いグリッドの点 A:iに弱く接続している細かいグリッドの点 B:iに強く接続している細かいグリッドの点 |
に接続している粗いグリッドの点
は値
をそのまま使えばいい。
の場合は補間を行わない。次のような値をとることでCoarseGridCorrectionの安定性を増すことができる。
の場合は行列の係数の重みを用いた平均として計算する。
Smootherで収束しにくい成分は強い接続上で変化が少ないのでこのように強い接続間の補完によって値を近似することができる。このような補間はもしもが定数である場合に
が同じ値をとるという性質を満たす。このような定数モードの補間ができることは重要である。
分母が0にならないという条件から、全てのiへ強く影響している点kとiと隣接する細かい節点lは必ず一つは粗い節点に隣接していなければならないということがわかる。通常この性質が満たされるようにF/C Splittingを行う
節点の周りの点の値が分かったので節点
の値を求めてみよう。
節点iについての残差が小さいということから
が成り立つのであった。周囲の点を上の3パターンに分けると次のようになる。
これに周囲の節点の値を代入して、
これらを変形してまとめると
AMGにおける粗いグリッドから細かいグリッドへの補間式 |
---|
![]() |
が正定値対称行列の場合はRistrictionの行列は次のようにProlongationの転置(
が複素数行列の場合はHarmetian)を用いると
ノルムの意味での誤差ノルムの最小化ができる。このような方法は有限要素法との類推からGalerkin法とも呼ばれる
が正定値対称行列ではない場合にはRistrictionにProlongationの転置を用いる方法は必ずしも最適とはいえない。様々なRistrictionを決定する方法が提案されているが、問題依存であることが多い。
AMG法ではコースグリッドを行列の係数を元に作成しなければならない。
細かいグリッド上で粗いグリッドの点の集合を、それ以外の点を
とする。
また細かいグリッドにおいて点と接続している点
、つまり
の集合を
とする。
細かいグリッド上で点に接続している粗いグリッドの点の集合を
というふうに書く。つまり
同様に細かいグリッド上で点に接続している細かいグリッドの点の集合を
というふうに書く。つまり
粗いグリッドの点から細かいグリッドの点に補間ができるためには次の条件を満たす必要がある。
iを細かいグリッドの点とし、jがiに強く接続している点(つまり![]() ![]() ![]() |
計算効率のことを考えるとできるだけ少ない粗いグリッドの点で細かいグリッドへの補間ができたほうがいいと考えられる。
上の条件を満たしつつできるだけ少ないグリッドで計算を行うためには
粗いグリッド同士は強く接続していない |
という性質を満たとよい。この粗いグリッド同士の接続がないという条件はグリッドの数を減らして計算量を小さくするという目的のもので、決定的に重要な条件ではない。
ここではマルチグリッド法の収束について述べる。解くべき行列は正定値対称であるとする。
また、RistrictionはProlongation
の転置であるとする。つまり、
この場合明らかにコースグリッドのオペレータも正定値対称である。
ノルムは次のようなノルムであるとする。
、但し
は
の対角成分
ノルムはオペレーターノルムであるとする。つまり、
また、ノルムを次のように定義する
Prolongationオペレータとコースグリッドコレクションオペレータ
の値域がオペレータノルム
について直交する、つまり
ということを示す。
、
を任意のベクトルとする。
コースグリッドコレクションはプロロンゲーションオペレータの値域にオペレータノルムにおいて直交する部分空間への射影ということがわかる。
以上より
の両辺のAノルムを計算すると
が成り立つ
![]() ![]() ![]() 各グリッド ![]() ![]() ポストスムージングのみのVcycleマルチグリッド法について、誤差のオペレータノルムの収束率が ![]() |
以下の式は少し複雑なので、具体的な例を用いて物理的な意味を考えよう。
つまりマルチグリッド法の収束が早いと仮定すると、
以上からδが1に近いほどコースグリッドコレクションとスムーザーの能力を足し合わせた収束が早いということが言える。
上式においてに
を代入すると
コースグリッドコレクションは射影オペレータであったから、
、
が成り立つ。
これを使うと次のように変形できる
よって次のようにオペレータノルムでの収束が次のように評価できる。
上のδの式をスムーザーとコースグリッドコレクション
のオペレータについての2つの分離した式に分けられる。
![]() ![]() が成り立つ場合は ![]() |
上の式スムーザーについての式をsmoothing assumptionといい、下のコースグリッドコレクション
についての式をapproximation assumptionという。
上の式にを代入すると
を用いた収束の式と見比べると
であることがわかる。
がポストスムージングのみのVサイクルマルチグリッド法の収束半径の上限であったので
が大きく、
が小さいほど収束が早い
2cycle multigrid法では、任意の![]() ![]() ![]() |
とすると
から、任意の
に対して以下が成り立つ
ここでShwarzの不等式、であることを用いた。
任意の任意のについて
が成り立つとき、
両辺2乗して
が成り立つ。以上はについて成り立っていたので
を代入して最終的に
が成り立つ。
Multigrid Methods |
Stephen F.McCormic 著 |
[1] J.W.Ruge and K.Stuben, algebraic multigrid (AMG), in Mutigrid Methods, S. F. McCormic, ed., Frontiers in Appl. Math. 3, SIAM, Philadelphia, 1987, pp.73-130