OOF2: The Manual
Name
GMRES (GeneralizedMinResidual) — Generalized Minimal Residual method for iteratively solving nonsymmetric 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.