## org.apache.commons.math3.linear Class CholeskyDecomposition

```java.lang.Object org.apache.commons.math3.linear.CholeskyDecomposition
```

`public class CholeskyDecompositionextends Object`

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 such that: A = LLT. 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:

Since:
2.0 (changed to concrete class in 3.0)
Version:
\$Id: CholeskyDecomposition.java 1416643 2012-12-03 19:37:14Z tn \$
MathWorld, Wikipedia

Field Summary
`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
`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.

Method Summary
` 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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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.

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.

Constant Field Values
Constructor Detail

### CholeskyDecomposition

`public CholeskyDecomposition(RealMatrix matrix)`
Calculates the Cholesky decomposition of the given 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`

Parameters:
`matrix` - the matrix to decompose
Throws:
`NonSquareMatrixException` - 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`

### CholeskyDecomposition

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

Parameters:
`matrix` - the matrix to decompose
`relativeSymmetryThreshold` - threshold above which off-diagonal elements are considered too different and matrix not symmetric
`absolutePositivityThreshold` - threshold below which diagonal elements are considered null and matrix not positive definite
Throws:
`NonSquareMatrixException` - 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`
Method Detail

### getL

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

L is an lower-triangular matrix

Returns:
the L matrix

### getLT

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

LT is an upper-triangular matrix

Returns:
the transpose of the matrix L of the decomposition

### getDeterminant

`public double getDeterminant()`
Return the determinant of the matrix

Returns:
determinant of the matrix

### getSolver

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

Returns:
a solver