petsc-3.3-p7 2013-05-11


Implements the deflated GMRES as defined in [1,2]; In this implementation, the adaptive strategy allows to switch to the deflated GMRES when the stagnation occurs. GMRES Options Database Keys: + -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 vectors are allocated as needed) . -ksp_gmres_classicalgramschmidt - use classical (unmodified) Gram-Schmidt to orthogonalize against the Krylov space (fast) (the default) . -ksp_gmres_modifiedgramschmidt - use modified Gram-Schmidt in the orthogonalization (more stable, but slower) . -ksp_gmres_cgs_refinement_type <never,ifneeded,always> - determine if iterative refinement is used to increase the stability of the classical Gram-Schmidt orthogonalization. - -ksp_gmres_krylov_monitor - plot the Krylov space generated DGMRES Options Database Keys: -ksp_dgmres_eigen <neig> - Number of smallest eigenvalues to extract at each restart -ksp_dgmres_max_eigen <max_neig> - Maximum number of eigenvalues that can be extracted during the iterative process -ksp_dgmres_force <0, 1> - Use the deflation at each restart; switch off the adaptive strategy.

Notes: Left and right preconditioning are supported, but not symmetric preconditioning. Complex arithmetic is not yet supported


[1]Restarted GMRES preconditioned by deflation,J. Computational and Applied Mathematics, 69(1996), 303-318. [2]On the performance of various adaptive preconditioned GMRES strategies, 5(1998), 101-121.

Contributed by: Desire NUENTSA WAKAM,INRIA

See Also

KSPCreate(), KSPSetType(), KSPType (for list of available types), KSP, KSPFGMRES, KSPLGMRES,
KSPGMRESSetRestart(), KSPGMRESSetHapTol(), KSPGMRESSetPreAllocateVectors(), KSPGMRESSetOrthogonalization(), KSPGMRESGetOrthogonalization(), KSPGMRESClassicalGramSchmidtOrthogonalization(), KSPGMRESModifiedGramSchmidtOrthogonalization(), KSPGMRESCGSRefinementType, KSPGMRESSetCGSRefinementType(), KSPGMRESGetCGSRefinementType(), KSPGMRESMonitorKrylov(), KSPSetPCSide()

Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages