public abstract class MutableSolver<D extends org.ojalgo.matrix.task.iterative.IterativeSolverTask & org.ojalgo.matrix.task.iterative.IterativeSolverTask.SparseDelegate> extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
IterativeSolverTask.Configurator |
SolverTask.Factory<N extends Number>BIG, COMPLEX, PRIMITIVE, QUATERNION, RATIONAL| Modifier | Constructor and Description |
|---|---|
protected |
MutableSolver(D delegate,
long size) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(Equation row) |
void |
clear() |
IterativeSolverTask.Configurator |
configurator() |
protected void |
debug(int iteration,
Access1D<?> current) |
protected double |
doubleValue(int row,
int column) |
protected NumberContext |
getAccuracyContext() |
protected D |
getDelegate() |
protected int |
getIterationsLimit() |
protected boolean |
isDebugPrinterSet() |
PhysicalStore<Double> |
preallocate(Structure2D templateBody,
Structure2D templateRHS)
Will create a PhysicalStore instance suitable for use with
SolverTask.solve(Access2D, Access2D, PhysicalStore). |
boolean |
remove(Equation row) |
double |
resolve(PhysicalStore<Double> solution)
A variation of solve(Access2D, Access2D, PhysicalStore) where you do not supply the
equation system
body. |
protected void |
setAccuracyContext(NumberContext accuracyContext) |
protected void |
setDebugPrinter(BasicLogger.Printer debugPrinter) |
protected void |
setIterationsLimit(int iterationsLimit) |
protected long |
size() |
MatrixStore<Double> |
solve(Access2D<?> body,
Access2D<?> rhs,
PhysicalStore<Double> current)
Exactly how (if at all) a specific implementation makes use of
preallocated is not
specified by this interface. |
Optional<MatrixStore<Double>> |
solve(MatrixStore<Double> body,
MatrixStore<Double> rhs) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpreallocate, solveprotected MutableSolver(D delegate, long size)
public boolean add(Equation row)
public void clear()
public boolean remove(Equation row)
public final double resolve(PhysicalStore<Double> solution)
body. It is assumed to have been set up beforehand.public MatrixStore<Double> solve(Access2D<?> body, Access2D<?> rhs, PhysicalStore<Double> current) throws RecoverableCondition
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 suitbale preallocated.
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/final/correct solution.RecoverableConditionprotected double doubleValue(int row,
int column)
protected final D getDelegate()
protected void setAccuracyContext(NumberContext accuracyContext)
protected void setDebugPrinter(BasicLogger.Printer debugPrinter)
protected void setIterationsLimit(int iterationsLimit)
protected long size()
public final IterativeSolverTask.Configurator configurator()
public final PhysicalStore<Double> preallocate(Structure2D templateBody, Structure2D templateRHS)
SolverTask
Will create a PhysicalStore instance suitable for use with
SolverTask.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.
preallocate in interface SolverTask<Double>public final Optional<MatrixStore<Double>> solve(MatrixStore<Double> body, MatrixStore<Double> rhs)
protected final void debug(int iteration,
Access1D<?> current)
protected final NumberContext getAccuracyContext()
protected final int getIterationsLimit()
protected final boolean isDebugPrinterSet()
Copyright © 2018 Optimatika. All rights reserved.