public final class JamaCholesky extends Object implements Cholesky<Double>
InverterTask.Factory<N extends Number>SolverTask.Factory<N extends Number>DeterminantTask.Factory<N extends Number>BIG, COMPLEX, PRIMITIVEBIG, COMPLEX, PRIMITIVEBIG, COMPLEX, PRIMITIVE| Constructor and Description |
|---|
JamaCholesky()
Not recommended to use this constructor directly.
|
| Modifier and Type | Method and Description |
|---|---|
Double |
calculateDeterminant(Access2D<Double> matrix) |
boolean |
compute(Access2D<?> aStore) |
boolean |
compute(Access2D<?> matrix,
boolean checkHermitian) |
boolean |
computeWithCheck(MatrixStore<?> aStore) |
boolean |
equals(MatrixDecomposition<Double> other,
NumberContext context) |
boolean |
equals(MatrixStore<Double> aStore,
NumberContext context) |
JamaMatrix |
getD() |
Double |
getDeterminant() |
JamaMatrix |
getInverse()
The output must be a "right inverse" and a "generalised inverse".
|
MatrixStore<Double> |
getInverse(DecompositionStore<Double> preallocated)
Makes no use of
preallocated at all. |
JamaMatrix |
getL() |
JamaMatrix |
getOldL() |
JamaMatrix |
getOldU() |
JamaMatrix |
getP() |
int[] |
getPivotOrder() |
JamaMatrix |
getR() |
int |
getRank() |
JamaMatrix |
getRowEchelonForm() |
MatrixStore<Double> |
invert(MatrixStore<Double> original)
The output must be a "right inverse" and a "generalised inverse".
|
MatrixStore<Double> |
invert(MatrixStore<Double> original,
DecompositionStore<Double> preallocated)
Implementiong this method is optional.
|
boolean |
isAspectRatioNormal() |
boolean |
isComputed() |
boolean |
isFullSize() |
boolean |
isSingular() |
boolean |
isSolvable() |
boolean |
isSPD()
To use the Cholesky decomposition rather than the LU decomposition the matrix must be symmetric and positive
definite.
|
boolean |
isSquareAndNotSingular() |
DecompositionStore<Double> |
preallocate(Access2D<Double> template)
Implementiong this method is optional.
|
DecompositionStore<Double> |
preallocate(Access2D<Double> templateBody,
Access2D<Double> templateRHS)
Implementiong this method is optional.
|
MatrixStore<Double> |
reconstruct() |
void |
reset()
Delete computed results, and resets attributes to default values
|
JamaMatrix |
solve(Access2D<Double> rhs)
[A][X]=[B] or [this][return]=[aRHS]
|
MatrixStore<Double> |
solve(Access2D<Double> body,
Access2D<Double> rhs)
[A][X]=[B] or [this][return]=[aRHS]
|
MatrixStore<Double> |
solve(Access2D<Double> body,
Access2D<Double> rhs,
DecompositionStore<Double> preallocated)
Implementiong this method is optional.
|
JamaMatrix |
solve(Access2D<Double> rhs,
DecompositionStore<Double> preallocated)
Makes no use of
preallocated at all. |
String |
toString() |
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitcompute, equals, getInverse, preallocate, solve, solveinvert, invert, preallocatesolve, solvepublic JamaCholesky()
public Double calculateDeterminant(Access2D<Double> matrix)
calculateDeterminant in interface DeterminantTask<Double>public boolean compute(Access2D<?> matrix, boolean checkHermitian)
public boolean computeWithCheck(MatrixStore<?> aStore)
public boolean equals(MatrixStore<Double> aStore, NumberContext context)
equals in interface MatrixDecomposition<Double>public JamaMatrix getD()
public Double getDeterminant()
getDeterminant in interface Cholesky<Double>public JamaMatrix getInverse()
MatrixDecompositiongetInverse in interface MatrixDecomposition<Double>BasicMatrix.invert()public JamaMatrix getL()
public JamaMatrix getOldL()
public JamaMatrix getOldU()
public JamaMatrix getP()
public int[] getPivotOrder()
public JamaMatrix getR()
public int getRank()
public JamaMatrix getRowEchelonForm()
public boolean isAspectRatioNormal()
public boolean isComputed()
isComputed in interface MatrixDecomposition<Double>MatrixDecomposition.compute(Access2D),
MatrixDecomposition.isSolvable()public boolean isFullSize()
isFullSize in interface MatrixDecomposition<Double>public boolean isSingular()
public boolean isSolvable()
isSolvable in interface MatrixDecomposition<Double>MatrixDecomposition.solve(Access2D),
MatrixDecomposition.isComputed()public boolean isSPD()
Choleskypublic boolean isSquareAndNotSingular()
public MatrixStore<Double> reconstruct()
reconstruct in interface MatrixDecomposition<Double>public void reset()
MatrixDecompositionreset in interface MatrixDecomposition<Double>public final boolean compute(Access2D<?> aStore)
compute in interface MatrixDecomposition<Double>aStore - A matrix to decomposepublic final boolean equals(MatrixDecomposition<Double> other, NumberContext context)
equals in interface MatrixDecomposition<Double>public final MatrixStore<Double> getInverse(DecompositionStore<Double> preallocated)
preallocated at all. Simply delegates to getInverse().getInverse in interface MatrixDecomposition<Double>preallocated - Preallocated memory for the results, possibly some intermediate results. You must assume this
is modified, but you cannot assume it will contain the full/final/correct solution.MatrixDecomposition.getInverse(org.ojalgo.matrix.decomposition.DecompositionStore)public final MatrixStore<Double> invert(MatrixStore<Double> original)
InverterTaskinvert in interface InverterTask<Double>BasicMatrix.invert()public final MatrixStore<Double> invert(MatrixStore<Double> original, DecompositionStore<Double> preallocated)
InverterTaskImplementiong this method is optional.
Exactly how a specific implementation makes use of preallocated is not specified by this interface.
It must be documented for each implementation.
Should produce the same results as calling #getInverse().
invert in interface InverterTask<Double>preallocated - Preallocated memory for the results, possibly some intermediate results. You must assume this
is modified, but you cannot assume it will contain the full/final/correct solution.public final DecompositionStore<Double> preallocate(Access2D<Double> template)
InverterTaskImplementiong this method is optional.
Will create a DecompositionStore instance suitable for use with#solve(Access2D, DecompositionStore). When solving an equation system [A][X]=[B] ([mxn][nxb]=[mxb]) the
preallocated memory/matrix will typically be either mxb or nxb (if A is square then there is no doubt).preallocate in interface InverterTask<Double>public final DecompositionStore<Double> preallocate(Access2D<Double> templateBody, Access2D<Double> templateRHS)
MatrixDecompositionImplementiong this method is optional.
Will create a DecompositionStore instance suitable for use withMatrixDecomposition.solve(Access2D, DecompositionStore). When solving an equation system [A][X]=[B] ([mxn][nxb]=[mxb]) the
preallocated memory/matrix will typically be either mxb or nxb (if A is square then there is no doubt).preallocate in interface MatrixDecomposition<Double>preallocate in interface SolverTask<Double>public JamaMatrix solve(Access2D<Double> rhs)
MatrixDecompositionsolve in interface MatrixDecomposition<Double>public final MatrixStore<Double> solve(Access2D<Double> body, Access2D<Double> rhs)
SolverTasksolve in interface SolverTask<Double>public final MatrixStore<Double> solve(Access2D<Double> body, Access2D<Double> rhs, DecompositionStore<Double> preallocated)
SolverTaskImplementiong this method is optional.
Exactly how a specific implementation makes use of preallocated is not specified by this interface.
It must be documented for each implementation.
Should produce the same results as calling #solve(Access2D).
solve in interface SolverTask<Double>rhs - The Right Hand Side, wont be modfiedpreallocated - Preallocated memory for the results, possibly some intermediate results. You must assume this
is modified, but you cannot assume it will contain the full/final/correct solution.public final JamaMatrix solve(Access2D<Double> rhs, DecompositionStore<Double> preallocated)
preallocated at all. Simply delegates to solve(Access2D).solve in interface MatrixDecomposition<Double>rhs - The Right Hand Side, wont be modfiedpreallocated - Preallocated memory for the results, possibly some intermediate results. You must assume this
is modified, but you cannot assume it will contain the full/final/correct solution.MatrixDecomposition.solve(Access2D,
org.ojalgo.matrix.decomposition.DecompositionStore)