Class ParallelGaussSeidelSolver
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 IterativeSolverTask
IterativeSolverTask.ConfiguratorNested classes/interfaces inherited from interface SolverTask
SolverTask.Factory<N> -
Field Summary
FieldsFields inherited from class 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 IterativeSolverTask
configurator, debug, getAccuracyContext, getIterationsLimit, getPreconditioner, getRelaxationFactor, isDebugPrinterSet, preallocate, resolve, setAccuracyContext, setDebugPrinter, setIterationsLimit, setPreconditioner, setRelaxationFactor, solve, solve, toListOfRows, workerMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface 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)
-