Package org.ojalgo.matrix.decomposition
Interface Cholesky<N extends java.lang.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<java.util.Optional<MatrixStore<N>>>
,Provider2D.Rank
,Provider2D.Solution<java.util.Optional<MatrixStore<N>>>
,SolverTask<N>
,Structure1D
,Structure2D
- All Known Implementing Classes:
CholeskyDecomposition
,CholeskyDecomposition.C128
,CholeskyDecomposition.H256
,CholeskyDecomposition.Q128
,CholeskyDecomposition.R064
,CholeskyDecomposition.R128
,RawCholesky
public interface Cholesky<N extends java.lang.Comparable<N>> extends LDU<N>, MatrixDecomposition.Hermitian<N>
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 Classes Modifier and Type Interface Description static interface
Cholesky.Factory<N extends java.lang.Comparable<N>>
-
Nested classes/interfaces inherited from interface org.ojalgo.matrix.transformation.InvertibleFactor
InvertibleFactor.IdentityFactor<N extends java.lang.Comparable<N>>
-
Nested classes/interfaces inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
MatrixDecomposition.Determinant<N extends java.lang.Comparable<N>>, MatrixDecomposition.EconomySize<N extends java.lang.Comparable<N>>, MatrixDecomposition.Hermitian<N extends java.lang.Comparable<N>>, MatrixDecomposition.Ordered<N extends java.lang.Comparable<N>>, MatrixDecomposition.Pivoting<N extends java.lang.Comparable<N>>, MatrixDecomposition.RankRevealing<N extends java.lang.Comparable<N>>, MatrixDecomposition.Solver<N extends java.lang.Comparable<N>>, MatrixDecomposition.Values<N extends java.lang.Comparable<N>>
-
Nested classes/interfaces inherited from interface org.ojalgo.matrix.Provider2D
Provider2D.Condition, Provider2D.Determinant<N extends java.lang.Comparable<N>>, Provider2D.Eigenpairs, Provider2D.Hermitian, Provider2D.Inverse<M>, Provider2D.Rank, Provider2D.Solution<M>, Provider2D.Symmetric, Provider2D.Trace<N extends java.lang.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
Fields Modifier and Type Field Description static Cholesky.Factory<ComplexNumber>
C128
static Cholesky.Factory<Quaternion>
H256
static Cholesky.Factory<RationalNumber>
Q128
static Cholesky.Factory<java.lang.Double>
R064
static Cholesky.Factory<Quadruple>
R128
-
Fields inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
TYPICAL
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static <N extends java.lang.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>
reconstruct()
-
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 Detail
-
C128
static final Cholesky.Factory<ComplexNumber> C128
-
H256
static final Cholesky.Factory<Quaternion> H256
-
Q128
static final Cholesky.Factory<RationalNumber> Q128
-
R064
static final Cholesky.Factory<java.lang.Double> R064
-
R128
static final Cholesky.Factory<Quadruple> R128
-
-
Method Detail
-
equals
static <N extends java.lang.Comparable<N>> boolean equals(MatrixStore<N> matrix, Cholesky<N> decomposition, NumberContext context)
-
getL
default MatrixStore<N> getL()
-
getR
default MatrixStore<N> 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
default MatrixStore<N> reconstruct()
- Specified by:
reconstruct
in interfaceMatrixDecomposition<N extends java.lang.Comparable<N>>
-
-