Engee documentation

Backward Substitution

Solving the equation with respect to for the case where is an upper triangular matrix.

backward substitution

Description

Block Backward Substitution solves the linear system of equations by simple inverse substitution of variables, where:

  • - M by M upper triangular matrix (input U, coefficient matrix).

  • - matrix M by N (input B, matrix of free terms).

  • - matrix M by N (output X, solution of the system of equations).

The block does not check the rank of the input matrices. The block uses only the elements in the upper triangle of the input and ignores the lower elements. If the Input U is unit-upper triangular option is set, the block assumes that the elements on the diagonal of are equal to 1. This is useful when the matrix is the result of another operation (such as LDL decomposition) that uses diagonal elements to represent the matrix.

Ports

Input

U - upper triangular coefficient matrix
`matrix M by M

The input upper triangular matrix U is of size M by M. The inputs U and B must have the same number of rows.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, Uint128, Fixed, Bool

Support for complex numbers: Yes

B is a matrix of free terms
matrix M over N | vector M over 1

The matrix B in the equation ; is either a matrix of size M by N or a vector of size M by 1.

If an M by 1 vector is given, the block treats an input vector of length M on port B as an M by 1 matrix. The U and B inputs must have the same number of rows.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, Uint128, Fixed, Bool

Support for complex numbers: Yes

Output

X is the solution of the system of equations
matrix M on N | vector M on 1

The block returns the solution as a matrix M by N or a vector M by 1. The size of matrix X is the same as the size of matrix B.

Support for complex numbers: Yes

Parameters

Input U is unit-upper triangular - diagonal elements of input matrix have value 1
off (by default) | on

Tick this checkbox only if all elements on the U diagonal have the value 1. This will optimise the block’s behaviour by skipping the unnecessary division operation.

Do not select this check box if any elements on the U diagonal do not have the value 1. When you uncheck Input U is unit-upper triangular, the unit always performs the division operation.

Diagonal of complex input U is real - diagonal elements of complex input are real
off (by default) | on.

Select the checkbox to optimise the simulation speed when the diagonal elements of complex input U are real.

When U is a fixed-point complex signal, you must select either the Input U is unit-upper triangular parameter or the Diagonal of complex input U is real parameter. When either of these options is selected, the unit ignores any imaginary part of the U diagonal.

Dependencies

This parameter is only displayed if the Input U is unit-upper triangular parameter is not selected for input U.