Package org.ojalgo.matrix.task.iterative
Class MutableSolver<D extends IterativeSolverTask & IterativeSolverTask.SparseDelegate>
java.lang.Object
org.ojalgo.matrix.task.iterative.IterativeSolverTask
org.ojalgo.matrix.task.iterative.MutableSolver<D>
- All Implemented Interfaces:
MatrixTask<Double>
,SolverTask<Double>
- Direct Known Subclasses:
IterativeASS.SchurComplementSolver
public abstract class MutableSolver<D extends IterativeSolverTask & IterativeSolverTask.SparseDelegate>
extends IterativeSolverTask
Maintains a list of
Equation
:s and delegates to a IterativeSolverTask.SparseDelegate
.-
Nested Class Summary
Nested classes/interfaces inherited from class org.ojalgo.matrix.task.iterative.IterativeSolverTask
IterativeSolverTask.Configurator, IterativeSolverTask.SparseDelegate
Nested classes/interfaces inherited from interface org.ojalgo.matrix.task.SolverTask
SolverTask.Factory<N extends Comparable<N>>
-
Field Summary
FieldsFields inherited from class org.ojalgo.matrix.task.iterative.IterativeSolverTask
DEFAULT
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
void
clear()
protected double
doubleValue
(int row, int col) protected final D
double[]
getRHS()
boolean
final double
resolve
(PhysicalStore<Double> solution) A variation of solve(Access2D, Access2D, PhysicalStore) where you do not supply the equation systembody
.final double
resolve
(PhysicalStore<Double> solution, Access1D<?> rhs) protected void
setAccuracyContext
(NumberContext accuracyContext) protected void
setDebugPrinter
(BasicLogger debugPrinter) protected void
setIterationsLimit
(int iterationsLimit) solve
(Access2D<?> body, Access2D<?> rhs, PhysicalStore<Double> current) Exactly how (if at all) a specific implementation makes use ofpreallocated
is not specified by this interface.Methods inherited from class org.ojalgo.matrix.task.iterative.IterativeSolverTask
configurator, debug, getAccuracyContext, getIterationsLimit, isDebugPrinterSet, preallocate, solve, toListOfRows
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.ojalgo.matrix.task.SolverTask
preallocate, solve, toSolutionProvider
-
Field Details
-
myDelegate
-
myRows
-
mySize
private final long mySize
-
-
Constructor Details
-
MutableSolver
private MutableSolver() -
MutableSolver
-
-
Method Details
-
add
-
clear
public void clear() -
getRHS
public double[] getRHS() -
remove
-
resolve
A variation of solve(Access2D, Access2D, PhysicalStore) where you do not supply the equation systembody
. It is assumed to have been set up beforehand. -
resolve
-
solve
public MatrixStore<Double> solve(Access2D<?> body, Access2D<?> rhs, PhysicalStore<Double> current) throws RecoverableCondition Description copied from interface:SolverTask
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
SolverTask.solve(Access2D, Access2D)
.Use
SolverTask.preallocate(Structure2D, Structure2D)
to obtain a suitbalepreallocated
.- Parameters:
rhs
- The Right Hand Side, wont be modfiedcurrent
- 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
-
doubleValue
protected double doubleValue(int row, int col) -
getDelegate
-
setAccuracyContext
- Overrides:
setAccuracyContext
in classIterativeSolverTask
-
setDebugPrinter
- Overrides:
setDebugPrinter
in classIterativeSolverTask
-
setIterationsLimit
protected void setIterationsLimit(int iterationsLimit) - Overrides:
setIterationsLimit
in classIterativeSolverTask
-