# Cholesky Inverse

Compute inverse of Hermitian positive definite matrix using Cholesky factorization

Libraries:
DSP System Toolbox / Math Functions / Matrices and Linear Algebra / Matrix Inverses

## Description

The Cholesky Inverse block computes the inverse of the Hermitian positive definite input matrix S by performing Cholesky factorization.

`${S}^{-1}={\left(L{L}^{\ast }\right)}^{-1}$`

L is a lower triangular square matrix with positive diagonal elements and L* is the Hermitian (complex conjugate) transpose of L. Only the diagonal and upper triangle of the input matrix are used, and any imaginary component of the diagonal entries is disregarded. Cholesky factorization requires half the computation of Gaussian elimination (LU decomposition), and is always stable.

## Ports

### Input

expand all

Specify the input as a square matrix S that is Hermitian positive definite. When the input is not positive definite, the block reacts with the behavior specified by the Non-positive definite input parameter. For more details, see the description of the Non-positive definite input parameter.

Data Types: `single` | `double`
Complex Number Support: Yes

### Output

expand all

Inverse of the Hermitian positive definite input matrix S, returned as a square matrix. Here is the equation for Cholesky factorization.

`${S}^{-1}={\left(L{L}^{\ast }\right)}^{-1}$`

L is a lower triangular square matrix with positive diagonal elements and L* is the Hermitian (complex conjugate) transpose of L. Only the diagonal and upper triangle of the input matrix are used, and any imaginary component of the diagonal entries is disregarded. Cholesky factorization requires half the computation of Gaussian elimination (LU decomposition), and is always stable.

Data Types: `single` | `double`
Complex Number Support: Yes

## Parameters

expand all

Specify the response to non-positive definite matrix input as `Ignore`, `Warning`, or `Error`.

The algorithm requires that the input be Hermitian positive definite. When the input is not positive definite, the block reacts with the behavior specified by the Non-positive definite input parameter. When you set this parameter to:

• `Ignore` — The block proceeds with the computation and does not issue an alert. The output is not a valid inverse.

• `Warning` — The block displays a warning message in the MATLAB® command window and continues the simulation. The output is not a valid inverse.

• `Error` — The block displays an error dialog box and terminates the simulation.

Note

The Non-positive definite input parameter is a diagnostic parameter. Like all diagnostic parameters on the Configuration Parameters dialog box, it is set to `Ignore` in the code generated for this block by Simulink® Coder™ code generation software.

## Block Characteristics

 Data Types `double` | `single` Direct Feedthrough `no` Multidimensional Signals `no` Variable-Size Signals `no` Zero-Crossing Detection `no`

## References

[1] Golub, G. H., and C. F. Van Loan. Matrix Computations. 3rd ed. Baltimore, MD: Johns Hopkins University Press, 1996.

## Version History

Introduced before R2006a