Engee documentation

LU Solver

Solving a system of linear equations with a quadratic matrix of coefficients using the LU expansion usage.

blockType: SubSystem

Path in the library:

/Signal Operations/Math Functions/Matrices and Linear Algebra/Linear System Solvers/LU Solver

Description

Block LU Solver solves a system of linear equations using the usage of the LU decomposition of the input matrix , where

  • — square matrix of coefficients on at the entrance A;

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

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

The algorithm

The LU-decomposition algorithm represents a square input matrix with rearranged lines How:

Where

  • — the matrix with rearranged strings, the order of the permutations is determined by the permutation vector ;

  • — lower triangular matrix with single diagonal elements (unit triangular matrix);

  • — upper triangular matrix.

If we replace the matrix factors in the original equation by , then we get

Where — a variant of the matrix with rearranged lines.

The resulting equation will have the form:

When replacing on it turns out two systems of equations with triangular matrices:



Ports

Input

# A — matrix of coefficients
matrix M by M

Details

The Matrix in the equation size on . Input ports A 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 A and B must have the same number of lines.

Data types

Float32, Float64, Int8, Int16, Int32

Complex numbers support

Yes

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