LDL Solver
Solving a system of linear equations with square Hermite positively defined coefficient matrix using LDL decomposition.
Description
The LDL Solver block solves the linear system of equations using the LDL decomposition of the input matrix :
-
- the input signal at port S as a square Hermite positively defined matrix to .
-
- input signal on port B as a matrix to .
-
- solution of the system of equations as a matrix at .
Ports
Input
S - input matrix S
`matrix M by M
The input matrix in equation is of size by . The matrix must be Hermite positively definite. The block uses only elements on the diagonal and above the main diagonal of the matrix and ignores the rest. Imaginary parts in diagonal elements are ignored.
If the input matrix is not positively definite, the block’s behaviour depends on the value of the Non-positive definite parameter.
Data types: Float32
, Float64
.
Support for complex numbers: Yes
B - input matrix B
matrix M by N
| vector M by 1
The matrix in equation is of size by or a vector of size by 1.
If a vector of length is given, the block treats it as a matrix by 1. Inputs S and B must have the same number of rows.
Data types: Float32
, Float64
.
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 finds the solution of the equations as a matrix of size by or a vector of size by 1. The size of the matrix is the same as the size of the matrix .
Data types: Float32
, Float64
.
Support for complex numbers: Yes
Parameters
Non-positive definite input - block behaviour if the input matrix S is not positively definite
Ignore (by default)
| Warning
| Error
Specify the block behaviour if the input matrix is not positively defined:
-
Ignore
- the block continues calculations and does not generate a warning. The obtained result is not a correct solution. -
Warning
- the block continues calculations, but a warning message is displayed in the Engee command window. The obtained result is not a correct solution. -
Error
- an error dialogue box is displayed and calculations are stopped.
The Non-positive definite input parameter is diagnostic. Like all diagnostic parameters, it is set to Ignore in the code generated for this block by the code generator.
|
Algorithms
The LDL decomposition algorithm uniquely represents the Hermite positively defined input matrix as
,
where * - is the matrix with permuted rows, the order of permutations is determined by the permutation vector .
-
- is a lower triangular matrix with unit diagonal elements (unitriangular matrix).
-
- diagonal matrix.
-
- Hermite (complex-conjugate) transposed matrix .
The resulting equation will have the form:
.
By substituting and we obtain one system of equations with diagonal matrix and two systems of equations with triangular matrices:
,
,
.