MATLAB Function Reference |
Syntax
R = chol(X) [R,p] = chol(X)
Description
chol
函式將 X
轉為上三角的矩陣。若 X 為下三角矩陣,則將被視為上三角矩陣的共軛複數矩陣。即 X
為 Hermitian。
R = chol(X)
當 X
為正向定義的(positive definite)的矩陣,則會產生一上三角矩陣 R
以致於 R'*R
=
X。
若 X
不屬於正向定義矩陣,則將顯示錯誤訊息。
[R,p] = chol(X)
當有兩個輸出參數時,則不會顯示錯誤訊息。若 X
屬於正向定義矩陣,則 p
等於 0 且 R
如同之前所敘述的。若 X
不屬於正向定義矩陣,則 p
為一正整數, R
為一上三角矩陣且維度 q
=
p-1
, R'*R
=
X(1:q,1:q
)。
Examples
X 為一對稱的正向定義矩陣:
n = 5; X = pascal(n) X = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70
經過 Cholesky 消去法後,其上三角矩陣的對角線都含相同的係數:
R = chol(X) R = 1 1 1 1 1 0 1 2 3 4 0 0 1 3 6 0 0 0 1 4 0 0 0 0 1
將最後一個元素減去 1,使矩陣不屬於正向定義矩陣:
X(n,
n) = X(n,
n)-1 X = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 69
Algorithm
chol
函式使用 LAPACK 的子程序 DPOTRF
(real) 及 ZPOTRF
(complex)。
References
[1] Anderson, E., Z. Bai, C. Bischof, S. Blackford, J. Demmel, J. Dongarra, J. Du Croz, A. Greenbaum, S. Hammarling, A. McKenney, and D. Sorensen, LAPACK User's Guide, Third Edition, SIAM, Philadelphia, 1999.
See Also
checkout | cholinc |