Package org.ojalgo.matrix.decomposition
Interface LDU<N extends 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<Optional<MatrixStore<N>>>
,Provider2D.Rank
,Provider2D.Solution<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 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 Comparable<N>>
Nested classes/interfaces inherited from interface org.ojalgo.matrix.task.InverterTask
InverterTask.Factory<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.Factory<D extends MatrixDecomposition<?>>, 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.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.matrix.task.SolverTask
SolverTask.Factory<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.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
Modifier and TypeMethodDescriptiondefault boolean
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 Details
-
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 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.
-