Package no.uib.cipr.matrix.sparse
Class SSOR
java.lang.Object
no.uib.cipr.matrix.sparse.SSOR
- All Implemented Interfaces:
Preconditioner
SSOR preconditioner. Uses symmetrical sucessive overrelaxation as a
preconditioner. Meant for symmetrical, positive definite matrices. For best
performance, omega must be carefully chosen (between 0 and 2).
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor for SSOR.SSOR
(CompRowMatrix F, boolean reverse, double omegaF, double omegaR) Constructor for SSOR -
Method Summary
Modifier and TypeMethodDescriptionSolves the approximate problem with the given right hand side.void
Sets the operator matrix for the preconditioner.void
setOmega
(double omegaF, double omegaR) Sets the overrelaxation parameterstransApply
(Vector b, Vector x) Solves the approximate transpose problem with the given right hand side.
-
Constructor Details
-
SSOR
Constructor for SSOR- Parameters:
F
- Matrix to use internally. It will not be modified, thus the system matrix may be passedreverse
- True to perform a reverse sweep as well as the forward sweep. If false, this preconditioner becomes the SOR method insteadomegaF
- Overrelaxation parameter for the forward sweep. Between 0 and 2.omegaR
- Overrelaxation parameter for the backwards sweep. Between 0 and 2.
-
SSOR
Constructor for SSOR. Usesomega=1
with a backwards sweep- Parameters:
F
- Matrix to use internally. It will not be modified, thus the system matrix may be passed
-
-
Method Details
-
setOmega
public void setOmega(double omegaF, double omegaR) Sets the overrelaxation parameters- Parameters:
omegaF
- Overrelaxation parameter for the forward sweep. Between 0 and 2.omegaR
- Overrelaxation parameter for the backwards sweep. Between 0 and 2.
-
setMatrix
Description copied from interface:Preconditioner
Sets the operator matrix for the preconditioner. This method must be called before a preconditioner is used by an iterative solver- Specified by:
setMatrix
in interfacePreconditioner
- Parameters:
A
- Matrix to setup the preconditioner for. Not modified
-
apply
Description copied from interface:Preconditioner
Solves the approximate problem with the given right hand side. Result is stored in given solution vector- Specified by:
apply
in interfacePreconditioner
- Parameters:
b
- Right hand side of problemx
- Result is stored here- Returns:
- x
-
transApply
Description copied from interface:Preconditioner
Solves the approximate transpose problem with the given right hand side. Result is stored in given solution vector- Specified by:
transApply
in interfacePreconditioner
- Parameters:
b
- Right hand side of problemx
- Result is stored here- Returns:
- x
-