public interface InverterTask<N extends Number> extends MatrixTask<N>
Modifier and Type | Interface and Description |
---|---|
static class |
InverterTask.Factory<N extends Number> |
Modifier and Type | Field and Description |
---|---|
static InverterTask.Factory<ComplexNumber> |
COMPLEX |
static InverterTask.Factory<Double> |
PRIMITIVE |
static InverterTask.Factory<Quaternion> |
QUATERNION |
static InverterTask.Factory<RationalNumber> |
RATIONAL |
Modifier and Type | Method and Description |
---|---|
default MatrixStore<N> |
invert(Access2D<?> original)
The output must be a "right inverse" and a "generalised inverse".
|
MatrixStore<N> |
invert(Access2D<?> original,
PhysicalStore<N> preallocated)
Exactly how (if at all) a specific implementation makes use of
preallocated is not
specified by this interface. |
default PhysicalStore<N> |
preallocate(int numberOfRows,
int numberOfColumns) |
PhysicalStore<N> |
preallocate(Structure2D template)
Will create a PhysicalStore instance suitable for use with
invert(Access2D, PhysicalStore) . |
static final InverterTask.Factory<ComplexNumber> COMPLEX
static final InverterTask.Factory<Double> PRIMITIVE
static final InverterTask.Factory<Quaternion> QUATERNION
static final InverterTask.Factory<RationalNumber> RATIONAL
default MatrixStore<N> invert(Access2D<?> original) throws RecoverableCondition
RecoverableCondition
MatrixStore<N> invert(Access2D<?> original, PhysicalStore<N> preallocated) throws RecoverableCondition
Exactly how (if at all) 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 invert(Access2D)
.
Use preallocate(Structure2D)
to obtain a suitbale preallocated
.
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.RecoverableCondition
- TODOdefault PhysicalStore<N> preallocate(int numberOfRows, int numberOfColumns)
PhysicalStore<N> preallocate(Structure2D template)
Will create a PhysicalStore instance suitable for use with
invert(Access2D, PhysicalStore)
.
When inverting a matrix (mxn) the preallocated memory/matrix will typically be nxm (and of course most of the time A is square).
Copyright © 2019 Optimatika. All rights reserved.