dsp.LUFactor System object

Package: dsp

Factor square matrix into lower and upper triangular matrices


The LUFactor object factors a square matrix into lower and upper triangular matrices.

To factor a square matrix into lower and upper triangular matrices:

  1. Define and set up your System object™. See Construction.

  2. Call step to factor the square matrix according to the properties of dsp.LUFactor. The behavior of step is specific to each object in the toolbox.


H = dsp.LUFactor returns an LUFactor System object, H, which factors a row permutation of a square input matrix A as Ap = LU, where L is the unit-lower triangular matrix, and U is the upper triangular matrix. The row-pivoted matrix Ap contains the rows of A permuted as indicated by the permutation index vector P. The equivalent MATLAB® code is Ap = A(P,:).

H = dsp.LUFactor('PropertyName',PropertyValue,...) returns an LUFactor object, H, with each specified property set to the specified value.



Set to true to output singularity of input

Set this property to true to output the singularity of the input as logical data type values of true or false. An output of true indicates that the current input is singular, and an output of false indicates the current input is nonsingular.

 Fixed-Point Properties


cloneCreate LU Factor object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs of step method
isLockedLocked status for input attributes and nontunable properties
releaseAllow property value and input characteristics changes
stepDecompose matrix into lower and upper triangular matrices


Decompose a square matrix into the lower and upper components:

    hlu = dsp.LUFactor;
    x = rand(4)
    [LU, P] = step(hlu, x);
    L = tril(LU,-1)+diag(ones(size(LU,1),1));
    U = triu(LU);
    y = L*U
    % Check back whether this equals the permuted x
    xp = x(P,:)


This object implements the algorithm, inputs, and outputs described on the LU Factorization block reference page. The object properties correspond to the block parameters.

Was this topic helpful?