ガウス・ザイデル法
ガウス・ザイデル法は、離散化で現れる疎な連立一次方程式
参考ドキュメント
- ガウス=ザイデル法(日本語Wikipedia) https://ja.wikipedia.org/wiki/ガウス=ザイデル法
- R. Barrett et al., Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods(Netlib, PDF) https://www.netlib.org/templates/templates.pdf
- 多重格子法の講義資料(緩和演算子としての Gauss-Seidel に言及、東京大学) https://www.cc.u-tokyo.ac.jp/events/lectures/04/kosyu-20090312-mm.pdf
1. 離散化が生む線形方程式
有限差分法・有限要素法・有限体積法などで、拡散・静電ポテンシャル・弾性・磁気スカラーポテンシャル等の場の方程式を離散化すると、未知ベクトル
代表例:均一媒質のポアソン方程式
3 次元の等間隔格子(格子幅
の形に落ち、全格子点をまとめると
2. 逐次更新で「その場で上書き」する
2.1 反復法
である。ここで
2.2 行列分割(matrix splitting)
係数行列を
(
となる。すなわち、反復行列
である。上書き更新ゆえに、追加の作業ベクトルが不要になりやすい点が利点となる。
3. 収束条件
3.1 収束判定の基本
誤差
を満たす。したがって
(スペクトル半径が 1 未満)なら収束する。
3.2 代表的な十分条件
一般に、次の条件はよく使われる十分条件である。
- 厳密対角優位(strict diagonal dominance)
- 対称正定値(symmetric positive definite; SPD)
ポアソン型方程式の離散化や、弾性の剛性行列(境界条件が適切な場合)は SPD 構造を持ちやすく、ガウス・ザイデル法が安定に働く典型例である。
3.3 エネルギー最小化
SPD 行列
を考えると、
4. ヤコビ法との違いと更新順序の意味
4.1 ヤコビ法との対比
ヤコビ法は
であり、右辺がすべて古い値
ガウス・ザイデル法は「更新したら即使う」ため、反復 1 回あたりの誤差減衰が強いことが多いが、逐次依存が生じる。
4.2 順序依存と再番号付け
ガウス・ザイデル法は未知数の更新順序(行・列の並び)で反復の挙動が変わりうる。疎行列をグラフとして見たとき、近い未知数が近い順序になるように並べ替える(帯幅削減、領域分割に沿った順序など)と、収束が改善する場合がある。
5. 緩和と対称ガウス・ザイデル
5.1 緩和(SOR:successive over-relaxation)
ガウス・ザイデル法に緩和係数
とする。
5.2 対称ガウス・ザイデル(SGS)
前進(forward)ガウス・ザイデルと後退(backward)ガウス・ザイデルを連続して行うものが対称ガウス・ザイデルである。SPD 問題に対する前処理(例:共役勾配法の前処理)として用いられることがある。
6. 注意点
6.1 残差による停止
残差を
とし、例えば
や
で停止する。ポアソン系では、残差の空間分布が局所的に残ることがあり、ノルムだけでなく最大値
6.2 収束が遅い・不安定になる典型
- 行列が強く非対角支配である、または条件数が大きい
- 非対称・非正定値で、反復行列のスペクトル半径が 1 に近い
- 更新順序が疎行列構造と相性が悪い
- 初期値が物理的に不適切である(境界条件・ゲージ条件の扱いなど)
この場合、前処理、再番号付け、SOR、Krylov 法(CG, GMRES など)への移行、あるいは多重格子の導入が検討対象になる。
7. 多重格子法におけるガウス・ザイデル
多重格子法では「粗い格子で低周波誤差を補正し、細かい格子で高周波誤差を減衰させる」という役割分担がある。ガウス・ザイデル法は反復 1〜数回で高周波成分の誤差を効率よく減衰させやすく、緩和演算子(smoother)として頻用される。
概念的には、細格子で
を数回行い、残差を粗格子に移して補正量を計算し、再び細格子へ戻す。ここで
8. 並列化の工夫
逐次依存は並列化の障害であるが、格子型問題では「同じ色どうしは互いに依存しない」ように塗り分けると並列更新が可能になる。
- 赤黒ガウス・ザイデル(2-color)
- 2 次元・3 次元格子のチェッカーボード分割で、赤点を一斉更新 → 黒点を一斉更新の順に行う
- マルチカラー(graph coloring)
- 一般疎行列でも、隣接しない未知数が同じ色になるように彩色して並列化する
- ブロック・ガウス・ザイデル
- 変数をブロックにまとめて更新し、ブロック内部は小さな直接法や局所反復で解く
これらは、多重格子の並列 smoother としても重要な設計点になる。
9. 本手法の位置づけ
| 手法 | 更新の特徴 | 並列性 | 収束の傾向 | 代表的な使いどころ |
|---|---|---|---|---|
| ヤコビ法 | 全成分を古い値で計算し一斉更新 | 高い | 遅め | 前処理、GPU向け、最初の粗い反復 |
| ガウス・ザイデル法 | 更新済みを即利用して逐次更新 | 低い(工夫で改善) | 速めになりやすい | ポアソン系、緩和、smoother |
| SOR 法 | GS に緩和係数 | 低い(工夫で改善) | 条件次第で加速 | 反復加速、古典的 PDE 解法 |
| Krylov 法(CG/GMRES 等) | 残差空間を用いた非定常反復 | 中〜高 | 良い(前処理依存) | 大規模疎行列の主力 |
ガウス・ザイデル法は「単体で最後まで収束させる」だけでなく、「より大きな解法の部品として組み込む」位置づけでも重要である。
まとめ
- ガウス・ザイデル法は、
を逐次上書き更新で解に近づける基本反復法である。更新済みの値をそのまま使うため、ヤコビ法より収束が速いことが多い。 - 収束は反復行列のスペクトル半径
に支配され、厳密対角優位や SPD は代表的な十分条件である。 - 多重格子法では高周波誤差を減衰させる緩和(smoother)として重要であり、赤黒・マルチカラー・ブロック化で並列性を補う設計が有効である。