- All Superinterfaces:
MatrixTask<N>
- All Known Subinterfaces:
Cholesky<N>,Eigenvalue.Spectral<N>,LDL<N>,LDU<N>,LU<N>,MatrixDecomposition.Solver<N>,QR<N>,SingularValue<N>
- All Known Implementing Classes:
AbstractSolver,ConjugateGradientSolver,DenseCholesky,DenseCholesky.C128,DenseCholesky.H256,DenseCholesky.Q128,DenseCholesky.R064,DenseCholesky.R128,DenseLDL,DenseLDL.C128,DenseLDL.H256,DenseLDL.Q128,DenseLDL.R064,DenseLDL.R128,DenseLU,DenseLU.C128,DenseLU.H256,DenseLU.Q128,DenseLU.R064,DenseLU.R128,DenseQR,DenseQR.C128,DenseQR.H256,DenseQR.Q128,DenseQR.R064,DenseQR.R128,DenseSingularValue,DenseSingularValue.C128,DenseSingularValue.H256,DenseSingularValue.Q128,DenseSingularValue.R064,DenseSingularValue.R128,GaussSeidelSolver,HermitianEvD,HermitianEvD.C128,HermitianEvD.H256,HermitianEvD.Q128,HermitianEvD.R064,HermitianEvD.R128,IterativeASS.SchurComplementSolver,IterativeSolverTask,JacobiSolver,MINRESSolver,MutableSolver,ParallelGaussSeidelSolver,QMRSolver,RawCholesky,RawEigenvalue.Symmetric,RawLU,RawQR,RawSingularValue,SparseLU
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SolverTask.Factory<ComplexNumber> static final SolverTask.Factory<Quaternion> static final SolverTask.Factory<RationalNumber> static final SolverTask.Factory<Double> static final SolverTask.Factory<Quadruple> -
Method Summary
Modifier and TypeMethodDescriptionpreallocate(int nbEquations, int nbVariables, int nbSolutions) default PhysicalStore<N> preallocate(Structure2D templateBody, Structure2D templateRHS) Will create a PhysicalStore instance suitable for use withsolve(Access2D, Access2D, PhysicalStore).default MatrixStore<N> [A][X]=[B] or [body][return]=[rhs]solve(Access2D<?> body, Access2D<?> rhs, PhysicalStore<N> preallocated) Exactly how (if at all) a specific implementation makes use ofpreallocatedis not specified by this interface.default Provider2D.Solution<Optional<MatrixStore<N>>> toSolutionProvider(ElementsSupplier<N> body, Supplier<MatrixStore<N>> alternativeBodySupplier, Access2D<?> rhs)
-
Field Details
-
C128
-
H256
-
Q128
-
R064
-
R128
-
-
Method Details
-
preallocate
-
preallocate
Will create a PhysicalStore instance suitable for use with
solve(Access2D, Access2D, PhysicalStore). The dimensions of the returned instance is not specified by this interface - it is specified by the behaviour/requirements of each implementation.When solving an equation system [A][X]=[B] ([mxn][nxb]=[mxb]) the preallocated memory/matrix will typically be either mxb or nxb.
-
solve
[A][X]=[B] or [body][return]=[rhs]- Throws:
RecoverableCondition
-
solve
MatrixStore<N> solve(Access2D<?> body, Access2D<?> rhs, PhysicalStore<N> preallocated) throws RecoverableCondition Exactly how (if at all) a specific implementation makes use of
preallocatedis not specified by this interface. It must be documented for each implementation.Should produce the same results as calling
solve(Access2D, Access2D).Use
preallocate(Structure2D, Structure2D)to obtain a suitbalepreallocated.- Parameters:
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/ /correct solution.- Returns:
- The solution
- Throws:
RecoverableCondition
-
toSolutionProvider
default Provider2D.Solution<Optional<MatrixStore<N>>> toSolutionProvider(ElementsSupplier<N> body, Supplier<MatrixStore<N>> alternativeBodySupplier, Access2D<?> rhs)
-