Package org.ojalgo.matrix.decomposition
Interface LDL<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.Pivoting<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:
LDLDecomposition
,LDLDecomposition.C128
,LDLDecomposition.H256
,LDLDecomposition.Q128
,LDLDecomposition.R064
,LDLDecomposition.R128
public interface LDL<N extends java.lang.Comparable<N>> extends LDU<N>, MatrixDecomposition.Hermitian<N>, MatrixDecomposition.Pivoting<N>
LDL: [A] = [L][D][L]H (or [R]H[D][R])
[A]H = [A] = [L][D][L]H
If [A] is symmetric (but not necessarily positive definite) then it can be decomposed into [L][D][L] T (or [R]H[D][R]).
- [L] is a unit lower (left) triangular matrix. It has the same dimensions as [this], and ones on the diagonal.
- [D] is a diagonal matrix. It has the same dimensions as [this].
- [this] = [L][D][L]H
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
LDL.Factory<N extends java.lang.Comparable<N>>
static class
LDL.ModifiedFactory<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 LDL.Factory<ComplexNumber>
C128
static LDL.Factory<Quaternion>
H256
static LDL.Factory<RationalNumber>
Q128
static LDL.Factory<java.lang.Double>
R064
static LDL.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, LDL<N> decomposition, NumberContext context)
MatrixStore<N>
getD()
default MatrixStore<N>
getL()
default MatrixStore<N>
getR()
static <N extends java.lang.Comparable<N>>
LDL.Factory<N>modified(LDL.Factory<N> delegate, N threshold)
Will return a modified LDL decomposition algoritm.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.Pivoting
decomposeWithoutPivoting, getPivotOrder, getReversePivotOrder, isPivoted
-
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 LDL.Factory<ComplexNumber> C128
-
H256
static final LDL.Factory<Quaternion> H256
-
R064
static final LDL.Factory<java.lang.Double> R064
-
R128
static final LDL.Factory<Quadruple> R128
-
Q128
static final LDL.Factory<RationalNumber> Q128
-
-
Method Detail
-
equals
static <N extends java.lang.Comparable<N>> boolean equals(MatrixStore<N> matrix, LDL<N> decomposition, NumberContext context)
-
modified
static <N extends java.lang.Comparable<N>> LDL.Factory<N> modified(LDL.Factory<N> delegate, N threshold)
Will return a modified LDL decomposition algoritm. It's the Gill, Murray and Wright (GMW) algorithm.The input threshold is the bound on the diagonal values.
The second parameter of the GMW algorithm, that is supposed to cap the magnitude of the elements in the triangular (Cholesky) matrices, is set to something very large. More correctly, it is assumed to be very large and therefore resulting in a negligible contribution to the algorithm.
-
getD
MatrixStore<N> getD()
-
getL
default MatrixStore<N> getL()
-
getR
default MatrixStore<N> getR()
-
reconstruct
default MatrixStore<N> reconstruct()
- Specified by:
reconstruct
in interfaceMatrixDecomposition<N extends java.lang.Comparable<N>>
-
-