petsc-3.7.1 2016-05-15
Report Typos and Errors

# KSPPIPEGCR

Implements the preconditioned Generalized Conjugate Residual method with pipelining. The PIPEGCR Krylov method supports non-symmetric matrices and permits the use of a preconditioner Many brwhich may vary from one iteration to the next. Users can can define a method to vary the Many brpreconditioner between iterates via KSPPIPEGCRSetModifyPC(). Many brRestarts are solves with x0 not equal to zero. When a restart occurs, the initial starting Many brsolution is given by the current estimate for x which was obtained by the last restart Many briterations of the PIPEGCR algorithm. Many brThe method implemented requires at most the storage of 4 x mmax + 5 vectors, roughly twice as much as GCR. Many br

Only supports left preconditioning. Many br

The natural norm for this method is (u,Au). This norm is available at no computational costs. Choosing norm types preconditioned or unpreconditioned involves a blocking reduction which prevents any benefit from pipelining. Many br

### Options Database Keys

| -ksp_pipegcr_mmax <N> | - the max number of Krylov directions to orthogonalize against Many br
| -ksp_pipegcr_unroll_w | - unroll w at the storage cost of a maximum of (mmax+1) extra vectors with the benefit of better pipelining (default: PETSC_TRUE) Many br
| -ksp_pipegcr_nprealloc <N> | - the number of vectors to preallocated for storing Krylov directions. Once exhausted new directions are allocated blockwise (default: 5) Many br
| -ksp_pipegcr_truncation | - Truncate number of previous Krylov directions Many br
| -ksp_pipegcr_trancation_restart | - Truncation-restart strategy: Keep at most mmax Krylov directions then restart (the default) Many br

Many br

### Reference

Pipelined, Flexible Krylov Subspace Methods Many brPatrick Sanan, Sascha M. Schnepp, and Dave A. May Many br

### See Also

KSPCreate(), KSPSetType(), KSPType (for list of available types), KSP,
KSPPIPEFGMRES, KSPPIPECG, KSPPIPECR, KSPPIPEFCG Many br

Level:beginner
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