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.RankRevealing<N extends Number>, MatrixDecomposition.Solver<N extends Number>, MatrixDecomposition.Values<N extends Number>
SolverTask.Factory<N extends Number>
InverterTask.Factory<N extends Number>
TYPICAL
BIG, COMPLEX, PRIMITIVE, QUATERNION, RATIONAL
BIG, 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
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()
BasicMatrix.invert()
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()
MatrixDecomposition.isComputed()
,
#getSolution(Collectable)
,
getInverse()
Copyright © 2018 Optimatika. All rights reserved.