Package org.ojalgo.matrix.decomposition
Interface LDU<N extends java.lang.Comparable<N>>
-
- All Superinterfaces:
DeterminantTask<N>
,InverterTask<N>
,InvertibleFactor<N>
,MatrixDecomposition<N>
,MatrixDecomposition.Determinant<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
,LDLDecomposition
,LDLDecomposition.C128
,LDLDecomposition.H256
,LDLDecomposition.Q128
,LDLDecomposition.R064
,LDLDecomposition.R128
,LUDecomposition
,LUDecomposition.C128
,LUDecomposition.H256
,LUDecomposition.Q128
,LUDecomposition.R064
,LUDecomposition.R128
,RawCholesky
,RawLU
public interface LDU<N extends java.lang.Comparable<N>> extends MatrixDecomposition<N>, MatrixDecomposition.Solver<N>, MatrixDecomposition.Determinant<N>, MatrixDecomposition.RankRevealing<N>
LDU: [A] = [L][D][U] ( [PL][L][D][U][PU] )
- [A] can be any matrix.
- [L] is a unit lower (left) triangular matrix. It has the same number of rows as [A], and ones on the diagonal.
- [D] is a square diagonal matrix.
- [U] is a unit upper (right) triangular matrix. It has the same number of columns as [A], and ones on the diagonal.
- [PL] is a permutation matrix (row pivot order).
- [PU] is a permutation matrix (column pivot order).
Row and/or column permutations may not be necessary and are therefore optional. Numerical stability usually does require ordering of either the rows or columns (most algorithms reorder rows).
Solving the equation system [A][X]=[B] turns into this [L][D][U][X] = [B] and is solved in these steps:
- [L][Z]=[B] ( [Z] = [D][U][X] )
- [D][Y]=[Z] ( [Y] = [U][X] )
- [U][X]=[Y]
[A]H = [U]H[D]H[L]H
ojAlgo does not have a full/general LDU decompositions but contains 3 variations of it:
- LU: [A] = [L][U] where [ULU] = [DLDU][ULDU]
- Cholesky: [A] = [L][L]H where [A] is hermitian positive definite and [LCholesky] = [LLDU][DLDU]½
- LDL: [A] = [L][D][L]H where [A] is hermitian and [LLDL]H = [U LDU]
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ojalgo.matrix.task.DeterminantTask
DeterminantTask.Factory<N extends java.lang.Comparable<N>>
-
Nested classes/interfaces inherited from interface org.ojalgo.matrix.task.InverterTask
InverterTask.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.Factory<D extends MatrixDecomposition<?>>, 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.matrix.task.SolverTask
SolverTask.Factory<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 inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
TYPICAL
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default boolean
isOrdered()
This is a property of the algorithm/implementation, not the data.-
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, reconstruct, reset
-
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Determinant
getDeterminant, toDeterminantProvider
-
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
-
-
-
-
Method Detail
-
isOrdered
default boolean isOrdered()
Description copied from interface:MatrixDecomposition.Ordered
This is a property of the algorithm/implementation, not the data. Typically relevant forSingularValue
,Eigenvalue
or anyMatrixDecomposition.RankRevealing
decomposition.- Specified by:
isOrdered
in interfaceMatrixDecomposition.Ordered<N extends java.lang.Comparable<N>>
- Returns:
- true if the rows/columns of the returned matrix factors are guaranteed some specific order; false if there is no such guarantee.
-
-