-ksp_gmres_restart <restart> | - the number of Krylov directions to orthogonalize against | |
-ksp_gmres_haptol <tol> | - sets the tolerance for "happy ending" (exact convergence) | |
-ksp_gmres_preallocate | - preallocate all the Krylov search directions initially (otherwise groups of | |
-ksp_pipefgmres_shift | - the shift to use (defaults to 1. See KSPPIPEFGMRESSetShift() vectors are allocated as needed) | |
-ksp_gmres_krylov_monitor | - plot the Krylov space generated |
This variant is not "explicitly normalized" like KSPPGMRES, and requires a shift parameter.
A heuristic for choosing the shift parameter is the largest eigenvalue of the preconditioned operator.
Only right preconditioning is supported (but this preconditioner may be nonlinear/variable/inexact, as with KSPFGMRES). MPI configuration may be necessary for reductions to make asynchronous progress, which is important for performance of pipelined methods. See the FAQ on the PETSc website for details.