Package org.ojalgo.matrix.task.iterative
Class IterativeSolverTask
- java.lang.Object
-
- org.ojalgo.matrix.task.iterative.IterativeSolverTask
-
- All Implemented Interfaces:
MatrixTask<java.lang.Double>
,SolverTask<java.lang.Double>
- Direct Known Subclasses:
KrylovSubspaceSolver
,MutableSolver
,StationaryIterativeSolver
public abstract class IterativeSolverTask extends java.lang.Object implements SolverTask<java.lang.Double>
For solving very large sparse equation systems – [A][x]=[b].
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
IterativeSolverTask.Configurator
static interface
IterativeSolverTask.SparseDelegate
-
Nested classes/interfaces inherited from interface org.ojalgo.matrix.task.SolverTask
SolverTask.Factory<N extends java.lang.Comparable<N>>
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static NumberContext
DEFAULT
private NumberContext
myAccuracyContext
private BasicLogger
myDebugPrinter
private int
myIterationsLimit
-
Constructor Summary
Constructors Constructor Description IterativeSolverTask()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IterativeSolverTask.Configurator
configurator()
protected void
debug(int iteration, double error, Access1D<?> current)
protected NumberContext
getAccuracyContext()
protected int
getIterationsLimit()
protected boolean
isDebugPrinterSet()
PhysicalStore<java.lang.Double>
preallocate(Structure2D templateBody, Structure2D templateRHS)
Will create a PhysicalStore instance suitable for use withSolverTask.solve(Access2D, Access2D, PhysicalStore)
.protected void
setAccuracyContext(NumberContext accuracyContext)
protected void
setDebugPrinter(BasicLogger debugPrinter)
protected void
setIterationsLimit(int iterationsLimit)
java.util.Optional<MatrixStore<java.lang.Double>>
solve(MatrixStore<java.lang.Double> body, MatrixStore<java.lang.Double> rhs)
(package private) static java.util.List<Equation>
toListOfRows(Access2D<?> body, Access2D<?> rhs)
-
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, solve, toSolutionProvider
-
-
-
-
Field Detail
-
DEFAULT
static final NumberContext DEFAULT
-
myAccuracyContext
private NumberContext myAccuracyContext
-
myDebugPrinter
private BasicLogger myDebugPrinter
-
myIterationsLimit
private int myIterationsLimit
-
-
Method Detail
-
configurator
public final IterativeSolverTask.Configurator configurator()
-
preallocate
public final PhysicalStore<java.lang.Double> preallocate(Structure2D templateBody, Structure2D templateRHS)
Description copied from interface: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.
- Specified by:
preallocate
in interfaceSolverTask<java.lang.Double>
-
solve
public final java.util.Optional<MatrixStore<java.lang.Double>> solve(MatrixStore<java.lang.Double> body, MatrixStore<java.lang.Double> rhs)
-
debug
protected final void debug(int iteration, double error, Access1D<?> current)
-
getAccuracyContext
protected final NumberContext getAccuracyContext()
-
getIterationsLimit
protected final int getIterationsLimit()
-
isDebugPrinterSet
protected final boolean isDebugPrinterSet()
-
setAccuracyContext
protected void setAccuracyContext(NumberContext accuracyContext)
-
setDebugPrinter
protected void setDebugPrinter(BasicLogger debugPrinter)
-
setIterationsLimit
protected void setIterationsLimit(int iterationsLimit)
-
-