Package org.ojalgo.matrix.transformation
Interface InvertibleFactor<N extends java.lang.Comparable<N>>
-
- All Superinterfaces:
Structure1D
,Structure2D
- All Known Subinterfaces:
Cholesky<N>
,LDL<N>
,LDU<N>
,LU<N>
,MatrixDecomposition.Solver<N>
,QR<N>
,SingularValue<N>
- All Known Implementing Classes:
CholeskyDecomposition
,CholeskyDecomposition.C128
,CholeskyDecomposition.H256
,CholeskyDecomposition.Q128
,CholeskyDecomposition.R064
,CholeskyDecomposition.R128
,HermitianEvD
,HermitianEvD.C128
,HermitianEvD.H256
,HermitianEvD.Q128
,HermitianEvD.R064
,HermitianEvD.R128
,InvertibleFactor.IdentityFactor
,LDLDecomposition
,LDLDecomposition.C128
,LDLDecomposition.H256
,LDLDecomposition.Q128
,LDLDecomposition.R064
,LDLDecomposition.R128
,LUDecomposition
,LUDecomposition.C128
,LUDecomposition.H256
,LUDecomposition.Q128
,LUDecomposition.R064
,LUDecomposition.R128
,ProductFormInverse
,ProductFormInverse.ElementaryFactor
,QRDecomposition
,QRDecomposition.C128
,QRDecomposition.H256
,QRDecomposition.Q128
,QRDecomposition.R064
,QRDecomposition.R128
,RawCholesky
,RawEigenvalue.Symmetric
,RawLU
,RawQR
,RawSingularValue
,SingularValueDecomposition
,SingularValueDecomposition.C128
,SingularValueDecomposition.H256
,SingularValueDecomposition.Q128
,SingularValueDecomposition.R064
,SingularValueDecomposition.R128
public interface InvertibleFactor<N extends java.lang.Comparable<N>> extends Structure2D
A chainable and reversible in-place (equation system) solver.Matrix decompositions produce factorisations like [A] = [L][U], [A] = [Q][R] or [A] = [U][D][V]T. When solving equation systems the factors are used in sequence:
[A][x] = [b] and [A] = [L][U] gives [L][U][x] = [b], which is solved in these steps:
- [L][y] = [b] or [y] = [L]-1[b]
- [U][x] = [y] or [x] = [U]-1[y]
If we instead want to solve [x]T[A] = [b]T or [A]T[x] = [b] the steps are:
- [U]T[y] = [b] or [y] = [U]-T[b]
- [L]T[x] = [y] or [x] = [L]-T[y]
Implementing this interface can be useful whenever a matrix (or its inverse) can be constructed using a sequence of factors.
An invertible factor needs to be square.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
InvertibleFactor.IdentityFactor<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>
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
btran(PhysicalStore<N> arg)
Backwards-transformationdefault void
btran(Access2D.Collectable<N,? super PhysicalStore<N>> lhs, PhysicalStore<N> solution)
void
ftran(PhysicalStore<N> arg)
Forward-transformationdefault void
ftran(Access2D.Collectable<N,? super PhysicalStore<N>> rhs, PhysicalStore<N> solution)
static <N extends java.lang.Comparable<N>>
InvertibleFactor<N>identity(int dim)
-
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
-
identity
static <N extends java.lang.Comparable<N>> InvertibleFactor<N> identity(int dim)
-
btran
default void btran(Access2D.Collectable<N,? super PhysicalStore<N>> lhs, PhysicalStore<N> solution)
-
btran
void btran(PhysicalStore<N> arg)
Backwards-transformationSolve [x]T[A] = [b]T (equivalent to [A]T[x] = [b]) by transforming [b] into [x] in-place.
- Parameters:
arg
- [b] transformed into [x]
-
ftran
default void ftran(Access2D.Collectable<N,? super PhysicalStore<N>> rhs, PhysicalStore<N> solution)
-
ftran
void ftran(PhysicalStore<N> arg)
Forward-transformationSolve [A][x] = [b] by transforming [b] into [x] in-place.
- Parameters:
arg
- [b] transformed into [x]
-
-