PLU分解
📂行列代数PLU分解
定義
順列行列 PT と 可逆行列 A∈Rn×n について、それらの行列の積 PTA のLU分解 を A のPLU分解permutation LU decompositionと呼ぶ。P は順列行列であるため、直交行列 つまり P−1=PT となり、したがって以下のように表せる。
PTA=LU⟺A=PLU
説明
LU分解のアルゴリズム: (aij)∈Rn×n が可逆行列であるとする。
ステップ1. k=1
u1j=a1j を代入して li1=u111ai1 を計算する。
ステップ2. k=2,3,⋯,n−1
- ステップ2-1. 次を計算する。
ukk=akk−s=1∑k−1lksusk
- ステップ2-2. j=k+1,k+2,⋯,n−1 に対して次を計算する。
ukj=akj−s=1∑k−1lksusj
- ステップ2-3. i=k+1,k+2,⋯,n−1 に対して次を計算する。
lik=ukk1{aik−s=1∑k−1lisusk}
ステップ3. k=n に対して次を計算する。
unn=ann−s=1∑n−1lnsusn
上記のように行列のLU分解を行うためには、u11=a11 もしくは ukk の逆数を取ることができなければならないが、単純に
A=[0231]
のような行列ですらこのアルゴリズムを適用できない。そのため、何らかの順列行列 PT を掛けて、A を丸ごと PLU として表すことをPLU分解と呼ぶ。もちろん左か右か、行か列かは重要ではないため
APT=LU⟺A=LUP
としても、LUP分解と読んでも全く問題ない。