関数 > ベクトルと行列 > 行列の分解 > コレスキー分解
コレスキー分解
Cholesky(M,[p,[u]]) - 行列 M のコレスキー平方根を返します。
デフォルトで、関数は 2 つの入れ子行列 PL のベクトル (行列 M が実数の場合は PT. M . P = L . LT、行列 M が複素数の場合は PT . M . P = L . conj(LT)) を返します。行列 P はピボット行列を示し、行列 L は分解後の下三角行列を示します。
引数 pu を使用して、任意の出力行列を次のように求めます。
ピボット
上/下
デフォルト
M = 実行列
M = 複素エルミート行列
無効
(p=0)
(u=0)
なし
M = L . LT
M = L . conj(LT)
無効
(p=0)
(u=1)
なし
M = UT . U
M = conj(UT) . U
有効
(p=1)
(u=0)
はい
PT . M . P = L . LT
PT . M . P = L . conj(LT)
有効
(p=1)
(u=1)
なし
PT . M . P = UT . U
PT . M . P = conj(UT) . U
引数
M は正値定符号の実正方行列または Hermitian 定値複素正方行列です。
M はフルランクの正定値行列でなければなりません。
関数eigenvalsを使用して、返されるベクトルに負の値が含まれないことを確認することで、行列が正定値行列になるようにします。
p (オプション) は整数です。値をゼロにすると、ピボットが無効になります。ゼロ以外の値を入力すると、ピボットが有効になります (デフォルト動作)。
u (オプション) は整数です。値をゼロにすると M が下三角行列に分解されます (デフォルト動作)。ゼロ以外の値を入力すると、M が上三角行列に分解されます。
引数 p を自動的に設定できます。
引数 u を設定した場合、引数 p. も設定する必要があります。
これは役に立ちましたか?