Class LUDecompositionBase_FDRM

  • All Implemented Interfaces:
    org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>, org.ejml.interfaces.decomposition.LUDecomposition<org.ejml.data.FMatrixRMaj>, org.ejml.interfaces.decomposition.LUDecomposition_F32<org.ejml.data.FMatrixRMaj>
    Direct Known Subclasses:
    LUDecompositionAlt_FDRM

    public abstract class LUDecompositionBase_FDRM
    extends java.lang.Object
    implements org.ejml.interfaces.decomposition.LUDecomposition_F32<org.ejml.data.FMatrixRMaj>

    Contains common data structures and operations for LU decomposition algorithms.

    • Field Summary

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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      float[] _getVV()  
      void _solveVectorInternal​(float[] vv)
      a specialized version of solve that avoid additional checks that are not needed.
      org.ejml.data.Complex_F32 computeDeterminant()
      Computes the determinant from the LU decomposition.
      protected void decomposeCommonInit​(org.ejml.data.FMatrixRMaj a)  
      int[] getIndx()  
      org.ejml.data.FMatrixRMaj getLower​(org.ejml.data.FMatrixRMaj lower)
      Writes the lower triangular matrix into the specified matrix.
      org.ejml.data.FMatrixRMaj getLU()  
      int[] getPivot()  
      org.ejml.data.FMatrixRMaj getRowPivot​(org.ejml.data.FMatrixRMaj pivot)  
      int[] getRowPivotV​(org.ejml.data.IGrowArray pivot)  
      org.ejml.data.FMatrixRMaj getUpper​(org.ejml.data.FMatrixRMaj 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 Detail

      • LU

        protected org.ejml.data.FMatrixRMaj LU
      • maxWidth

        protected int maxWidth
      • m

        protected int m
      • n

        protected int n
      • dataLU

        protected float[] dataLU
      • vv

        protected float[] vv
      • indx

        protected int[] indx
      • pivot

        protected int[] pivot
      • pivsign

        protected float pivsign
    • Constructor Detail

      • LUDecompositionBase_FDRM

        public LUDecompositionBase_FDRM()
    • Method Detail

      • setExpectedMaxSize

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

        public org.ejml.data.FMatrixRMaj 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.FMatrixRMaj>
      • getLower

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

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

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

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

        protected void decomposeCommonInit​(org.ejml.data.FMatrixRMaj 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.FMatrixRMaj>
        Returns:
        true if singular false otherwise.
      • computeDeterminant

        public org.ejml.data.Complex_F32 computeDeterminant()
        Computes the determinant from the LU decomposition.
        Specified by:
        computeDeterminant in interface org.ejml.interfaces.decomposition.LUDecomposition_F32<org.ejml.data.FMatrixRMaj>
        Returns:
        The matrix's determinant.
      • quality

        public double quality()
      • _solveVectorInternal

        public void _solveVectorInternal​(float[] vv)
        a specialized version of solve that avoid additional checks that are not needed.
      • _getVV

        public float[] _getVV()