Factor square Hermitian positive definite matrices into components
LDLFactor object factors square Hermitian
positive definite matrices into lower, upper, and diagonal components.
The object uses only the lower triangle of S.
To factor these matrices into lower, upper, and diagonal components:
Starting in R2016b, instead of using the
to perform the operation defined by the System
object™, you can
call the object with arguments, as if it were a function. For example,
= step(obj,x) and
y = obj(x) perform
ldl = dsp.LDLFactor returns
an LDL factor System
ldl, that computes
unit lower triangular
L and diagonal
S = LDL for square, symmetric/Hermitian, positive
definite input matrix
ldl = dsp.LDLFactor(' returns
LDL factor System
with each specified property set to the specified value.
|step||Decompose matrix into components|
Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent
step syntax. For example, myObject(x) becomes step(myObject,x).
Decompose a square Hermitian positive definite matrix using LDL factor.
A = gallery('randcorr',5); ldl = dsp.LDLFactor; y = ldl(A);
This object implements the algorithm, inputs, and outputs described on the LDL Factorization block reference page. The object properties correspond to the block parameters, except:
|No object property that corresponds to the Non-positive definite input block parameter. The object does not issue any alerts for nonpositive definite inputs. The output is not a valid factorization. A partial factorization is in the upper left corner of the output.|
Usage notes and limitations:
See System Objects in MATLAB Code Generation (MATLAB Coder).