cern.colt.matrix.linalg

## Class CholeskyDecomposition

- java.lang.Object
- - cern.colt.matrix.linalg.CholeskyDecomposition

All Implemented Interfaces:
  java.io.Serializable

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

For a symmetric, positive definite matrix `A`, the Cholesky decomposition is a 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 `isSymmetricPositiveDefinite()` method.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`CholeskyDecomposition(DoubleMatrix2D A)` Constructs and returns a new Cholesky decomposition object for a symmetric and positive definite matrix; The decomposed matrices can be retrieved via instance methods of the returned decomposition object.

### Method Summary

Methods
`DoubleMatrix2D` `getL()` Returns the triangular factor, `L`.
`boolean` `isSymmetricPositiveDefinite()` Returns whether the matrix `A` is symmetric and positive definite.
`DoubleMatrix2D` `solve(DoubleMatrix2D B)` Solves `A*X = B`; returns `X`.
`java.lang.String` `toString()` Returns a String with (propertyName, propertyValue) pairs.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### CholeskyDecomposition

    public CholeskyDecomposition(DoubleMatrix2D A)

Constructs and returns a new Cholesky decomposition object for a symmetric and positive definite matrix; The decomposed matrices can be retrieved via instance methods of the returned decomposition object.

Parameters:
  `A` - Square, symmetric matrix.
Throws:
  `java.lang.IllegalArgumentException` - if `A` is not square.

### Method Detail

#### getL

    public DoubleMatrix2D getL()

Returns the triangular factor, `L`.

Returns:
  `L`

#### isSymmetricPositiveDefinite

    public boolean isSymmetricPositiveDefinite()

Returns whether the matrix `A` is symmetric and positive definite.

Returns:
  true if `A` is symmetric and positive definite; false otherwise

#### solve

    public DoubleMatrix2D solve(DoubleMatrix2D B)

Solves `A*X = B`; returns `X`.

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` - if `B.rows() != A.rows()`.
  `java.lang.IllegalArgumentException` - if `!isSymmetricPositiveDefinite()`.

#### toString

    public java.lang.String toString()

Returns a String with (propertyName, propertyValue) pairs. Useful for debugging or to quickly get the rough picture. For example,

    rank          : 3
    trace         : 0

Overrides:
  `toString` in class `java.lang.Object`