# Decompose

## 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:

Declaration:

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

Description:

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

Definition:

`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

Comments

Enable comment auto-refresher