Module ojalgo
Package org.ojalgo.matrix.decomposition
Interface LU<N extends java.lang.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>,MatrixDecomposition.Updatable<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:
DenseLU,DenseLU.C128,DenseLU.H256,DenseLU.Q128,DenseLU.R064,DenseLU.R128,RawLU,SparseLU
public interface LU<N extends java.lang.Comparable<N>> extends LDU<N>, MatrixDecomposition.Updatable<N>, MatrixDecomposition.Pivoting<N>
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 Classes Modifier and Type Interface Description static interfaceLU.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.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.Updatable<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.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 Modifier and Type Field Description static LU.Factory<ComplexNumber>C128static LU.Factory<Quaternion>H256static LU.Factory<RationalNumber>Q128static LU.Factory<java.lang.Double>R064static LU.Factory<Quadruple>R128-
Fields inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition
TYPICAL
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static <N extends java.lang.Comparable<N>>
booleanequals(MatrixStore<N> matrix, LU<N> decomposition, NumberContext context)MatrixStore<N>getL()default MatrixStore<N>getSolution(Access2D.Collectable<N,? super PhysicalStore<N>> rhs)[A][X]=[B] or [this][return]=[rhs]MatrixStore<N>getU()http://en.wikipedia.org/wiki/Row_echelon_form
This is the same as [D][U].static LU<java.lang.Double>newSparseR064()default MatrixStore<N>reconstruct()-
Methods inherited from interface org.ojalgo.matrix.task.DeterminantTask
calculateDeterminant
-
Methods inherited from interface org.ojalgo.matrix.task.InverterTask
invert, invert, preallocate
-
Methods inherited from interface org.ojalgo.matrix.transformation.InvertibleFactor
btran, btran, ftran, ftran
-
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, getInverse, getInverse, getSolution, invert, isSolvable, preallocate, solve, toInverseProvider, toSolutionProvider
-
Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.Updatable
updateColumn
-
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 Detail
-
C128
static final LU.Factory<ComplexNumber> C128
-
H256
static final LU.Factory<Quaternion> H256
-
Q128
static final LU.Factory<RationalNumber> Q128
-
R064
static final LU.Factory<java.lang.Double> R064
-
R128
static final LU.Factory<Quadruple> R128
-
-
Method Detail
-
newSparseR064
static LU<java.lang.Double> newSparseR064()
-
equals
static <N extends java.lang.Comparable<N>> boolean equals(MatrixStore<N> matrix, LU<N> decomposition, NumberContext context)
-
getL
MatrixStore<N> getL()
-
getSolution
default MatrixStore<N> getSolution(Access2D.Collectable<N,? super PhysicalStore<N>> rhs)
Description copied from interface:MatrixDecomposition.Solver[A][X]=[B] or [this][return]=[rhs]- Specified by:
getSolutionin interfaceMatrixDecomposition.Solver<N extends java.lang.Comparable<N>>
-
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.
-
reconstruct
default MatrixStore<N> reconstruct()
- Specified by:
reconstructin interfaceMatrixDecomposition<N extends java.lang.Comparable<N>>
-
-