共役勾配法(つづき)

前回、実装はしてみたものの、3x3以上にすると、すぐに答えが発散してしまう、という問題が残っていた。

で、
調べてみたところ、対称行列にすると発散しなくなるらしいので、対角成分のみの行列にしてみたら、128x128でも収束するようになった。メジャーな解法としては、前処理つきの共役勾配法、ということになるらしいが、その前処理にもいろいろとあるらしく、実装可能なところまで理解しきれていない。

ま、流体シミュレーションなどに出てくる行列は疎であることが多いので、今のままでも大丈夫かもしれない。