Revision as of 23:03, 8 March 2016 by Bbecane (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Decompose(C, I, J)

Returns the Cholesky decomposition (square root) matrix of matrix «C» along dimensions «I» and «J». Matrix «C» must be symmetric and positive-definite. (Positive-definite means that v*C*v > 0, for all vectors v.)

Cholesky decomposition computes a lower diagonal matrix L such that L*L' = C, where L' is the transpose of L.

Testing for positive definiteness

To avoid an error, the following user-defined function can be used to test for positive definiteness:


IsPosDefinite(A: Number[I, J]; I, J: Index)


Returns true (1) if «A» is positive-definite, 0 (false) otherwise.


Min(EigenDecomp(A + Transpose(A, I, J), I, J)[.Item = 'value'], J) > 0

Complex numbers

When «C» contains complex numbers, then the matrix must be Hermitian and positive definite. The Hermitian condition is the same as the symmetric condition for real-valued matrices, but requires the transpose to be the complex conjugate of the matrix.

See Also


You are not allowed to post comments.