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.LoopCallback
SolverTask.Factory<N extends Number>
InverterTask.Factory<N extends Number>
TYPICAL
COMPLEX, PRIMITIVE, QUATERNION, RATIONAL
COMPLEX, 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, reset
column, 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, row
index, loopAll, loopMatching, loopRange, mapper, size
preallocate, preallocate, solve, solve
invert, invert, preallocate, preallocate
default 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.