# dsp.LDLFactor

Factor square Hermitian positive definite matrices into components

## Description

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.

Note

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.

## Construction

`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.

## Methods

 step Decompose matrix into components
Common to All System Objects
`release`

Allow System object property value changes

## Examples

collapse all

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);```

## Algorithms

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.