Class GMRES

All Implemented Interfaces:
IterativeSolver

public class GMRES extends AbstractIterativeSolver
GMRES solver. GMRES solves the unsymmetric linear system Ax = b using the Generalized Minimum Residual method. The GMRES iteration is restarted after a given number of iterations. By default it is restarted after 30 iterations.
  • Constructor Details

    • GMRES

      public GMRES(Vector template)
      Constructor for GMRES. Uses the given vector as template for creating scratch vectors. Typically, the solution or the right hand side vector can be passed, and the template is not modified. The iteration is restarted every 30 iterations
      Parameters:
      template - Vector to use as template for the work vectors needed in the solution process
    • GMRES

      public GMRES(Vector template, int restart)
      Constructor for GMRES. Uses the given vector as template for creating scratch vectors. Typically, the solution or the right hand side vector can be passed, and the template is not modified
      Parameters:
      template - Vector to use as template for the work vectors needed in the solution process
      restart - GMRES iteration is restarted after this number of iterations
  • Method Details

    • setRestart

      public void setRestart(int restart)
      Sets the restart parameter
      Parameters:
      restart - GMRES iteration is restarted after this number of iterations
    • solve

      Description copied from interface: IterativeSolver
      Solves the given problem, writing result into the vector.
      Parameters:
      A - Matrix of the problem
      b - Right hand side
      x - Solution is stored here. Also used as initial guess
      Returns:
      The solution vector x
      Throws:
      IterativeSolverNotConvergedException