Class CholeskyDecompositionCommon_DDRM

java.lang.Object
org.ejml.dense.row.decomposition.chol.CholeskyDecompositionCommon_DDRM
All Implemented Interfaces:
org.ejml.interfaces.decomposition.CholeskyDecomposition<org.ejml.data.DMatrixRMaj>, org.ejml.interfaces.decomposition.CholeskyDecomposition_F64<org.ejml.data.DMatrixRMaj>, org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>
Direct Known Subclasses:
CholeskyDecompositionBlock_DDRM, CholeskyDecompositionInner_DDRM

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

This is an abstract class for a Cholesky decomposition. It provides the solvers, but the actual decomposition is provided in other classes.

See Also:
CholeskyDecomposition_F64
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected org.ejml.data.Complex_F64 det  
    protected boolean lower  
    protected int maxWidth  
    protected int n  
    protected double[] t  
    protected org.ejml.data.DMatrixRMaj T  
    protected double[] vv  
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    protected CholeskyDecompositionCommon_DDRM​(boolean lower)
    Specifies if a lower or upper variant should be constructed.
  • Method Summary

    Modifier and Type Method Description
    double[] _getVV()  
    org.ejml.data.Complex_F64 computeDeterminant()  
    boolean decompose​(org.ejml.data.DMatrixRMaj mat)
    Performs Choleksy decomposition on the provided matrix.
    protected abstract boolean decomposeLower()
    Performs an lower triangular decomposition.
    protected abstract boolean decomposeUpper()
    Performs an upper triangular decomposition.
    org.ejml.data.DMatrixRMaj getT()
    Returns the triangular matrix from the decomposition.
    org.ejml.data.DMatrixRMaj getT​(@Nullable org.ejml.data.DMatrixRMaj T)  
    boolean inputModified()  
    boolean isLower()
    If true the decomposition was for a lower triangular matrix.
    void setExpectedMaxSize​(int numRows, int numCols)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • maxWidth

      protected int maxWidth
    • n

      protected int n
    • T

      protected org.ejml.data.DMatrixRMaj T
    • t

      protected double[] t
    • vv

      protected double[] vv
    • lower

      protected boolean lower
    • det

      protected org.ejml.data.Complex_F64 det
  • Constructor Details

    • CholeskyDecompositionCommon_DDRM

      protected CholeskyDecompositionCommon_DDRM​(boolean lower)
      Specifies if a lower or upper variant should be constructed.
      Parameters:
      lower - should a lower or upper triangular matrix be used.
  • Method Details

    • setExpectedMaxSize

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

      public boolean isLower()
      If true the decomposition was for a lower triangular matrix. If false it was for an upper triangular matrix.
      Specified by:
      isLower in interface org.ejml.interfaces.decomposition.CholeskyDecomposition<org.ejml.data.DMatrixRMaj>
      Returns:
      True if lower, false if upper.
    • decompose

      public boolean decompose​(org.ejml.data.DMatrixRMaj 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. This is an efficient way to check for positive definiteness.

      Specified by:
      decompose in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>
      Parameters:
      mat - A symmetric positive definite matrix with n ≤ widthMax.
      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.DMatrixRMaj>
    • decomposeLower

      protected abstract boolean decomposeLower()
      Performs an lower triangular decomposition.
      Returns:
      true if the matrix was decomposed.
    • decomposeUpper

      protected abstract boolean decomposeUpper()
      Performs an upper triangular decomposition.
      Returns:
      true if the matrix was decomposed.
    • getT

      public org.ejml.data.DMatrixRMaj getT​(@Nullable @Nullable org.ejml.data.DMatrixRMaj T)
      Specified by:
      getT in interface org.ejml.interfaces.decomposition.CholeskyDecomposition<org.ejml.data.DMatrixRMaj>
    • getT

      public org.ejml.data.DMatrixRMaj getT()
      Returns the triangular matrix from the decomposition.
      Returns:
      A lower or upper triangular matrix.
    • _getVV

      public double[] _getVV()
    • computeDeterminant

      public org.ejml.data.Complex_F64 computeDeterminant()
      Specified by:
      computeDeterminant in interface org.ejml.interfaces.decomposition.CholeskyDecomposition_F64<org.ejml.data.DMatrixRMaj>