private static class LUDecompositionImpl.Solver extends java.lang.Object implements DecompositionSolver
Modifier and Type | Field and Description |
---|---|
private double[][] |
lu
Entries of LU decomposition.
|
private int[] |
pivot
Pivot permutation associated with LU decomposition.
|
private boolean |
singular
Singularity indicator.
|
Modifier | Constructor and Description |
---|---|
private |
LUDecompositionImpl.Solver(double[][] lu,
int[] pivot,
boolean singular)
Build a solver from decomposed matrix.
|
Modifier and Type | Method and Description |
---|---|
RealMatrix |
getInverse()
Get the inverse (or pseudo-inverse) of the decomposed matrix.
|
boolean |
isNonSingular()
Check if the decomposed matrix is non-singular.
|
ArrayRealVector |
solve(ArrayRealVector b)
Solve the linear equation A × X = B.
|
double[] |
solve(double[] b)
Solve the linear equation A × X = B for matrices A.
|
RealMatrix |
solve(RealMatrix b)
Solve the linear equation A × X = B for matrices A.
|
RealVector |
solve(RealVector b)
Solve the linear equation A × X = B for matrices A.
|
private final double[][] lu
private final int[] pivot
private final boolean singular
private LUDecompositionImpl.Solver(double[][] lu, int[] pivot, boolean singular)
lu
- entries of LU decompositionpivot
- pivot permutation associated with LU decompositionsingular
- singularity indicatorpublic boolean isNonSingular()
isNonSingular
in interface DecompositionSolver
public double[] solve(double[] b) throws java.lang.IllegalArgumentException, InvalidMatrixException
The A matrix is implicit, it is provided by the underlying decomposition algorithm.
solve
in interface DecompositionSolver
b
- right-hand side of the equation A × X = Bjava.lang.IllegalArgumentException
- if matrices dimensions don't matchInvalidMatrixException
- if decomposed matrix is singularpublic RealVector solve(RealVector b) throws java.lang.IllegalArgumentException, InvalidMatrixException
The A matrix is implicit, it is provided by the underlying decomposition algorithm.
solve
in interface DecompositionSolver
b
- right-hand side of the equation A × X = Bjava.lang.IllegalArgumentException
- if matrices dimensions don't matchInvalidMatrixException
- if decomposed matrix is singularpublic ArrayRealVector solve(ArrayRealVector b) throws java.lang.IllegalArgumentException, InvalidMatrixException
The A matrix is implicit here. It is
b
- right-hand side of the equation A × X = Bjava.lang.IllegalArgumentException
- if matrices dimensions don't matchInvalidMatrixException
- if decomposed matrix is singularpublic RealMatrix solve(RealMatrix b) throws java.lang.IllegalArgumentException, InvalidMatrixException
The A matrix is implicit, it is provided by the underlying decomposition algorithm.
solve
in interface DecompositionSolver
b
- right-hand side of the equation A × X = Bjava.lang.IllegalArgumentException
- if matrices dimensions don't matchInvalidMatrixException
- if decomposed matrix is singularpublic RealMatrix getInverse() throws InvalidMatrixException
getInverse
in interface DecompositionSolver
InvalidMatrixException
- if decomposed matrix is singularCopyright (c) 2003-2014 Apache Software Foundation