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