Functions > Vector and Matrix > Matrix Factorization > Cholesky Factorization
Cholesky Factorization
Cholesky(M,[p,[u]])—Returns the Cholesky square root of matrix M.
By default, the function returns a vector of two nested matrices P and L such that PT. M . P = L . LT if matrix M is real or PT . M . P = L . conj(LT) if matrix M is complex. Matrix P represents the pivoting matrix and matrix L the lower factorization matrix.
Use arguments p and u to get the desired output matrix:
Pivoting
Upper/Lower
Default
M = Real
M = Complex Hermitian
Disabled
(p=0)
Lower
(u=0)
No
M = L . LT
M = L . conj(LT)
Disabled
(p=0)
Upper
(u=1)
No
M = UT . U
M = conj(UT) . U
Enabled
(p=1)
Lower
(u=0)
Yes
PT . M . P = L . LT
PT . M . P = L . conj(LT)
Enabled
(p=1)
Upper
(u=1)
No
PT . M . P = UT . U
PT . M . P = conj(UT) . U
Arguments
M is a real positive definite square matrix or complex Hermitian definite square matrix.
M must be a full-rank positive definite matrix.
Use function eigenvals to ensure that the matrix is positive definite by verifying that the returned vector does not contain any negative values.
p (optional) is an integer. A zero value disables pivoting. A non-zero value enables pivoting (default behavior).
u (optional) is an integer. A zero value forms the lower factorization of M (default behavior). A non-zero value forms the upper factorization of M.
You can set argument p by itself.
If you set argument u then you must also set argument p.
Was this helpful?