2.1 何のための工夫か

熱方程式を陰解法で解くには、 連立1次方程式を 1 ステップにつき 1 度解かねばならない。 トータルでは、膨大な回数解くことになる。 この連立1次方程式には

  1. 係数行列はいつも同じ
  2. 係数行列は疎行列 (0 でない成分は対角線の近くにしかない)
という大きな特徴がある。 このことを念頭に、 なるべく上手に計算する方法を考える (ここで説明する方法を採用せず、素朴なやり方で解こうとすると、 解くことがほとんど非現実的なくらい効率が低くなってしまう)。

係数行列がいつも同じということから、 逆行列を最初に計算しておくと良いと考えるかもしれないが、 実はそれはひどく非効率的になって拙いやり方である。

『発展系の数値解析』で説明した Gauss の消去法を用いれば、 係数行列が疎であるという性質を生かした効率的な計算ができるが、 毎回行列の変形をしなければならないのが嫌味である。 しかし、実際にその行列の変形をしてみれば分かるが、 大部分の計算は毎回まったく同じである。 うまく工夫すれば計算の大部分が省略できることが想像できるはずである。 それを実現する方法が、以下に説明する係数行列の LU 分解である。

忘れないように
  • 逆行列は使わない (もし使うと、どうしようもないくらい非能率的になる)
  • LU 分解は Gauss の消去法を工夫したものとみなせる1



桂田 祐史