public class DoubleSSOR extends Object implements DoublePreconditioner
Constructor and Description |
---|
DoubleSSOR(int n)
Constructor for SSOR.
|
DoubleSSOR(int n,
boolean reverse,
double omegaF,
double omegaR)
Constructor for SSOR
|
Modifier and Type | Method and Description |
---|---|
DoubleMatrix1D |
apply(DoubleMatrix1D b,
DoubleMatrix1D x)
Solves the approximate problem with the given right hand side.
|
void |
setMatrix(DoubleMatrix2D A)
Sets the operator matrix for the preconditioner.
|
void |
setOmega(double omegaF,
double omegaR)
Sets the overrelaxation parameters
|
DoubleMatrix1D |
transApply(DoubleMatrix1D b,
DoubleMatrix1D x)
Solves the approximate transpose problem with the given right hand side.
|
public DoubleSSOR(int n, boolean reverse, double omegaF, double omegaR)
n
- Problem size (number of rows)reverse
- 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.public DoubleSSOR(int n)
omega=1
with a backwards sweepn
- Problem size (number of rows)public void setOmega(double omegaF, double omegaR)
omegaF
- Overrelaxation parameter for the forward sweep. Between 0 and
2.omegaR
- Overrelaxation parameter for the backwards sweep. Between 0
and 2.public void setMatrix(DoubleMatrix2D A)
DoublePreconditioner
setMatrix
in interface DoublePreconditioner
A
- Matrix to setup the preconditioner for. Not modifiedpublic DoubleMatrix1D apply(DoubleMatrix1D b, DoubleMatrix1D x)
DoublePreconditioner
apply
in interface DoublePreconditioner
b
- Right hand side of problemx
- Result is stored herepublic DoubleMatrix1D transApply(DoubleMatrix1D b, DoubleMatrix1D x)
DoublePreconditioner
transApply
in interface DoublePreconditioner
b
- Right hand side of problemx
- Result is stored hereJump to the Parallel Colt Homepage