Interface LDL<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.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, SparseQDLDL
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 InvertibleFactor
InvertibleFactor.IdentityFactor<N>Nested classes/interfaces inherited from interface MatrixDecomposition
MatrixDecomposition.Determinant<N>, MatrixDecomposition.EconomySize<N>, MatrixDecomposition.Hermitian<N>, MatrixDecomposition.Ordered<N>, MatrixDecomposition.Pivoting<N>, MatrixDecomposition.RankRevealing<N>, MatrixDecomposition.Solver<N>, MatrixDecomposition.Updatable<N>, MatrixDecomposition.Values<N>Nested classes/interfaces inherited from interface Provider2D
Provider2D.Condition, Provider2D.Determinant<N>, Provider2D.Eigenpairs, Provider2D.Hermitian, Provider2D.Inverse<M>, Provider2D.Rank, Provider2D.Solution<M>, Provider2D.Symmetric, Provider2D.Trace<N>Nested classes/interfaces inherited from interface Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.LongIndex, Structure1D.LoopCallbackNested classes/interfaces inherited from interface Structure2D
Structure2D.IntRowColumn, Structure2D.Logical<S,B>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R>, 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 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 DeterminantTask
calculateDeterminantMethods inherited from interface InverterTask
invert, invert, preallocateMethods inherited from interface InvertibleFactor
btran, btran, ftran, ftranMethods inherited from interface MatrixDecomposition
decompose, isComputed, resetMethods inherited from interface MatrixDecomposition.Determinant
getDeterminant, toDeterminantProviderMethods inherited from interface MatrixDecomposition.Hermitian
checkAndDecomposeMethods inherited from interface MatrixDecomposition.Pivoting
decomposeWithoutPivoting, getPivotOrder, getReversePivotOrder, isPivotedMethods inherited from interface MatrixDecomposition.RankRevealing
countSignificant, getRank, getRankThreshold, isFullRankMethods inherited from interface MatrixDecomposition.Solver
compute, getInverse, getInverse, getSolution, getSolution, invert, isSolvable, preallocate, solve, toInverseProvider, toSolutionProviderMethods inherited from interface SolverTask
preallocate, preallocate, solve, solveMethods inherited from interface 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
-
newSparseR064
-
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>>
-