Class LU.LUMatrix
java.lang.Object
org.ujmp.core.doublematrix.calculation.general.decomposition.LU.LUMatrix
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final double[][]
Array for internal storage of decomposition.private final int
Row and column dimensions, and pivot sign.private final int
Row and column dimensions, and pivot sign.private final int[]
Internal storage of pivot vector.private int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal double
det()
Determinantfinal double[]
Return pivot permutation vector as a one-dimensional double arrayfinal DenseDoubleMatrix2D
getL()
Return lower triangular factorfinal Matrix
getP()
final int[]
getPivot()
Return pivot permutation vectorfinal DenseDoubleMatrix2D
getU()
Return upper triangular factorfinal boolean
Is the matrix nonsingular?final DenseDoubleMatrix2D
Solve A*X = B
-
Field Details
-
LU
private final double[][] LUArray for internal storage of decomposition. -
m
private final int mRow and column dimensions, and pivot sign. -
n
private final int nRow and column dimensions, and pivot sign. -
pivsign
private int pivsign -
piv
private final int[] pivInternal storage of pivot vector.
-
-
Constructor Details
-
LUMatrix
LU Decomposition- Parameters:
A
- Rectangular matrix
-
-
Method Details
-
isNonsingular
public final boolean isNonsingular()Is the matrix nonsingular?- Returns:
- true if U, and hence A, is nonsingular.
-
getL
Return lower triangular factor- Returns:
- L
-
getU
Return upper triangular factor- Returns:
- U
-
getPivot
public final int[] getPivot()Return pivot permutation vector- Returns:
- piv
-
getP
-
getDoublePivot
public final double[] getDoublePivot()Return pivot permutation vector as a one-dimensional double array- Returns:
- (double) piv
-
det
public final double det()Determinant- Returns:
- det(A)
- Throws:
IllegalArgumentException
- Matrix must be square
-
solve
Solve A*X = B- Parameters:
B
- A Matrix with as many rows as A and any number of columns.- Returns:
- X so that L*U*X = B(piv,:)
- Throws:
IllegalArgumentException
- Matrix row dimensions must agree.RuntimeException
- Matrix is singular.
-