Engee documentation

Backward Substitution

Solving a system of linear equations with an upper triangular coefficient matrix.

blockType: BackwardSubstitution

Path in the library:

/Signal Operations/Math Functions/Matrices and Linear Algebra/Linear System Solvers/Backward Substitution

Description

Block Backward Substitution solves a system of linear equations by a simple reverse substitution of variables, where

  • — upper triangular matrix of coefficients on at the entrance U;

  • — the matrix of free terms on at the entrance B;

  • — solving a system of equations, a matrix on the output is X.

The block does not check the rank of the input matrices. The block uses only elements above the main diagonal of the matrix and ignores the elements below. If the option is set Input upper triangular matrix, then the block assumes that the elements on the diagonal equal 1. This is useful when the matrix It is the result of another operation, such as LDL decomposition, which uses diagonal elements to represent the matrix. .

Ports

Input

# U — the upper triangular matrix of coefficients
matrix M by M

Details

The input upper triangular matrix in the equation , given as a matrix of size on . The Inputs U and B must have the same number of lines.

Data types

Float32, Float64, Int8, Int16, Int32

Complex numbers support

Yes

# B — the matrix of free terms
matrix M by N | vector M by 1

Details

The Matrix in the equation , given as a matrix of size on or a vector of size on .

If a vector is given on , then the block processes the input vector of length on port B as a matrix on . The Inputs U and B must have the same number of lines.

Data types

Float32, Float64, Int8, Int16, Int32

Complex numbers support

I don’t

Output

# X — solving a system of equations
matrix M by N | vector M by 1

Details

The solution of the system of equations returned in the form of a matrix on or vectors on . The size of the output matrix X is the same as the size of the input matrix B.

Data types

Float64

Complex numbers support

Yes

Parameters

Main

# Input upper triangular matrix — the diagonal elements of the input matrix have the value 1
Logical

Details

Check this box only if all the elements are on the diagonal. have a value 1. At the same time, the block optimizes its behavior by skipping an unnecessary division operation.

Do not check this box if any elements are on the diagonal. not equal 1. When you uncheck the box Input upper triangular matrix a block always performs a division operation.

Default value

false (switched off)

Program usage name

InputUIsUnitLowerTriangular

Tunable

No

Evaluatable

No

# Diagonal of complex input U is real — The diagonal elements of the complex input are real
Logical

Details

Select this option to optimize the simulation speed when the diagonal elements of the complex input U are real.

Dependencies

To use this option, uncheck the box. Input upper triangular matrix.

Default value

false (switched off)

Program usage name

DiagonalOfComplexInputUIsReal

Tunable

No

Evaluatable

No