Package org.ojalgo.matrix.task
Interface InverterTask<N extends Comparable<N>>
- All Superinterfaces:
MatrixTask<N>
- All Known Subinterfaces:
Cholesky<N>
,LDL<N>
,LDU<N>
,LU<N>
,MatrixDecomposition.Solver<N>
,QR<N>
,SingularValue<N>
- All Known Implementing Classes:
AbstractInverter
,CholeskyDecomposition
,CholeskyDecomposition.C128
,CholeskyDecomposition.H256
,CholeskyDecomposition.Q128
,CholeskyDecomposition.R064
,CholeskyDecomposition.R128
,HermitianEvD
,HermitianEvD.C128
,HermitianEvD.H256
,HermitianEvD.Q128
,HermitianEvD.R064
,HermitianEvD.R128
,LDLDecomposition
,LDLDecomposition.C128
,LDLDecomposition.H256
,LDLDecomposition.Q128
,LDLDecomposition.R064
,LDLDecomposition.R128
,LUDecomposition
,LUDecomposition.C128
,LUDecomposition.H256
,LUDecomposition.Q128
,LUDecomposition.R064
,LUDecomposition.R128
,QRDecomposition
,QRDecomposition.C128
,QRDecomposition.H256
,QRDecomposition.Q128
,QRDecomposition.R064
,QRDecomposition.R128
,RawCholesky
,RawEigenvalue.Symmetric
,RawLU
,RawQR
,RawSingularValue
,SingularValueDecomposition
,SingularValueDecomposition.C128
,SingularValueDecomposition.H256
,SingularValueDecomposition.Q128
,SingularValueDecomposition.R064
,SingularValueDecomposition.R128
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final InverterTask.Factory
<ComplexNumber> static final InverterTask.Factory
<Quaternion> static final InverterTask.Factory
<RationalNumber> static final InverterTask.Factory
<Double> static final InverterTask.Factory
<Quadruple> -
Method Summary
Modifier and TypeMethodDescriptiondefault MatrixStore
<N> The output must be a "right inverse" and a "generalised inverse".invert
(Access2D<?> original, PhysicalStore<N> preallocated) Exactly how (if at all) a specific implementation makes use ofpreallocated
is not specified by this interface.default PhysicalStore
<N> preallocate
(int numberOfRows, int numberOfColumns) preallocate
(Structure2D template) Will create a PhysicalStore instance suitable for use withinvert(Access2D, PhysicalStore)
.default Provider2D.Inverse
<Optional<MatrixStore<N>>> toInverseProvider
(ElementsSupplier<N> original, Supplier<MatrixStore<N>> alternativeOriginalSupplier)
-
Field Details
-
C128
-
R064
-
R128
-
H256
-
Q128
-
-
Method Details
-
invert
The output must be a "right inverse" and a "generalised inverse".- Throws:
RecoverableCondition
-
invert
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 suitbalepreallocated
.- Parameters:
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/ /correct solution.- Returns:
- The inverse
- Throws:
RecoverableCondition
- TODO
-
preallocate
-
preallocate
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).
-
toInverseProvider
default Provider2D.Inverse<Optional<MatrixStore<N>>> toInverseProvider(ElementsSupplier<N> original, Supplier<MatrixStore<N>> alternativeOriginalSupplier)
-