Class CholeskyDecompositionLDL_FDRM

  • All Implemented Interfaces:
    org.ejml.interfaces.decomposition.CholeskyLDLDecomposition<org.ejml.data.FMatrixRMaj>, org.ejml.interfaces.decomposition.CholeskyLDLDecomposition_F32<org.ejml.data.FMatrixRMaj>, org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>

    public class CholeskyDecompositionLDL_FDRM
    extends java.lang.Object
    implements org.ejml.interfaces.decomposition.CholeskyLDLDecomposition_F32<org.ejml.data.FMatrixRMaj>

    This variant on the Cholesky decomposition avoid the need to take the square root by performing the following decomposition:

    L*D*LT=A

    where L is a lower triangular matrix with zeros on the diagonal. D is a diagonal matrix. The diagonal elements of L are equal to one.

    Unfortunately the speed advantage of not computing the square root is washed out by the increased number of array accesses. There only appears to be a slight speed boost for very small matrices.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      float[] _getVV()  
      boolean decompose​(org.ejml.data.FMatrixRMaj mat)
      Performs Choleksy decomposition on the provided matrix.
      org.ejml.data.FMatrixRMaj getD​(org.ejml.data.FMatrixRMaj D)  
      float[] getDiagonal()
      Diagonal elements of the diagonal D matrix.
      org.ejml.data.FMatrixRMaj getL()
      Returns L matrix from the decomposition.
      L*D*LT=A
      org.ejml.data.FMatrixRMaj getL​(org.ejml.data.FMatrixRMaj L)  
      boolean inputModified()  
      void setExpectedMaxSize​(int numRows, int numCols)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CholeskyDecompositionLDL_FDRM

        public CholeskyDecompositionLDL_FDRM()
    • Method Detail

      • setExpectedMaxSize

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

        public boolean decompose​(org.ejml.data.FMatrixRMaj mat)

        Performs Choleksy decomposition on the provided matrix.

        If the matrix is not positive definite then this function will return false since it can't complete its computations. Not all errors will be found.

        Specified by:
        decompose in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.FMatrixRMaj>
        Parameters:
        mat - A symetric n by n positive definite matrix.
        Returns:
        True if it was able to finish the decomposition.
      • inputModified

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

        public float[] getDiagonal()
        Diagonal elements of the diagonal D matrix.
        Specified by:
        getDiagonal in interface org.ejml.interfaces.decomposition.CholeskyLDLDecomposition_F32<org.ejml.data.FMatrixRMaj>
        Returns:
        diagonal elements of D
      • getL

        public org.ejml.data.FMatrixRMaj getL()
        Returns L matrix from the decomposition.
        L*D*LT=A
        Returns:
        A lower triangular matrix.
      • _getVV

        public float[] _getVV()
      • getL

        public org.ejml.data.FMatrixRMaj getL​(org.ejml.data.FMatrixRMaj L)
        Specified by:
        getL in interface org.ejml.interfaces.decomposition.CholeskyLDLDecomposition<org.ejml.data.FMatrixRMaj>
      • getD

        public org.ejml.data.FMatrixRMaj getD​(org.ejml.data.FMatrixRMaj D)
        Specified by:
        getD in interface org.ejml.interfaces.decomposition.CholeskyLDLDecomposition<org.ejml.data.FMatrixRMaj>