行列のLU分解:詳細解説
LU分解とは、正方
行列を下三角
行列と上三角
行列の積に分解する手法です。
数学、特に線形代数において重要な役割を果たし、連立一次方程式の解法や逆
行列の計算などに広く応用されています。本稿では、LU分解の定義、具体的な計算方法、そして様々な応用について詳細に解説します。
LU分解の定義
n次正方
行列Aが与えられたとき、Aを下三角
行列Lと上三角
行列Uの積として表現することをLU分解といいます。数式で表すと以下のようになります。
A = LU
ここで、Lは対角成分が全て1である下三角
行列、Uは上三角
行列です。すべての首座小
行列式が0でない場合、LU分解は一意に定まります。この条件は、
行列AがLU分解を持つための必要十分条件です。文献によっては、LとUをそれぞれleft triangular matrixとright triangular matrixと捉え、LR分解と呼ぶこともあります。
LU分解の手法
LU分解は、連立方程式を解いたり、逆
行列を計算する際に役立ちます。実際にLU分解を行うには、いくつかの数値計算アルゴリズムが存在します。代表的なものにドゥーリトル法とクラウト法があります。これらはどちらも、A = LU の各成分に関するn²個の方程式を解くことでLとUを求めます。ただし、未知数の数はn(n+1)個と、方程式の数より多いため、一意に解くためには工夫が必要です。
ドゥーリトル法では、Lの対角成分をすべて1として、(1,1),(2,1),(3,1),...,(1,2),(2,2),...の順に計算を進めていきます。一方、
クラウト法では、Uの対角成分をすべて1として、(1,1),(1,2),(1,3),...,(2,1),(2,2),...の順に計算します。どちらの方法も、掃き出し法と密接に関連しており、効率的にLU分解を行うことができます。
2次行列のLU分解:ドゥーリトル法による例
具体的な計算手順を理解するために、2次正方
行列のLU分解をドゥーリトル法を用いて説明します。
行列Aを
A =
a11, a12], [a21, a22
とします。LとUを以下のように仮定します。
L =
1, 0], [l21, 1, U =
u11, u12], [0, u22
A = LU より、各成分を比較することで以下の式が得られます。
a11 = u11
a12 = u12
a21 = l21
u11
a22 = l21 u12 + u22
これらの式を順番に解くことで、LとUの各成分を求めることができます。結果として、LとUは以下のように表せます。
L =
1, 0], [a21/a11, 1
U =
a11, a12], [0, a22 - (a21 a12)/a11
LU分解の応用
LU分解は、線形代数の様々な問題を解く上で強力なツールとなります。以下に主な応用例を示します。
連立一次方程式
連立一次方程式Ax = bを解く際に、AをLU分解することで効率的に解を求めることができます。まず、Ly = bを前進代入法でyを求め、次にUx = yを後退代入法でxを求めます。これは、ガウスの消去法と本質的に同じです。一度AをLU分解すれば、bを変化させた場合でも、比較的少ない計算で解を求めることが可能です。
Aの逆
行列A⁻¹を求める場合もLU分解が役立ちます。A⁻¹ = U⁻¹L⁻¹という関係を用いることで、三角
行列であるLとUの逆
行列を比較的簡単に求めることができます。また、LUxᵢ = eᵢ (i = 1, 2, ..., n) を解くことで、逆
行列の各列ベクトルを求めることも可能です(eᵢは
単位[[行列]]の第i列ベクトル)。
行列Aの
行列式|A|は、|A| = |L||U|という関係を用いて計算できます。LとUは三角
行列なので、
行列式は対角成分の積で簡単に求められます。
LU分解の変種
LU分解には、以下の変種が存在します。
LDU分解: A = LDU (L:下三角
行列, D:対角
行列, U:上三角
行列)
*
LUP分解: PA = LU (P:置換
行列, L:下三角
行列, U:上三角
行列)
LUP分解は、ピボット選択を行うことで数値計算上の安定性を高めることができます。
まとめ
LU分解は、連立一次方程式の解法、逆
行列の計算、
行列式の計算など、線形代数の様々な問題において重要な役割を果たす強力な手法です。ドゥーリトル法やクラウト法といった具体的な計算アルゴリズムを理解し、その応用を学ぶことで、線形代数に関する深い理解を深めることができます。