public class CholeskyDecomposition extends Object
The Cholesky decomposition of a real symmetric positivedefinite matrix A consists of a lower triangular matrix L with same size such that: A = LL^{T}. In a sense, this is the square root of A.
This class is based on the class with similar name from the JAMA library, with the following changes:
getLT
method has been added,isspd
method has been removed, since the constructor of
this class throws a NonPositiveDefiniteMatrixException
when a
matrix cannot be decomposed,getDeterminant
method has been added,solve
method has been replaced by a getSolver
method and the equivalent method provided by the returned
DecompositionSolver
.Modifier and Type  Field and Description 

static double 
DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
Default threshold below which diagonal elements are considered null
and matrix not positive definite.

static double 
DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
Default threshold above which offdiagonal elements are considered too different
and matrix not symmetric.

Constructor and Description 

CholeskyDecomposition(RealMatrix matrix)
Calculates the Cholesky decomposition of the given matrix.

CholeskyDecomposition(RealMatrix matrix,
double relativeSymmetryThreshold,
double absolutePositivityThreshold)
Calculates the Cholesky decomposition of the given matrix.

Modifier and Type  Method and Description 

double 
getDeterminant()
Return the determinant of the matrix

RealMatrix 
getL()
Returns the matrix L of the decomposition.

RealMatrix 
getLT()
Returns the transpose of the matrix L of the decomposition.

DecompositionSolver 
getSolver()
Get a solver for finding the A × X = B solution in least square sense.

public static final double DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
public static final double DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
public CholeskyDecomposition(RealMatrix matrix)
Calling this constructor is equivalent to call CholeskyDecomposition(RealMatrix, double, double)
with the
thresholds set to the default values DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
and DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
matrix
 the matrix to decomposeNonSquareMatrixException
 if the matrix is not square.NonSymmetricMatrixException
 if the matrix is not symmetric.NonPositiveDefiniteMatrixException
 if the matrix is not
strictly positive definite.CholeskyDecomposition(RealMatrix, double, double)
,
DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
,
DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
public CholeskyDecomposition(RealMatrix matrix, double relativeSymmetryThreshold, double absolutePositivityThreshold)
matrix
 the matrix to decomposerelativeSymmetryThreshold
 threshold above which offdiagonal
elements are considered too different and matrix not symmetricabsolutePositivityThreshold
 threshold below which diagonal
elements are considered null and matrix not positive definiteNonSquareMatrixException
 if the matrix is not square.NonSymmetricMatrixException
 if the matrix is not symmetric.NonPositiveDefiniteMatrixException
 if the matrix is not
strictly positive definite.CholeskyDecomposition(RealMatrix)
,
DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
,
DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
public RealMatrix getL()
L is an lowertriangular matrix
public RealMatrix getLT()
L^{T} is an uppertriangular matrix
public double getDeterminant()
public DecompositionSolver getSolver()
Copyright © 20032012 The Apache Software Foundation. All Rights Reserved.