OOF2: The Manual
Name
GMRES (GeneralizedMinResidual) — Generalized Minimal Residual method for iteratively solving non-symmetric matrices.
Synopsis
GeneralizedMinResidual
(preconditioner
,tolerance
,max_iterations
,krylov_dimension
)
Details
-
Base class:
MatrixMethod
-
Parameters:
preconditioner
- Black magic for making the matrix more easily solvable. Type: An object of the
Preconditioner
class. tolerance
- Largest acceptable relative error in the matrix solution. Type: A real number.
max_iterations
- Maximum number of iterations to perform. Type: Integer.
krylov_dimension
- Making the Krylov dimension bigger will improve convergence but use more memory. Type: Integer.
Description
The GMRES
matrix method implements the
preconditioned Generalized Minimal Residual method for
solving
linear matrix equations in AdvancedSolverMode. The matrix does not
have to be symmetric.
GMRES
is an iterative method, meaning that it
creates an approximate solution and improves it on each iteration.
The iteration will cease when the relative error of the solution is
less than the given tolerance
. The solver will
stop and report an error if the tolerance isn't satisfied within
max_iterations
iterations.
GMRES
(and other Krylov space methods) work by searching for
a solution in a subspace of the full vector space.[29]
The dimension of this subspace is given by the
krylov_dimension
parameter. Using a larger
krylov_dimension
will improve the convergence of
the method, but will require more memory.
The preconditioner
parameter specifies which
Preconditioner to use, if any.
Preconditioners
speed the convergence of iterative methods by replacing the
original matrix by something closer to the identity matrix.
[29]
If
is an
initial guess for the solution of
,
then the initial residual is
.
The Krylov space of dimension
is spanned by the
vectors
.
GMRES finds the best solution in this space, and then restarts
with a new
.
If
is large
enough, fewer restarts are required, but more data must be retained.