コレスキー分解
出典: フリー百科事典『ウィキペディア(Wikipedia)』
コレスキー分解(- ぶんかい)は、正定値対称行列Aを対角成分がすべて正であるような下三角行列Lとこの行列Lの共役転置L*との積
に分解することを言う。LU分解の特別な場合である。André-Louis コレスキーにちなんで名づけられた。
目次 |
[編集] 注意
行列Lが実数値のエントリのみを持つなら、Lの共役転置はLの転置と一致し、コレスキー分解は
へと単純化される。
[編集] アルゴリズム
コレスキー法はガウスの消去法の改良版である。
から始める。行列Aは対称行列なので、
と書くことができる。ここで、
と定義すれば、A(i)は
と3つの行列の積で書き表すことができる。ここで、
とおけば、
と書き表すことができる。n回繰り返すと、A(n+1) = Inとなるため、 繰り返しはここで終了する。最終的に、求めるLは、
である。
注:Inはn次の単位行列とする。
[編集] コレスキー Banachiewicz 法
コレスキー Banachiewicz 法 は直接下三角行列 L の各エントリを計算するための式を与える。行列 L の左上隅から始め行ごとに計算を進める。
[編集] コレスキークラウト法
コレスキークラウト法 はコレスキー Banachiewicz 法とは少し異なる方法で、下三角行列Lの各エントリを計算する。すなわち、行列Lの左上隅から始め列ごとに計算を進める。使用する計算式はコレスキー Banachiewicz 法と同一である。
[編集] 修正コレスキー分解
上述した分解法では、分解後の行列Lに無理数が現れることがほとんどで、コレスキー分解の結果を利用した計算が面倒となる。そこで、この欠点を解消するために考え出された方法が修正コレスキー分解である(改訂コレスキー分解と呼ぶことがある)。修正コレスキー分解では
A=LDL*
の形に分解する。ここで、Dは対角行列で、行列Lの対角成分はすべて1とする。
[編集] 不完全コレスキー分解
不完全コレスキー分解は、修正コレスキー分解により行列Aを
- A=LDL*
と分解するところ、行列Lを後の計算が簡略化されるものに変更し、
- A=LDL*+N
と分解する手法である(Nはある行列)。
共役勾配法(傾斜法)の前処理の1つとして採用されることがある。