-ksp_pipegcr_truncation_type <standard,notay> -which previous search directions to orthogonalize against
Notes
The PIPEGCR Krylov method supports non-symmetric matrices and permits the use of a preconditioner
which may vary from one iteration to the next. Users can can define a method to vary the
preconditioner between iterates via KSPPIPEGCRSetModifyPC().
Restarts are solves with x0 not equal to zero. When a restart occurs, the initial starting
solution is given by the current estimate for x which was obtained by the last restart
iterations of the PIPEGCR algorithm.
The method implemented requires at most the storage of 4 x mmax + 5 vectors, roughly twice as much as GCR.
Only supports left preconditioning.
The natural "norm" for this method is (u,Au), where u is the preconditioned residual. This norm is available at no additional computational cost, as with standard CG. Choosing preconditioned or unpreconditioned norm types involves a blocking reduction which prevents any benefit from pipelining.
Reference
P. Sanan, S.M. Schnepp, and D.A. May,
"Pipelined, Flexible Krylov Subspace Methods,"
SIAM Journal on Scientific Computing 2016 38:5, C441-C470,
DOI: 10.1137/15M1049130
See Also
KSPCreate(), KSPSetType(), KSPType (for list of available types), KSP,
KSPPIPEFGMRES, KSPPIPECG, KSPPIPECR, KSPPIPEFCG,KSPPIPEGCRSetTruncationType(),KSPPIPEGCRSetNprealloc(),KSPPIPEGCRSetUnrollW(),KSPPIPEGCRSetMmax()
Level
intermediate
Location
src/ksp/ksp/impls/gcr/pipegcr/pipegcr.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages