修正コレスキー分解
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/12 06:28 UTC 版)
「コレスキー分解」の記事における「修正コレスキー分解」の解説
上述した分解法では、計算に平方根演算を用いるため、分解後の行列Lに無理数が現れるのが普通であり、コレスキー分解の結果を利用した後の計算が面倒となる。特にAが実対称であっても正定値でないときには平方根の中に負の数が現れるので、単純に適用すると複素数の演算が必要になる。そこで、この欠点を解消するために考え出された方法が修正コレスキー分解である(改訂コレスキー分解と呼ぶことがある)。この方法では平方根演算を用いずに四則演算だけで計算を行う。そのため行列が実対称であれば計算は実数の四則演算だけで行える。修正コレスキー分解では、 A = L D L ∗ {\displaystyle {\boldsymbol {A}}={\boldsymbol {LDL}}^{*}} の形に分解の計算を行なう。ここで、D は対角行列で、行列 L の対角成分はすべて1とする。ただし分解途中で零ピボットによる割り算が生じると計算は破綻し分解が存在しない可能性もある。 注意:修正コレスキー分解は行列が正則であっても存在しない場合がある(たとえば対角要素が0で非対角要素が1である2次の対称行列は、正則であるがコレスキー分解や修正コレスキー分解が存在しない簡単な例である).行列が定値であるときには分解は必ず存在する.零による割り算の困難を対称なピボット交換で回避できる場合もあるが、上記の2次の対称行列の例のように回避が不可能な場合がある。 修正コレスキー分解をさらに拡張して、Dを対称な三重対角行列とするAasenの方法、あるいはDを1次あるいは2次の対称行列からなるブロック対角行列とする分解を行うBunch-Kaufmanの方法などが知られており、それらの場合には分解が必ず存在する. なお、行列 A {\displaystyle A} が複素対称( A T = A {\displaystyle A^{T}=A} )の場合にも、実対称の場合と同様の四則演算を複素数を用いて行うことにより(途中で計算が破綻しなければ)分解 A = L D L T {\displaystyle A=LDL^{T}} が得られる。
※この「修正コレスキー分解」の解説は、「コレスキー分解」の解説の一部です。
「修正コレスキー分解」を含む「コレスキー分解」の記事については、「コレスキー分解」の概要を参照ください。
- 修正コレスキー分解のページへのリンク