Class LUDecompositionBase_DDRM

java.lang.Object
org.ejml.dense.row.decomposition.lu.LUDecompositionBase_DDRM
All Implemented Interfaces:
org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>, org.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.DMatrixRMaj>, org.ejml.interfaces.decomposition.LUDecomposition_F64<org.ejml.data.DMatrixRMaj>
Direct Known Subclasses:
LUDecompositionAlt_DDRM

public abstract class LUDecompositionBase_DDRM
extends java.lang.Object
implements org.ejml.interfaces.decomposition.LUDecomposition_F64<org.ejml.data.DMatrixRMaj>

Contains common data structures and operations for LU decomposition algorithms.

  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected double[] dataLU  
    protected int[] indx  
    protected org.ejml.data.DMatrixRMaj LU  
    protected int m  
    protected int maxWidth  
    protected int n  
    protected int[] pivot  
    protected double pivsign  
    protected double[] vv  
  • Constructor Summary

    Constructors 
    Constructor Description
    LUDecompositionBase_DDRM()  
  • Method Summary

    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_F64 computeDeterminant()
    Computes the determinant from the LU decomposition.
    protected void decomposeCommonInit​(org.ejml.data.DMatrixRMaj a)  
    int[] getIndx()  
    org.ejml.data.DMatrixRMaj getLower​(@Nullable org.ejml.data.DMatrixRMaj lower)
    Writes the lower triangular matrix into the specified matrix.
    org.ejml.data.DMatrixRMaj getLU()  
    int[] getPivot()  
    org.ejml.data.DMatrixRMaj getRowPivot​(@Nullable org.ejml.data.DMatrixRMaj pivot)  
    int[] getRowPivotV​(@Nullable org.ejml.data.IGrowArray pivot)  
    org.ejml.data.DMatrixRMaj getUpper​(@Nullable org.ejml.data.DMatrixRMaj upper)
    Writes the upper triangular matrix into the specified matrix.
    boolean inputModified()  
    boolean isSingular()
    Determines if the decomposed matrix is singular.
    double quality()  
    void setExpectedMaxSize​(int numRows, int numCols)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.ejml.interfaces.decomposition.DecompositionInterface

    decompose
  • Field Details

    • LU

      protected org.ejml.data.DMatrixRMaj LU
    • maxWidth

      protected int maxWidth
    • m

      protected int m
    • n

      protected int n
    • dataLU

      protected double[] dataLU
    • vv

      protected double[] vv
    • indx

      protected int[] indx
    • pivot

      protected int[] pivot
    • pivsign

      protected double pivsign
  • Constructor Details

  • Method Details

    • setExpectedMaxSize

      public void setExpectedMaxSize​(int numRows, int numCols)
    • getLU

      public org.ejml.data.DMatrixRMaj getLU()
    • getIndx

      public int[] getIndx()
    • getPivot

      public int[] getPivot()
    • inputModified

      public boolean inputModified()
      Specified by:
      inputModified in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>
    • getLower

      public org.ejml.data.DMatrixRMaj getLower​(@Nullable @Nullable org.ejml.data.DMatrixRMaj lower)
      Writes the lower triangular matrix into the specified matrix.
      Specified by:
      getLower in interface org.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.DMatrixRMaj>
      Parameters:
      lower - Where the lower triangular matrix is written to.
    • getUpper

      public org.ejml.data.DMatrixRMaj getUpper​(@Nullable @Nullable org.ejml.data.DMatrixRMaj upper)
      Writes the upper triangular matrix into the specified matrix.
      Specified by:
      getUpper in interface org.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.DMatrixRMaj>
      Parameters:
      upper - Where the upper triangular matrix is writen to.
    • getRowPivot

      public org.ejml.data.DMatrixRMaj getRowPivot​(@Nullable @Nullable org.ejml.data.DMatrixRMaj pivot)
      Specified by:
      getRowPivot in interface org.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.DMatrixRMaj>
    • getRowPivotV

      public int[] getRowPivotV​(@Nullable @Nullable org.ejml.data.IGrowArray pivot)
      Specified by:
      getRowPivotV in interface org.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.DMatrixRMaj>
    • decomposeCommonInit

      protected void decomposeCommonInit​(org.ejml.data.DMatrixRMaj 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:
      isSingular in interface org.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.DMatrixRMaj>
      Returns:
      true if singular false otherwise.
    • computeDeterminant

      public org.ejml.data.Complex_F64 computeDeterminant()
      Computes the determinant from the LU decomposition.
      Specified by:
      computeDeterminant in interface org.ejml.interfaces.decomposition.LUDecomposition_F64<org.ejml.data.DMatrixRMaj>
      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.
    • _getVV

      public double[] _getVV()