public class DoubleQMR extends AbstractDoubleIterativeSolver
Ax = b using the Quasi-Minimal Residual method. QMR uses two
preconditioners, and by default these are the same preconditioner.| Constructor and Description |
|---|
DoubleQMR(DoubleMatrix1D template)
Constructor for QMR.
|
DoubleQMR(DoubleMatrix1D template,
DoublePreconditioner M1,
DoublePreconditioner M2)
Constructor for QMR.
|
| Modifier and Type | Method and Description |
|---|---|
void |
setPreconditioner(DoublePreconditioner M)
Sets preconditioner
|
DoubleMatrix1D |
solve(DoubleMatrix2D A,
DoubleMatrix1D b,
DoubleMatrix1D x)
Solves the given problem, writing result into the vector.
|
getIterationMonitor, getPreconditioner, setIterationMonitorpublic DoubleQMR(DoubleMatrix1D template)
template - Vector to use as template for the work vectors needed in the
solution processpublic DoubleQMR(DoubleMatrix1D template, DoublePreconditioner M1, DoublePreconditioner M2)
template - Vector to use as template for the work vectors needed in the
solution processM1 - Left preconditionerM2 - Right preconditionerpublic DoubleMatrix1D solve(DoubleMatrix2D A, DoubleMatrix1D b, DoubleMatrix1D x) throws IterativeSolverDoubleNotConvergedException
DoubleIterativeSolverA - Matrix of the problemb - Right hand sidex - Solution is stored here. Also used as initial guessIterativeSolverDoubleNotConvergedExceptionpublic void setPreconditioner(DoublePreconditioner M)
DoubleIterativeSolversetPreconditioner in interface DoubleIterativeSolversetPreconditioner in class AbstractDoubleIterativeSolverM - Preconditioner to useJump to the Parallel Colt Homepage