Package org.ojalgo.matrix.decomposition
Interface Cholesky<N extends Comparable<N>>
- All Superinterfaces:
DeterminantTask<N>
,InverterTask<N>
,InvertibleFactor<N>
,LDU<N>
,MatrixDecomposition<N>
,MatrixDecomposition.Determinant<N>
,MatrixDecomposition.Hermitian<N>
,MatrixDecomposition.Ordered<N>
,MatrixDecomposition.RankRevealing<N>
,MatrixDecomposition.Solver<N>
,MatrixTask<N>
,Provider2D
,Provider2D.Determinant<N>
,Provider2D.Inverse<Optional<MatrixStore<N>>>
,Provider2D.Rank
,Provider2D.Solution<Optional<MatrixStore<N>>>
,SolverTask<N>
,Structure1D
,Structure2D
- All Known Implementing Classes:
CholeskyDecomposition
,CholeskyDecomposition.C128
,CholeskyDecomposition.H256
,CholeskyDecomposition.Q128
,CholeskyDecomposition.R064
,CholeskyDecomposition.R128
,RawCholesky
Cholesky: [A] = [L][L]H (or [R]H[R])
[A]H = [A] = [L][L]H
If [A] is symmetric and positive definite then the general LU decomposition - [P][L][D][U] - becomes [I][L][D][L]T (or [I][U]T[D][U]). [I] can be left out and [D] is normally split in halves and merged with [L] (and/or [U]). We'll express it as [A] = [L][L]T.
A cholesky decomposition is still/also an LU decomposition where [P][L][D][U] => [L][L]T.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.ojalgo.matrix.transformation.InvertibleFactor
InvertibleFactor.IdentityFactor<N extends Comparable<N>>
Nested classes/interfaces inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
MatrixDecomposition.Determinant<N extends Comparable<N>>, MatrixDecomposition.EconomySize<N extends Comparable<N>>, MatrixDecomposition.Hermitian<N extends Comparable<N>>, MatrixDecomposition.Ordered<N extends Comparable<N>>, MatrixDecomposition.Pivoting<N extends Comparable<N>>, MatrixDecomposition.RankRevealing<N extends Comparable<N>>, MatrixDecomposition.Solver<N extends Comparable<N>>, MatrixDecomposition.Values<N extends Comparable<N>>
Nested classes/interfaces inherited from interface org.ojalgo.matrix.Provider2D
Provider2D.Condition, Provider2D.Determinant<N extends Comparable<N>>, Provider2D.Eigenpairs, Provider2D.Hermitian, Provider2D.Inverse<M>, Provider2D.Rank, Provider2D.Solution<M>, Provider2D.Symmetric, Provider2D.Trace<N extends Comparable<N>>
Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.LongIndex, Structure1D.LoopCallback
Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure2D
Structure2D.IntRowColumn, Structure2D.Logical<S extends Structure2D,
B extends Structure2D.Logical<S, B>>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R extends Structure1D>, Structure2D.Reshapable, Structure2D.RowColumnKey<R, C>, Structure2D.RowColumnMapper<R, C> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Cholesky.Factory
<ComplexNumber> static final Cholesky.Factory
<Quaternion> static final Cholesky.Factory
<RationalNumber> static final Cholesky.Factory
<Double> static final Cholesky.Factory
<Quadruple> Fields inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
TYPICAL
-
Method Summary
Modifier and TypeMethodDescriptionstatic <N extends Comparable<N>>
booleanequals
(MatrixStore<N> matrix, Cholesky<N> decomposition, NumberContext context) default MatrixStore
<N> getL()
default MatrixStore
<N> getR()
boolean
isSPD()
To use the Cholesky decomposition rather than the LU decomposition the matrix must be symmetric and positive definite.default MatrixStore
<N> Methods inherited from interface org.ojalgo.matrix.task.DeterminantTask
calculateDeterminant
Methods inherited from interface org.ojalgo.matrix.task.InverterTask
invert, invert, preallocate, preallocate
Methods inherited from interface org.ojalgo.matrix.transformation.InvertibleFactor
btran, btran
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
decompose, isComputed, reset
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Determinant
getDeterminant, toDeterminantProvider
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Hermitian
checkAndDecompose
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.RankRevealing
countSignificant, getRank, getRankThreshold, isFullRank
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Solver
compute, ftran, ftran, getInverse, getInverse, getSolution, getSolution, invert, isSolvable, solve, toInverseProvider, toSolutionProvider
Methods inherited from interface org.ojalgo.matrix.task.SolverTask
preallocate, preallocate, solve, solve
Methods inherited from interface org.ojalgo.structure.Structure2D
count, countColumns, countRows, firstInColumn, firstInRow, getColDim, getMaxDim, getMinDim, getRowDim, isEmpty, isFat, isScalar, isSquare, isTall, isVector, limitOfColumn, limitOfRow, size
-
Field Details
-
C128
-
H256
-
Q128
-
R064
-
R128
-
-
Method Details
-
equals
static <N extends Comparable<N>> boolean equals(MatrixStore<N> matrix, Cholesky<N> decomposition, NumberContext context) -
getL
-
getR
-
isSPD
boolean isSPD()To use the Cholesky decomposition rather than the LU decomposition the matrix must be symmetric and positive definite. It is recommended that the decomposition algorithm checks for this during calculation. Possibly the matrix could be assumed to be symmetric (to improve performance) but tests should be made to assure the matrix is positive definite.- Returns:
- true if the tests did not fail.
-
reconstruct
- Specified by:
reconstruct
in interfaceMatrixDecomposition<N extends Comparable<N>>
-