1 /*****************************************************************************/ 2 /* Context for using preconditioned conjugate gradient method to minimized a */ 3 /* quadratic function subject to a trust region constraint. If the matrix */ 4 /* is indefinite, a direction of negative curvature may be encountered. If */ 5 /* a direction of negative curvature is found during the first iteration, */ 6 /* then it is a preconditioned gradient direction and we follow it to the */ 7 /* boundary of the trust region. If a direction of negative curvature is */ 8 /* encountered on subsequent iterations, then we terminate the algorithm. */ 9 /* */ 10 /* This method is described in: */ 11 /* S. Nash, "Newton-type Minimization via the Lanczos Method", SIAM */ 12 /* Journal on Numerical Analysis, 21, pages 553-572, 1984. */ 13 /*****************************************************************************/ 14 15 #if !defined(__CG_NASH) 16 #define __CG_NASH 17 18 #include <petsc/private/kspimpl.h> 19 20 typedef struct { 21 PetscReal radius; 22 PetscReal norm_d; 23 PetscReal o_fcn; 24 PetscInt dtype; 25 } KSPCG_NASH; 26 27 #endif 28 29