Actual source code: pgmresimpl.h
 
   petsc-3.7.7 2017-09-25
   
  4: #include <petsc/private/kspimpl.h>
  5: #define KSPGMRES_NO_MACROS
  6: #include <../src/ksp/ksp/impls/gmres/gmresimpl.h>
  8: typedef struct {
  9:   KSPGMRESHEADER
 10: } KSP_PGMRES;
 12: #define HH(a,b)  (pgmres->hh_origin + (b)*(pgmres->max_k+2)+(a))
 13: /* HH will be size (max_k+2)*(max_k+1)  -  think of HH as
 14:    being stored columnwise for access purposes. */
 15: #define HES(a,b) (pgmres->hes_origin + (b)*(pgmres->max_k+1)+(a))
 16: /* HES will be size (max_k + 1) * (max_k + 1) -
 17:    again, think of HES as being stored columnwise */
 18: #define CC(a)    (pgmres->cc_origin + (a)) /* CC will be length (max_k+1) - cosines */
 19: #define SS(a)    (pgmres->ss_origin + (a)) /* SS will be length (max_k+1) - sines */
 20: #define RS(a)    (pgmres->rs_origin + (a)) /* RS will be length (max_k+2) - rt side */
 22: /* vector names */
 23: #define VEC_OFFSET     2
 24: #define VEC_TEMP       pgmres->vecs[0]               /* work space */
 25: #define VEC_TEMP_MATOP pgmres->vecs[1]               /* work space */
 26: #define VEC_VV(i)      pgmres->vecs[VEC_OFFSET+i]    /* use to access
 27:                                                         othog basis vectors */
 28: #endif