Package org.ejml.dense.row.decompose.lu
Class LUDecompositionBase_ZDRM
java.lang.Object
org.ejml.dense.row.decompose.lu.LUDecompositionBase_ZDRM
- All Implemented Interfaces:
org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.ZMatrixRMaj>,org.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.ZMatrixRMaj>,org.ejml.interfaces.decomposition.LUDecomposition_F64<org.ejml.data.ZMatrixRMaj>
- Direct Known Subclasses:
LUDecompositionAlt_ZDRM
public abstract class LUDecompositionBase_ZDRM
extends Object
implements org.ejml.interfaces.decomposition.LUDecomposition_F64<org.ejml.data.ZMatrixRMaj>
Contains common data structures and operations for LU decomposition algorithms.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected double[]protected org.ejml.data.Complex_F64protected int[]protected org.ejml.data.ZMatrixRMajprotected intprotected intprotected intprotected int[]protected doubleprotected intprotected double[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondouble[]_getVV()void_solveVectorInternal(double[] vv) a specialized version of solve that avoid additional checks that are not needed.org.ejml.data.Complex_F64Computes the determinant from the LU decomposition.protected voiddecomposeCommonInit(org.ejml.data.ZMatrixRMaj a) int[]getIndx()org.ejml.data.ZMatrixRMajgetLower(@Nullable org.ejml.data.ZMatrixRMaj lower) Writes the lower triangular matrix into the specified matrix.org.ejml.data.ZMatrixRMajgetLU()int[]getPivot()org.ejml.data.ZMatrixRMajgetRowPivot(@Nullable org.ejml.data.ZMatrixRMaj pivot) int[]getRowPivotV(@Nullable org.ejml.data.IGrowArray pivot) org.ejml.data.ZMatrixRMajgetUpper(@Nullable org.ejml.data.ZMatrixRMaj upper) Writes the upper triangular matrix into the specified matrix.booleanbooleanDetermines if the decomposed matrix is singular.doublequality()voidsetExpectedMaxSize(int numRows, int numCols) protected voidsolveL(double[] vv) Solve the using the lower triangular matrix in LU.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.ejml.interfaces.decomposition.DecompositionInterface
decompose
-
Field Details
-
LU
protected org.ejml.data.ZMatrixRMaj LU -
maxWidth
protected int maxWidth -
m
protected int m -
n
protected int n -
stride
protected int stride -
dataLU
protected double[] dataLU -
vv
protected double[] vv -
indx
protected int[] indx -
pivot
protected int[] pivot -
pivsign
protected double pivsign -
det
protected org.ejml.data.Complex_F64 det
-
-
Constructor Details
-
LUDecompositionBase_ZDRM
public LUDecompositionBase_ZDRM()
-
-
Method Details
-
setExpectedMaxSize
public void setExpectedMaxSize(int numRows, int numCols) -
getLU
public org.ejml.data.ZMatrixRMaj getLU() -
getIndx
public int[] getIndx() -
getPivot
public int[] getPivot() -
inputModified
public boolean inputModified()- Specified by:
inputModifiedin interfaceorg.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.ZMatrixRMaj>
-
getLower
public org.ejml.data.ZMatrixRMaj getLower(@Nullable @Nullable org.ejml.data.ZMatrixRMaj lower) Writes the lower triangular matrix into the specified matrix.- Specified by:
getLowerin interfaceorg.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.ZMatrixRMaj>- Parameters:
lower- Where the lower triangular matrix is written to.
-
getUpper
public org.ejml.data.ZMatrixRMaj getUpper(@Nullable @Nullable org.ejml.data.ZMatrixRMaj upper) Writes the upper triangular matrix into the specified matrix.- Specified by:
getUpperin interfaceorg.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.ZMatrixRMaj>- Parameters:
upper- Where the upper triangular matrix is writen to.
-
getRowPivot
public org.ejml.data.ZMatrixRMaj getRowPivot(@Nullable @Nullable org.ejml.data.ZMatrixRMaj pivot) - Specified by:
getRowPivotin interfaceorg.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.ZMatrixRMaj>
-
getRowPivotV
public int[] getRowPivotV(@Nullable @Nullable org.ejml.data.IGrowArray pivot) - Specified by:
getRowPivotVin interfaceorg.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.ZMatrixRMaj>
-
decomposeCommonInit
protected void decomposeCommonInit(org.ejml.data.ZMatrixRMaj a) -
isSingular
public boolean isSingular()Determines if the decomposed matrix is singular. This function can return false and the matrix be almost singular, which is still bad.- Specified by:
isSingularin interfaceorg.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.ZMatrixRMaj>- Returns:
- true if singular false otherwise.
-
computeDeterminant
public org.ejml.data.Complex_F64 computeDeterminant()Computes the determinant from the LU decomposition.- Specified by:
computeDeterminantin interfaceorg.ejml.interfaces.decomposition.LUDecomposition_F64<org.ejml.data.ZMatrixRMaj>- Returns:
- The matrix's determinant.
-
quality
public double quality() -
_solveVectorInternal
public void _solveVectorInternal(double[] vv) a specialized version of solve that avoid additional checks that are not needed. -
solveL
protected void solveL(double[] vv) Solve the using the lower triangular matrix in LU. Diagonal elements are assumed to be 1 -
_getVV
public double[] _getVV()
-