Class ComplexBackSolver
java.lang.Object
org.flag4j.linalg.solvers.exact.triangular.BackSolver<CMatrix,CVector,CNumber[]>
org.flag4j.linalg.solvers.exact.triangular.ComplexBackSolver
- All Implemented Interfaces:
LinearSolver<CMatrix,
CVector>
This solver solves linear systems of equations where the coefficient matrix in an upper triangular complex dense matrix
and the constant vector is a complex dense vector.
-
Field Summary
Modifier and TypeFieldDescriptionprotected CNumber
For computing determinant of coefficient matrix during solve.Fields inherited from class org.flag4j.linalg.solvers.exact.triangular.BackSolver
enforceTriU, RANK_CONDITION, x, X, xCol
-
Constructor Summary
ConstructorDescriptionCreates a solver for solving linear systems for upper triangular coefficient matrices.ComplexBackSolver
(boolean enforceTriU) Creates a solver for solving linear systems for upper triangular coefficient matrices. -
Method Summary
Modifier and TypeMethodDescriptiongetDet()
Gets the determinant computed during the last solve.Solves the linear system of equations given byU*X=B
where the coefficient matrixU
is an upper triangular matrix.Solves the linear system of equations given byU*x=b
where the coefficient matrixU
is an upper triangular matrix.Solves the linear system of equations given byU*X=I
where the coefficient matrixU
is anupper triangular
matrix andI
is theidentity
matrix of appropriate size.solveLower
(CMatrix U, CMatrix L) Solves a special case of the linear systemU*X=L
forX
where the coefficient matrixU
is anupper triangular
matrix and the constant matrixL
islower triangular
.Methods inherited from class org.flag4j.linalg.solvers.exact.triangular.BackSolver
checkParams, checkSingular
-
Field Details
-
det
For computing determinant of coefficient matrix during solve.
-
-
Constructor Details
-
ComplexBackSolver
public ComplexBackSolver()Creates a solver for solving linear systems for upper triangular coefficient matrices. Note, by default no check will be made to ensure the coefficient matrix is upper triangular. If you would like to enforce this, seeComplexBackSolver(boolean)
. -
ComplexBackSolver
public ComplexBackSolver(boolean enforceTriU) Creates a solver for solving linear systems for upper triangular coefficient matrices.- Parameters:
enforceTriU
- Flag indicating if an explicit check should be made that the coefficient matrix is upper triangular.
-
-
Method Details
-
getDet
Gets the determinant computed during the last solve. -
solve
Solves the linear system of equations given byU*x=b
where the coefficient matrixU
is an upper triangular matrix.- Parameters:
U
- Upper triangular coefficient matrix in the linear system. IfU
is not actually upper triangular, it will be treated as if it were.b
- Vector of constants in the linear system.- Returns:
- The solution to
x
in the linear systemA*x=b
. - Throws:
SingularMatrixException
- If the matrixU
is singular (i.e. if it has a zero along the principle diagonal).
-
solve
Solves the linear system of equations given byU*X=B
where the coefficient matrixU
is an upper triangular matrix.- Parameters:
U
- Upper triangular coefficient matrix in the linear system. IfU
is not actually upper triangular, it will be treated as if it were.B
- Matrix of constants in the linear system.- Returns:
- The solution to
X
in the linear systemA*X=B
. - Throws:
SingularMatrixException
- If the matrixU
is singular (i.e. has a zero on the principle diagonal).
-
solveIdentity
Solves the linear system of equations given byU*X=I
where the coefficient matrixU
is anupper triangular
matrix andI
is theidentity
matrix of appropriate size.- Parameters:
U
- Upper triangular coefficient matrix in the linear system. IfU
is not actually upper triangular, it will be treated as if it were.- Returns:
- The solution to
X
in the linear systemU*X=B
. - Throws:
SingularMatrixException
- If the matrixU
is singular (i.e. has a zero on the principle diagonal).
-
solveLower
Solves a special case of the linear systemU*X=L
forX
where the coefficient matrixU
is anupper triangular
matrix and the constant matrixL
islower triangular
.- Parameters:
U
- Upper triangular coefficient matrixL
- Lower triangular constant matrix.- Returns:
- The result of solving the linear system
U*X=L
for the matrixX
.
-