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 java.lang.Object implements org.ejml.interfaces.decomposition.LUDecomposition_F64<org.ejml.data.ZMatrixRMaj>Contains common data structures and operations for LU decomposition algorithms.
-
-
Field Summary
Fields Modifier and Type Field Description protected double[]dataLUprotected org.ejml.data.Complex_F64detprotected int[]indxprotected org.ejml.data.ZMatrixRMajLUprotected intmprotected intmaxWidthprotected intnprotected int[]pivotprotected doublepivsignprotected intstrideprotected double[]vv
-
Constructor Summary
Constructors Constructor Description LUDecompositionBase_ZDRM()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double[]_getVV()void_solveVectorInternal(double[] vv)a specialized version of solve that avoid additional checks that are not needed.org.ejml.data.Complex_F64computeDeterminant()Computes the determinant from the LU decomposition.protected voiddecomposeCommonInit(org.ejml.data.ZMatrixRMaj a)int[]getIndx()org.ejml.data.ZMatrixRMajgetLower(org.ejml.data.ZMatrixRMaj lower)Writes the lower triangular matrix into the specified matrix.org.ejml.data.ZMatrixRMajgetLU()int[]getPivot()org.ejml.data.ZMatrixRMajgetRowPivot(org.ejml.data.ZMatrixRMaj pivot)int[]getRowPivotV(org.ejml.data.IGrowArray pivot)org.ejml.data.ZMatrixRMajgetUpper(org.ejml.data.ZMatrixRMaj upper)Writes the upper triangular matrix into the specified matrix.booleaninputModified()booleanisSingular()Determines 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.
-
-
-
Field Detail
-
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
-
-
Method Detail
-
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(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(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(org.ejml.data.ZMatrixRMaj pivot)
- Specified by:
getRowPivotin interfaceorg.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.ZMatrixRMaj>
-
getRowPivotV
public int[] getRowPivotV(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()
-
-