- 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<Optional<MatrixStore<N>>>,Provider2D.Rank,Provider2D.Solution<Optional<MatrixStore<N>>>,SolverTask<N>,Structure1D,Structure2D
- All Known Implementing Classes:
DenseLDL,DenseLDL.C128,DenseLDL.H256,DenseLDL.Q128,DenseLDL.R064,DenseLDL.R128
public interface LDL<N extends 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 ClassesModifier and TypeInterfaceDescriptionstatic interfaceLDL.Factory<N extends Comparable<N>>static final classLDL.ModifiedFactory<N extends Comparable<N>>Nested 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.Updatable<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.LoopCallbackNested 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 LDL.Factory<ComplexNumber> static final LDL.Factory<Quaternion> static final LDL.Factory<RationalNumber> static final LDL.Factory<Double> static final LDL.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, LDL<N> decomposition, NumberContext context) getD()default MatrixStore<N> getL()default MatrixStore<N> getR()static <N extends Comparable<N>>
LDL.Factory<N> modified(LDL.Factory<N> delegate, N threshold) Will return a modified LDL decomposition algoritm.default MatrixStore<N> Methods inherited from interface org.ojalgo.matrix.task.DeterminantTask
calculateDeterminantMethods inherited from interface org.ojalgo.matrix.task.InverterTask
invert, invert, preallocateMethods inherited from interface org.ojalgo.matrix.transformation.InvertibleFactor
btran, ftranMethods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
decompose, isComputed, resetMethods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Determinant
getDeterminant, toDeterminantProviderMethods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Hermitian
checkAndDecomposeMethods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Pivoting
decomposeWithoutPivoting, getPivotOrder, getReversePivotOrder, isPivotedMethods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.RankRevealing
countSignificant, getRank, getRankThreshold, isFullRankMethods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Solver
compute, getInverse, getInverse, getSolution, getSolution, invert, isSolvable, preallocate, solve, toInverseProvider, toSolutionProviderMethods inherited from interface org.ojalgo.matrix.task.SolverTask
preallocate, preallocate, solve, solveMethods 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
-
R064
-
R128
-
Q128
-
-
Method Details
-
equals
static <N extends Comparable<N>> boolean equals(MatrixStore<N> matrix, LDL<N> decomposition, NumberContext context) -
modified
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
-
getR
-
reconstruct
- Specified by:
reconstructin interfaceMatrixDecomposition<N extends Comparable<N>>
-