Class CholeskyDecomposition

  • All Implemented Interfaces:
    java.io.Serializable

    public class CholeskyDecomposition
    extends java.lang.Object
    implements java.io.Serializable
    Cholesky Decomposition.

    For a symmetric, positive definite matrix A, the Cholesky decomposition is an lower triangular matrix L so that A = L*L'.

    If the matrix is not symmetric or positive definite, the constructor returns a partial decomposition and sets an internal flag that may be queried by the isSPD() method.

    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      CholeskyDecomposition​(Matrix Arg)
      Cholesky algorithm for symmetric and positive definite matrix.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Matrix getL()
      Return triangular factor.
      boolean isSPD()
      Is the matrix symmetric and positive definite?
      Matrix solve​(Matrix B)
      Solve A*X = B
      • Methods inherited from class java.lang.Object

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

      • CholeskyDecomposition

        public CholeskyDecomposition​(Matrix Arg)
        Cholesky algorithm for symmetric and positive definite matrix.
        Parameters:
        Arg - Square, symmetric matrix.
    • Method Detail

      • isSPD

        public boolean isSPD()
        Is the matrix symmetric and positive definite?
        Returns:
        true if A is symmetric and positive definite.
      • getL

        public Matrix getL()
        Return triangular factor.
        Returns:
        L
      • solve

        public Matrix solve​(Matrix B)
        Solve A*X = B
        Parameters:
        B - A Matrix with as many rows as A and any number of columns.
        Returns:
        X so that L*L'*X = B
        Throws:
        java.lang.IllegalArgumentException - Matrix row dimensions must agree.
        java.lang.RuntimeException - Matrix is not symmetric positive definite.