OOF2: The Manual

Name

GMRES (GMRESSolver) — Generalized Minimal Residual method. An iterative method for non-symmetric matrices.

Synopsis

GMRESSolver(max_iterations,krylov_dimension,tolerance,preconditioner)

Details

  • Base class: LinearSolverPtr
  • Parameters:

    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.
    tolerance
    largest acceptable relative error Type: A real number.
    preconditioner
    Black magic for making the matrix more easily solvable Type: An object of the Preconditioner class.

Description

The GMRESSolver solver implements the preconditioned Generalized Minimal Residual method for solving linear matrix equations. 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.[25] 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.



[25] If \(x_0\) is an initial guess for the solution of \(Ax=b\), then the initial residual is \(r=Ax_0-b\). The Krylov space of dimension \(k\) is spanned by the vectors \(\{r,\ Ar,\ A^2r,\dots,\ A^{k-1}r\}\). GMRES finds the best solution in this space, and then restarts with a new \(x_0\). If \(k\) is large enough, fewer restarts are required, but more data must be retained.


/* OOF home */ /* OOF2 home */ /* Send mail to the OOF Team */