java.lang.Object
org.ojalgo.matrix.task.iterative.IterativeSolverTask
org.ojalgo.matrix.task.iterative.ParallelGaussSeidelSolver
- All Implemented Interfaces:
MatrixTask<Double>,SolverTask<Double>
Experimental parallelised stationary iteration based on Gauss–Seidel-style in-place updates.
Concurrency and convergence
- Targets systems where diagonal dominance or SPD structure makes Gauss–Seidel-type updates effective.
- Parallel execution may introduce small differences compared to strictly sequential updates.
- Ignores any configured
Preconditioner; use the relaxation factor to influence convergence.
- To utilise multiple cores for simple in-place iterative sweeps.
- As a smoother or pre-relaxation when approximate iterations are acceptable.
- For challenging SPD problems prioritising convergence speed/robustness, Krylov methods are often preferable.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.ojalgo.matrix.task.iterative.IterativeSolverTask
IterativeSolverTask.ConfiguratorNested 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 TypeMethodDescriptionprivate static voiddivide(int nbEquations, DivideAndConquer.Conquerer conquerer) doubleresolve(List<Equation> equations, PhysicalStore<Double> solution) private doubleresolve(List<Equation> equations, PhysicalStore<Double> solution, double normRHS, AtomicInteger iterationsCounter, int first, int limit) Methods inherited from class org.ojalgo.matrix.task.iterative.IterativeSolverTask
configurator, debug, getAccuracyContext, getIterationsLimit, getPreconditioner, getRelaxationFactor, isDebugPrinterSet, preallocate, resolve, setAccuracyContext, setDebugPrinter, setIterationsLimit, setPreconditioner, setRelaxationFactor, solve, solve, toListOfRows, workerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.ojalgo.matrix.task.SolverTask
preallocate, solve, toSolutionProvider
-
Field Details
-
DIVIDER
-
-
Constructor Details
-
ParallelGaussSeidelSolver
public ParallelGaussSeidelSolver()
-
-
Method Details
-
divide
-
resolve
- Specified by:
resolvein classIterativeSolverTask
-
resolve
private double resolve(List<Equation> equations, PhysicalStore<Double> solution, double normRHS, AtomicInteger iterationsCounter, int first, int limit)
-