Package weka.core.matrix

# Class CholeskyDecomposition

java.lang.Object
weka.core.matrix.CholeskyDecomposition

All Implemented Interfaces:
  `Serializable`, `RevisionHandler`

public class CholeskyDecomposition extends Object implements Serializable, RevisionHandler
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.

Adapted from the JAMA package.

Version:
  $Revision: 1.5 $
Author:
  The Mathworks and NIST, Fracpete (fracpete at waikato dot ac dot nz)
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`CholeskyDecomposition(Matrix Arg)`
Cholesky algorithm for symmetric and positive definite matrix.

## Method Summary

Modifier and Type
Method
Description
`Matrix`
`getL()`
Return triangular factor.
`String`
`getRevision()`
Returns the revision string.
`boolean`
`isSPD()`
Is the matrix symmetric and positive definite?
`Matrix`
`solve(Matrix B)`
Solve A*X = B

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

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

## Constructor Details

### CholeskyDecomposition

public CholeskyDecomposition(Matrix Arg)
Cholesky algorithm for symmetric and positive definite matrix.

Parameters:
  `Arg` - Square, symmetric matrix.

## Method Details

### 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:
  `IllegalArgumentException` - Matrix row dimensions must agree.
  `RuntimeException` - Matrix is not symmetric positive definite.

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Returns:
  the revision