Package org.ojalgo.matrix.decomposition
Interface LU<N extends Comparable<N>>
- All Superinterfaces:
DeterminantTask<N>
,InverterTask<N>
,InvertibleFactor<N>
,LDU<N>
,MatrixDecomposition<N>
,MatrixDecomposition.Determinant<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:
LUDecomposition
,LUDecomposition.C128
,LUDecomposition.H256
,LUDecomposition.Q128
,LUDecomposition.R064
,LUDecomposition.R128
,RawLU
LU: [A] = [L][U]
Decomposes [this] into [L] and [U] (with pivot order information in an int[]) where:
- [L] is a unit lower (left) triangular matrix. It has the same number of rows as [this], and ones on the diagonal.
- [U] is an upper (right) triangular matrix. It has the same number of columns as [this].
- [this] = [L][U] (with reordered rows according to the pivot order)
Note: The number of columns in [L] and the number of rows in [U] is not specified by this interface.
The LU decomposition always exists - the compute method should always succeed - even for non-square and/or singular matrices. The primary use of the LU decomposition is in the solution of systems of simultaneous linear equations. That will, however, only work for square non-singular matrices.
-
Nested Class Summary
Nested ClassesNested 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.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.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
FieldsModifier and TypeFieldDescriptionstatic final LU.Factory
<ComplexNumber> static final LU.Factory
<Quaternion> static final LU.Factory
<RationalNumber> static final LU.Factory
<Double> static final LU.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, LU<N> decomposition, NumberContext context) getL()
getU()
http://en.wikipedia.org/wiki/Row_echelon_form
This is the same as [D][U].default MatrixStore
<N> 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.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 Details
-
C128
-
H256
-
Q128
-
R064
-
R128
-
-
Method Details
-
equals
static <N extends Comparable<N>> boolean equals(MatrixStore<N> matrix, LU<N> decomposition, NumberContext context) -
getL
MatrixStore<N> getL() -
getU
MatrixStore<N> getU()http://en.wikipedia.org/wiki/Row_echelon_form
This is the same as [D][U]. Together with the pivotOrder and [L] this constitutes an alternative, more compact, way to express the decomposition.- See Also:
-
reconstruct
- Specified by:
reconstruct
in interfaceMatrixDecomposition<N extends Comparable<N>>
-