Compute inverse of Hermitian positive definite matrix using Cholesky factorization
Math Functions / Matrices and Linear Algebra / Matrix Inverses
The Cholesky Inverse block computes the inverse of the Hermitian positive definite input matrix S by performing Cholesky factorization.
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.
Response to Nonpositive Definite Input
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. The following options are available:
Ignore— Proceed with the computation and do not issue an alert. The output is not a valid inverse.
Warning— Display a warning message in the MATLAB® Command Window, and continue the simulation. The output is not a valid inverse.
Error— Display an error dialog box and terminate the simulation.
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.
- Non-positive definite input
Response to nonpositive definite matrix inputs:
Error. See Response to Nonpositive Definite Input.
Golub, G. H., and C. F. Van Loan. Matrix Computations. 3rd ed. Baltimore, MD: Johns Hopkins University Press, 1996.
Supported Data Types
Double-precision floating point
Single-precision floating point
|Cholesky Factorization||DSP System Toolbox|
|Cholesky Solver||DSP System Toolbox|
|LDL Inverse||DSP System Toolbox|
|LU Inverse||DSP System Toolbox|
|Pseudoinverse||DSP System Toolbox|
See Matrix Inverses for related information.
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Generated code relies on the
memset function (
string.h) under certain
Introduced before R2006a