# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

# dsp.LowerTriangularSolver System object

Package: dsp

Solve lower-triangular matrix equation

## Description

The `LowerTriangularSolver` object solves LX = B for X when L is a square, lower-triangular matrix with the same number of rows as B.

To solve LX = B for X:

1. Define and set up your linear system solver. See Construction.

2. Call `step` to solve the equation according to the properties of `dsp.LowerTriangularSolver`. 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

`lowtriang = dsp.LowerTriangularSolver` returns a linear system solver, `lowtriang`, used to solve the linear system LX = B, where L is a lower (or unit-lower) triangular matrix.

`lowtriang = dsp.LowerTriangularSolver('PropertyName',PropertyValue,...)` returns a linear system solver, `lowtriang`, with each specified property set to the specified value.

## Properties

 `OverwriteDiagonal` Replace diagonal elements of input with ones When you set this property to `true`, the linear system solver replaces the elements on the diagonal of the input, L, with ones. Set this property to either `true` or `false`. The default is `false`. `RealDiagonalElements` Indicate that diagonal of complex input is real When you set this property to `true`, the linear system solver optimizes computation speed if the diagonal elements of complex input, L, are real. This property applies only when you set the `OverwriteDiagonal` property to `false`. Set this property to either `true` or `false`. The default is `false`.

## Methods

 step Solve matrix equation for specified inputs
Common to All System Objects
`clone`

Create System object with same property values

`getNumInputs`

Expected number of inputs to a System object

`getNumOutputs`

Expected number of outputs of a System object

`isLocked`

Check locked states of a System object (logical)

`release`

Allow System object property value changes

## Examples

expand 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).

```lowtriang = dsp.LowerTriangularSolver; u = tril(rand(4, 4)); b = rand(4, 1); ```

Check that result is the solution to the linear equations.

```x1 = inv(u)*b x = lowtriang(u, b) ```
```x1 = 0.5177 4.5810 -3.4853 9.6147 x = 0.5177 4.5810 -3.4853 9.6147 ```

## Algorithms

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