Compute inverse of Hermitian positive definite matrix using LDL factorization
Math Functions / Matrices and Linear Algebra / Matrix Inverses
The LDL Inverse block computes the inverse of the Hermitian positive definite input matrix S by performing an LDL factorization.
L is a lower triangular square matrix with unity diagonal elements, D is a diagonal matrix, and L* is the Hermitian (complex conjugate) transpose of L. Only the diagonal and lower triangle of the input matrix are used, and any imaginary component of the diagonal entries is disregarded.
LDL factorization requires half the computation of Gaussian elimination (LU decomposition), and is always stable. It is more efficient than Cholesky factorization because it avoids computing the square roots of the diagonal elements.
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 and terminate the simulation.
The Non-positive definite input parameter
is a diagnostic parameter. Like all diagnostic parameters on the Configuration
Parameters dialog, it is set to
the code generated for this block by Simulink®
Coder™ code generation
Response to nonpositive definite matrix inputs.
Golub, G. H., and C. F. Van Loan. Matrix Computations. 3rd ed. Baltimore, MD: Johns Hopkins University Press, 1996.
Double-precision floating point
Single-precision floating point
|Cholesky Inverse||DSP System Toolbox|
|LDL Factorization||DSP System Toolbox|
|LDL Solver||DSP System Toolbox|
|LU Inverse||DSP System Toolbox|
|Pseudoinverse||DSP System Toolbox|
See Matrix Inverses for related information.