DSP Blockset | ![]() ![]() |
Factor a square Hermitian positive definite matrix into lower, upper, and diagonal components.
Library
Math Functions / Matrices and Linear Algebra / Matrix Factorizations
Description
The LDL Factorization block uniquely factors the square Hermitian positive definite input matrix S as
where 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.
The block's output is a composite matrix with lower triangle elements lij from L, diagonal elements dij from D, and upper triangle elements uij from L*. It is always sample-based. The output format is shown below for a 5-by-5 matrix.
LDL factorization requires half the computation of Gaussian elimination (LU decomposition), and is always stable. It is more efficient that Cholesky factorization because it avoids computing the square roots of the diagonal elements.
The algorithm requires that the input be square and 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:
Example
LDL decomposition of a 3-by-3 Hermitian positive definite matrix:
Dialog Box
References
Golub, G. H., and C. F. Van Loan. Matrix Computations. 3rd ed. Baltimore, MD: Johns Hopkins University Press, 1996.
Supported Data Types
To learn how to convert to the above data types in MATLAB and Simulink, see Supported Data Types and How to Convert to Them.
See Also
Cholesky Factorization |
DSP Blockset |
LDL Inverse |
DSP Blockset |
LDL Solver |
DSP Blockset |
LU Factorization |
DSP Blockset |
QR Factorization |
DSP Blockset |
See Factoring Matrices for related information. Also see Matrix Factorizations for a list of all the blocks in the Matrix Factorizations library.
![]() | Kalman Adaptive Filter | LDL Inverse | ![]() |