Documentation of 'org.ejml.alg.dense.decomposition.chol.CholeskyDecompositionLDL_D64' Java class
CholeskyDecompositionLDL_D64
org.ejml.alg.dense.decomposition.chol

Class CholeskyDecompositionLDL_D64

  • All Implemented Interfaces:
    CholeskyLDLDecomposition<DenseMatrix64F>, DecompositionInterface<DenseMatrix64F>


    public class CholeskyDecompositionLDL_D64
    extends java.lang.Object
    implements CholeskyLDLDecomposition<DenseMatrix64F>

    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.

    • Constructor Detail

      • CholeskyDecompositionLDL_D64

        public CholeskyDecompositionLDL_D64()
    • Method Detail

      • setExpectedMaxSize

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

        public boolean decompose(DenseMatrix64F 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 DecompositionInterface<DenseMatrix64F>
        Parameters:
        mat - A symetric n by n positive definite matrix.
        Returns:
        True if it was able to finish the decomposition.
      • getL

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

        public double[] _getVV()
      • getL

        public DenseMatrix64F getL(DenseMatrix64F L)
        Description copied from interface: CholeskyLDLDecomposition

        Returns the lower triangular matrix from the decomposition.

        If an input is provided that matrix is used to write the results to. Otherwise a new matrix is created and the results written to it.

        Specified by:
        getL in interface CholeskyLDLDecomposition<DenseMatrix64F>
        Parameters:
        L - If not null then the decomposed matrix is written here.
        Returns:
        A lower triangular matrix.
      • getD

        public DenseMatrix64F getD(DenseMatrix64F D)
        Description copied from interface: CholeskyLDLDecomposition

        Returns the diagonal matrixfrom the decomposition.

        If an input is provided that matrix is used to write the results to. Otherwise a new matrix is created and the results written to it.

        Specified by:
        getD in interface CholeskyLDLDecomposition<DenseMatrix64F>
        Parameters:
        D - If not null it will be used to store the diagonal matrix
        Returns:
        D Square diagonal matrix

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.