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 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[]
     
    protected int[]
     
    protected org.ejml.data.DMatrixRMaj
     
    protected int
     
    protected int
     
    protected int
     
    protected int[]
     
    protected double
     
    protected double[]
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    double[]
     
    void
    _solveVectorInternal(double[] vv)
    a specialized version of solve that avoid additional checks that are not needed.
    org.ejml.data.Complex_F64
    Computes the determinant from the LU decomposition.
    protected void
    decomposeCommonInit(org.ejml.data.DMatrixRMaj a)
     
    int[]
     
    org.ejml.data.DMatrixRMaj
    getLower(@Nullable org.ejml.data.DMatrixRMaj lower)
    Writes the lower triangular matrix into the specified matrix.
    org.ejml.data.DMatrixRMaj
     
    int[]
     
    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
     
    boolean
    Determines if the decomposed matrix is singular.
    double
     
    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

    • LUDecompositionBase_DDRM

      public LUDecompositionBase_DDRM()
  • 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()