Main Content


(To be removed) Factor square Hermitian positive definite matrices into components

dsp.LDLFactor will be removed in a future release. Use ldl instead. For more information, see Compatibility Considerations.


The 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:

  1. Define and set up your LDL factor object. See Construction.

  2. Call step to factor the matrices according to the properties of dsp.LDLFactor. The behavior of step is specific to each object in the toolbox.


Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.


ldl = dsp.LDLFactor returns an LDL factor System object, ldl, that computes unit lower triangular L and diagonal D such that S = LDL for square, symmetric/Hermitian, positive definite input matrix S.

ldl = dsp.LDLFactor('PropertyName',PropertyValue,...) returns an LDL factor System object, ldl, with each specified property set to the specified value.


 Fixed-Point Properties


stepDecompose matrix into components
Common to All System Objects

Allow System object property value changes


collapse all


If you are using R2016a or an earlier release, replace each call to the object with the equivalent step syntax. For example, obj(x) becomes step(obj,x).

Decompose a square Hermitian positive definite matrix using LDL factor.

A = gallery('randcorr',5);
ldl = dsp.LDLFactor;
y = ldl(A)
y = 5×5
 1.0000   -0.3884    0.0296   -0.6152   -0.3903
-0.3884    0.8491   -0.6386   -0.4901    0.3137
 0.0296   -0.6386    0.6529    0.3611    0.5770
-0.6152   -0.4901    0.3611    0.3324    0.5660
-0.3903    0.3137    0.5770    0.5660    0.4403


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.

Compatibility Considerations

expand all

Not recommended starting in R2021a

Extended Capabilities

See Also

Introduced in R2012a