public class SparseFloatLUDecomposition extends Object
The LU decomposition with pivoting always exists, even if the matrix is singular. The primary use of the LU decomposition is in the solution of square systems of simultaneous linear equations. This will fail if isNonsingular() returns false.
Constructor and Description |
---|
SparseFloatLUDecomposition(FloatMatrix2D A,
int order,
boolean checkIfSingular)
Constructs and returns a new LU Decomposition object; The decomposed
matrices can be retrieved via instance methods of the returned
decomposition object.
|
Modifier and Type | Method and Description |
---|---|
float |
det()
Returns the determinant, det(A).
|
FloatMatrix2D |
getL()
Returns the lower triangular factor, L.
|
int[] |
getPivot()
Returns a copy of the pivot permutation vector.
|
edu.emory.mathcs.csparsej.tfloat.Scs_common.Scss |
getSymbolicAnalysis()
Returns a copy of the symbolic LU analysis object
|
FloatMatrix2D |
getU()
Returns the upper triangular factor, U.
|
boolean |
isNonsingular()
Returns whether the matrix is nonsingular (has an inverse).
|
void |
solve(FloatMatrix1D b)
Solves A*x = b(in-place).
|
public SparseFloatLUDecomposition(FloatMatrix2D A, int order, boolean checkIfSingular)
A
- Square matrixorder
- ordering option (0 to 3); 0: natural ordering, 1: amd(A+A'),
2: amd(S'*S), 3: amd(A'*A)checkIfSingular
- if true, then the singularity test (based on
Dulmage-Mendelsohn decomposition) is performed.IllegalArgumentException
- if A is not square or is not sparse.IllegalArgumentException
- if order is not in [0,3]public float det()
public FloatMatrix2D getL()
public int[] getPivot()
public FloatMatrix2D getU()
public edu.emory.mathcs.csparsej.tfloat.Scs_common.Scss getSymbolicAnalysis()
public boolean isNonsingular()
public void solve(FloatMatrix1D b)
b
- A vector with of size A.rows();IllegalArgumentException
- if b.size() != A.rows() or if A is singular.Jump to the Parallel Colt Homepage