Package org.apache.commons.math.linear
Class CholeskyDecompositionImpl
- java.lang.Object
-
- org.apache.commons.math.linear.CholeskyDecompositionImpl
-
- All Implemented Interfaces:
CholeskyDecomposition
public class CholeskyDecompositionImpl extends java.lang.Object implements CholeskyDecomposition
Calculates the Cholesky decomposition of a matrix.The Cholesky decomposition of a real symmetric positive-definite matrix A consists of a lower triangular matrix L with same size that satisfy: A = LLTQ = I). In a sense, this is the square root of A.
-
-
Field Summary
Fields Modifier and Type Field 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 off-diagonal elements are considered too different and matrix not symmetric.
-
Constructor Summary
Constructors Constructor Description CholeskyDecompositionImpl(RealMatrix matrix)
Calculates the Cholesky decomposition of the given matrix.CholeskyDecompositionImpl(RealMatrix matrix, double relativeSymmetryThreshold, double absolutePositivityThreshold)
Calculates the Cholesky decomposition of the given matrix.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getDeterminant()
Return the determinant of the matrixRealMatrix
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.
-
-
-
Field Detail
-
DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
public static final double DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
Default threshold above which off-diagonal elements are considered too different and matrix not symmetric.- See Also:
- Constant Field Values
-
DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
public static final double DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
Default threshold below which diagonal elements are considered null and matrix not positive definite.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CholeskyDecompositionImpl
public CholeskyDecompositionImpl(RealMatrix matrix) throws NonSquareMatrixException, NotSymmetricMatrixException, NotPositiveDefiniteMatrixException
Calculates the Cholesky decomposition of the given matrix.Calling this constructor is equivalent to call
CholeskyDecompositionImpl(RealMatrix, double, double)
with the thresholds set to the default valuesDEFAULT_RELATIVE_SYMMETRY_THRESHOLD
andDEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
- Parameters:
matrix
- the matrix to decompose- Throws:
NonSquareMatrixException
- if matrix is not squareNotSymmetricMatrixException
- if matrix is not symmetricNotPositiveDefiniteMatrixException
- if the matrix is not strictly positive definite- See Also:
CholeskyDecompositionImpl(RealMatrix, double, double)
,DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
,DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
-
CholeskyDecompositionImpl
public CholeskyDecompositionImpl(RealMatrix matrix, double relativeSymmetryThreshold, double absolutePositivityThreshold) throws NonSquareMatrixException, NotSymmetricMatrixException, NotPositiveDefiniteMatrixException
Calculates the Cholesky decomposition of the given matrix.- Parameters:
matrix
- the matrix to decomposerelativeSymmetryThreshold
- threshold above which off-diagonal elements are considered too different and matrix not symmetricabsolutePositivityThreshold
- threshold below which diagonal elements are considered null and matrix not positive definite- Throws:
NonSquareMatrixException
- if matrix is not squareNotSymmetricMatrixException
- if matrix is not symmetricNotPositiveDefiniteMatrixException
- if the matrix is not strictly positive definite- See Also:
CholeskyDecompositionImpl(RealMatrix)
,DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
,DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
-
-
Method Detail
-
getL
public RealMatrix getL()
Returns the matrix L of the decomposition.L is an lower-triangular matrix
- Specified by:
getL
in interfaceCholeskyDecomposition
- Returns:
- the L matrix
-
getLT
public RealMatrix getLT()
Returns the transpose of the matrix L of the decomposition.LT is an upper-triangular matrix
- Specified by:
getLT
in interfaceCholeskyDecomposition
- Returns:
- the transpose of the matrix L of the decomposition
-
getDeterminant
public double getDeterminant()
Return the determinant of the matrix- Specified by:
getDeterminant
in interfaceCholeskyDecomposition
- Returns:
- determinant of the matrix
-
getSolver
public DecompositionSolver getSolver()
Get a solver for finding the A × X = B solution in least square sense.- Specified by:
getSolver
in interfaceCholeskyDecomposition
- Returns:
- a solver
-
-