Interface DecompositionSolver

public interface DecompositionSolver
Interface handling decomposition algorithms that can solve A × X = B.Decomposition algorithms decompose an A matrix has a product of several specific matrices from which they can solve A × X = B in least squares sense: they find X such that A × X  B is minimal.
Some solvers like
LUDecomposition
can only find the solution for square matrices and when the solution is an exact linear solution, i.e. when A × X  B is exactly 0. Other solvers can also find solutions with nonsquare matrix A and with nonnull minimal norm. If an exact linear solution exists it is also the minimal norm solution. Since:
 2.0


Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description RealMatrix
getInverse()
Get the inverse (or pseudoinverse) of the decomposed matrix.boolean
isNonSingular()
Check if the decomposed matrix is nonsingular.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.



Method Detail

solve
double[] solve(double[] b) throws java.lang.IllegalArgumentException, InvalidMatrixException
Solve the linear equation A × X = B for matrices A.The A matrix is implicit, it is provided by the underlying decomposition algorithm.
 Parameters:
b
 righthand side of the equation A × X = B Returns:
 a vector X that minimizes the two norm of A × X  B
 Throws:
java.lang.IllegalArgumentException
 if matrices dimensions don't matchInvalidMatrixException
 if decomposed matrix is singular

solve
RealVector solve(RealVector b) throws java.lang.IllegalArgumentException, InvalidMatrixException
Solve the linear equation A × X = B for matrices A.The A matrix is implicit, it is provided by the underlying decomposition algorithm.
 Parameters:
b
 righthand side of the equation A × X = B Returns:
 a vector X that minimizes the two norm of A × X  B
 Throws:
java.lang.IllegalArgumentException
 if matrices dimensions don't matchInvalidMatrixException
 if decomposed matrix is singular

solve
RealMatrix solve(RealMatrix b) throws java.lang.IllegalArgumentException, InvalidMatrixException
Solve the linear equation A × X = B for matrices A.The A matrix is implicit, it is provided by the underlying decomposition algorithm.
 Parameters:
b
 righthand side of the equation A × X = B Returns:
 a matrix X that minimizes the two norm of A × X  B
 Throws:
java.lang.IllegalArgumentException
 if matrices dimensions don't matchInvalidMatrixException
 if decomposed matrix is singular

isNonSingular
boolean isNonSingular()
Check if the decomposed matrix is nonsingular. Returns:
 true if the decomposed matrix is nonsingular

getInverse
RealMatrix getInverse() throws InvalidMatrixException
Get the inverse (or pseudoinverse) of the decomposed matrix. Returns:
 inverse matrix
 Throws:
InvalidMatrixException
 if decomposed matrix is singular

