org.ojalgo.matrix.decomposition
Class CholeskyDecomposition<N extends Number>

java.lang.Object
  extended by org.ojalgo.matrix.decomposition.CholeskyDecomposition<N>
All Implemented Interfaces:
Cholesky<N>, MatrixDecomposition<N>
Direct Known Subclasses:
Chol0

public abstract class CholeskyDecomposition<N extends Number>
extends Object
implements Cholesky<N>


Nested Class Summary
static interface CholeskyDecomposition.Store<N extends Number>
           Only classes that will act as a delegate to CholeskyDecomposition should implement this interface.
 
Field Summary
static boolean DEBUG
           
 
Method Summary
 boolean equals(MatrixDecomposition<N> aDecomp, NumberContext aCntxt)
           
 boolean equals(Object someObj)
           
 MatrixStore<N> invert(MatrixStore<N> aStore)
          A convenience method that produces exactly the same result as if you first call MatrixDecomposition.compute(MatrixStore) and then MatrixDecomposition.getInverse().
 boolean isComputed()
           
static Cholesky<BigDecimal> makeBig()
           
static Cholesky<ComplexNumber> makeComplex()
           
static Cholesky<Double> makeJama()
           
static Cholesky<Double> makePrimitive()
           
 void reset()
           
 Future<DecomposeAndSolve<N>> solve(MatrixStore<N> aBody, MatrixStore<N> aRHS)
          Will solve [aBody][X]=[aRHS] concurrently by first calling MatrixDecomposition.compute(MatrixStore) using [aBody], and then MatrixDecomposition.solve(MatrixStore) using [aRHS].
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.ojalgo.matrix.decomposition.Cholesky
computeWithCheck, getDeterminant, getL, isSPD
 
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
compute, equals, equals, getInverse, invert, isComputed, isFullSize, isSolvable, reset, solve, solve
 

Field Detail

DEBUG

public static boolean DEBUG
Method Detail

makeBig

public static final Cholesky<BigDecimal> makeBig()

makeComplex

public static final Cholesky<ComplexNumber> makeComplex()

makeJama

public static final Cholesky<Double> makeJama()

makePrimitive

public static final Cholesky<Double> makePrimitive()

equals

public boolean equals(MatrixDecomposition<N> aDecomp,
                      NumberContext aCntxt)
Specified by:
equals in interface MatrixDecomposition<N extends Number>

equals

public boolean equals(Object someObj)
Overrides:
equals in class Object

invert

public final MatrixStore<N> invert(MatrixStore<N> aStore)
Description copied from interface: MatrixDecomposition
A convenience method that produces exactly the same result as if you first call MatrixDecomposition.compute(MatrixStore) and then MatrixDecomposition.getInverse().

Specified by:
invert in interface MatrixDecomposition<N extends Number>

isComputed

public boolean isComputed()
Specified by:
isComputed in interface MatrixDecomposition<N extends Number>
Returns:
true if computation has been attemped; false if not.
See Also:
MatrixDecomposition.compute(MatrixStore), MatrixDecomposition.isSolvable()

reset

public void reset()
Specified by:
reset in interface MatrixDecomposition<N extends Number>

solve

public Future<DecomposeAndSolve<N>> solve(MatrixStore<N> aBody,
                                          MatrixStore<N> aRHS)
Description copied from interface: MatrixDecomposition
Will solve [aBody][X]=[aRHS] concurrently by first calling MatrixDecomposition.compute(MatrixStore) using [aBody], and then MatrixDecomposition.solve(MatrixStore) using [aRHS]. If either of the input [aBody] or [aRHS] is set to null the corresponing calculation is skipped.

Specified by:
solve in interface MatrixDecomposition<N extends Number>
Parameters:
aBody - The equation system body
aRHS - The equation system right hand side
Returns:
The matrix decomposition and the equation system solution, [X]