public static interface MatrixDecomposition.Solver<N extends Number> extends MatrixDecomposition<N>, SolverTask<N>, InverterTask<N>
MatrixDecomposition.Determinant<N extends Number>, MatrixDecomposition.EconomySize<N extends Number>, MatrixDecomposition.Factory<D extends MatrixDecomposition<?>>, MatrixDecomposition.Hermitian<N extends Number>, MatrixDecomposition.Ordered<N extends Number>, MatrixDecomposition.Pivoting<N extends Number>, MatrixDecomposition.RankRevealing<N extends Number>, MatrixDecomposition.Solver<N extends Number>, MatrixDecomposition.Values<N extends Number>Structure2D.IntRowColumn, Structure2D.Logical<S extends Structure2D,B extends Structure2D.Logical<S,?>>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R extends Structure1D>, Structure2D.RowColumnCallback, Structure2D.RowColumnKey<R,C>, Structure2D.RowColumnMapper<R,C>Structure1D.BasicMapper<T>, Structure1D.IndexCallback, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.LongIndex, Structure1D.LoopCallbackSolverTask.Factory<N extends Number>InverterTask.Factory<N extends Number>TYPICALCOMPLEX, PRIMITIVE, QUATERNION, RATIONALCOMPLEX, PRIMITIVE, QUATERNION, RATIONAL| Modifier and Type | Method and Description |
|---|---|
default boolean |
compute(Access2D.Collectable<N,? super PhysicalStore<N>> matrix) |
MatrixStore<N> |
getInverse()
The output must be a "right inverse" and a "generalised inverse".
|
MatrixStore<N> |
getInverse(PhysicalStore<N> preallocated)
Implementiong this method is optional.
|
MatrixStore<N> |
getSolution(Access2D.Collectable<N,? super PhysicalStore<N>> rhs)
[A][X]=[B] or [this][return]=[rhs]
|
MatrixStore<N> |
getSolution(Access2D.Collectable<N,? super PhysicalStore<N>> rhs,
PhysicalStore<N> preallocated)
Implementiong this method is optional.
|
boolean |
isSolvable()
Please note that producing a pseudoinverse and/or a least squares solution is ok! The return value,
of this method, is not an indication of if the decomposed matrix is square, has full rank, is
postive definite or whatever.
|
decompose, isComputed, reconstruct, resetcolumn, column, column, column, column, count, count, countColumns, countRows, index, index, isEmpty, isFat, isScalar, isSquare, isTall, isVector, loopAll, loopColumn, loopColumn, loopDiagonal, loopMatching, loopRow, loopRow, mapperOf, row, row, row, row, rowindex, loopAll, loopMatching, loopRange, mapper, sizepreallocate, preallocate, solve, solveinvert, invert, preallocate, preallocatedefault boolean compute(Access2D.Collectable<N,? super PhysicalStore<N>> matrix)
matrix - A matrix to decomposeisSolvable(); false if notMatrixStore<N> getInverse()
MatrixStore<N> getInverse(PhysicalStore<N> preallocated)
Implementiong this method is optional.
Exactly how a specific implementation makes use of preallocated is not specified by
this interface. It must be documented for each implementation.
Should produce the same results as calling getInverse().
preallocated - Preallocated memory for the results, possibly some intermediate results. You
must assume this is modified, but you cannot assume it will contain the full/final/correct
solution.UnsupportedOperationException - When/if this feature is not implementedMatrixStore<N> getSolution(Access2D.Collectable<N,? super PhysicalStore<N>> rhs)
MatrixStore<N> getSolution(Access2D.Collectable<N,? super PhysicalStore<N>> rhs, PhysicalStore<N> preallocated)
Implementiong this method is optional.
Exactly how a specific implementation makes use of preallocated is not specified by
this interface. It must be documented for each implementation.
Should produce the same results as calling #getSolution(Collectable).
rhs - The Right Hand Side, wont be modfiedpreallocated - Preallocated memory for the results, possibly some intermediate results. You
must assume this is modified, but you cannot assume it will contain the full/final/correct
solution.UnsupportedOperationException - When/if this feature is not implementedboolean isSolvable()
Copyright © 2019 Optimatika. All rights reserved.