2.5 LU decomposition (3) なぜややこしい LU分解をするのか | Chandler@Berlin

Chandler@Berlin

ベルリン在住

ようやく LU 分解の話が一区切りつく.線形代数に興味のない方は読み飛して下さい.

これまでの二回にわたって,LU 分解は実は elimination (消去法)そのものであるが,elimination 行列の逆行列を保存するものであることを見た.別に答えはelimination でわかるのに,どうして余計なものを保存するのであろうか.私の理解する限りではこれには2つの主な理由がある.

1つは,LUの形,三角行列は back substitution で簡単に解がわかるというものである.たとえば,
Chandler@Berlin-eq11
を解きたいとする.これは簡単である.連立一次方程式の形にしてみると,
Chandler@Berlin-eq14

まず,式 12より x=5 で既に xがわかる.式 13 は x + y = 2であるが,x=5 なので,y=-3 である.式 14は x + 2y + z = 2 であり,5 - 6 + z = 2 なので,z=3 である.代入していくだけで,文字を消去する必要がない.これはしかしあたりまえである.消去法を実行したのだから文字は消去されているのだ.三角行列はこのように解きやすい.

2つめは,Elimination では解を求めるには Augumented matrix を使ったことを思いだそう.LU 分解ではそれはない.行列そのものしかない.なので,いろんな条件に対して一度計算すればあとは,back substitution で全てが求まる.


つまり,LU 分解する理由は,LUが三角行列で解きやすいこと,行列一つにつき,分解を一度行えば様々な右辺に対して毎回分解することなしに解けるという二つの利点があると思う.消去法ではシステムが同じでも右辺が異なる度に毎回最初からやり直さなくてはならない.

では実際に LU 分解で System を解いてみよう.基本方針は,
Chandler@Berlin-eq16
例として以下のシステムを考える.
Chandler@Berlin-eq18

(これは Gilbert Strang の本の p.103 の例.)
Chandler@Berlin-eq17
LU 分解は既に Elimination によってなされていたので,三角行列を二回解けばよい.三角行列が簡単に解けることは既に見てきたとおり.これが LU 分解の利点である.