Factor square Hermitian positive definite matrix into triangular components
Math Functions / Matrices and Linear Algebra / Matrix Factorizations
The Cholesky Factorization block uniquely factors the square Hermitian positive definite input matrix S as
where L is a lower triangular square matrix
with positive diagonal elements and L* is
the Hermitian (complex conjugate) transpose of L.
The block outputs a matrix with lower triangle elements from L and
upper triangle elements from L*.
The output is not in the same form as the output of the MATLAB®
In order to convert the output of the Cholesky Factorization block
to the MATLAB form, use the following equation:
R = triu(LL');
LL' is the output of the Cholesky Factorization
block. Due to roundoff error, these equations do not produce a result
that is exactly the same as the MATLAB result.
Block Output Composed of L and L*
The block output is valid only when its input has the following characteristics:
Hermitian — The block does not check whether the input is Hermitian; it uses only the diagonal and upper triangle of the input to compute the output.
Real-valued diagonal entries — The block disregards any imaginary component of the input's diagonal entries.
Positive definite — Set the block to notify you when the input is not positive definite as described in Response to Nonpositive Definite Input.
To generate a valid output, the block algorithm requires a positive definite input (see Input Requirements for Valid Output). Set the Non-positive definite input parameter to determine how the block responds to a nonpositive definite input:
Ignore — Proceed
with the computation and do not issue an alert.
The output is not a valid factorization. A partial
factorization will be present in the upper left corner of the output.
Warning — Display
a warning message in the MATLAB Command Window, and continue
the simulation. The output is not a valid factorization.
A partial factorization will be present in the upper left corner of
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 box, it is set to
the code generated for this block by Simulink®
Coder™ code generation
Note that L and L* share the same diagonal in the output matrix. Cholesky factorization requires half the computation of Gaussian elimination (LU decomposition), and is always stable.
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.
|Port||Supported Data Types|
|Autocorrelation LPC||DSP System Toolbox|
|Cholesky Inverse||DSP System Toolbox|
|Cholesky Solver||DSP System Toolbox|
|LDL Factorization||DSP System Toolbox|
|LU Factorization||DSP System Toolbox|
|QR Factorization||DSP System Toolbox|
See Matrix Factorizations for related information.