Module ojalgo
Package org.ojalgo.matrix.transformation
Interface InvertibleFactor<N extends java.lang.Comparable<N>>
-
- All Superinterfaces:
Structure1D,Structure2D
- All Known Subinterfaces:
BasisRepresentation,Cholesky<N>,Eigenvalue.Spectral<N>,LDL<N>,LDU<N>,LU<N>,MatrixDecomposition.Solver<N>,QR<N>,SingularValue<N>
- All Known Implementing Classes:
DecomposedInverse,DenseCholesky,DenseCholesky.C128,DenseCholesky.H256,DenseCholesky.Q128,DenseCholesky.R064,DenseCholesky.R128,DenseLDL,DenseLDL.C128,DenseLDL.H256,DenseLDL.Q128,DenseLDL.R064,DenseLDL.R128,DenseLU,DenseLU.C128,DenseLU.H256,DenseLU.Q128,DenseLU.R064,DenseLU.R128,DenseQR,DenseQR.C128,DenseQR.H256,DenseQR.Q128,DenseQR.R064,DenseQR.R128,DenseSingularValue,DenseSingularValue.C128,DenseSingularValue.H256,DenseSingularValue.Q128,DenseSingularValue.R064,DenseSingularValue.R128,HermitianEvD,HermitianEvD.C128,HermitianEvD.H256,HermitianEvD.Q128,HermitianEvD.R064,HermitianEvD.R128,InvertibleFactor.IdentityFactor,ProductFormInverse,ProductFormInverse.ElementaryFactor,RawCholesky,RawEigenvalue.Symmetric,RawLU,RawQR,RawSingularValue,SparseLU,SparseLU.PermutationEta
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 classInvertibleFactor.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 Modifier and Type Method Description voidbtran(PhysicalStore<N> arg)Backwards-transformationvoidftran(PhysicalStore<N> arg)Forward-transformationstatic <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
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
void ftran(PhysicalStore<N> arg)
Forward-transformationSolve [A][x] = [b] by transforming [b] into [x] in-place.
- Parameters:
arg- [b] transformed into [x]
-
-