xref: /petsc/src/ksp/ksp/impls/cg/stcg/stcgimpl.h (revision ed0a315dc690bca58568ab127a9f322718ff62b7)
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, then we follow it to the
6    boundary of the trust region.
7 
8    This method is described in:
9      T. Steihaug, "The Conjugate Gradient Method and Trust Regions in Large
10        Scale Optimization", SIAM Journal on Numerical Analysis, 20,
11        pages 626-637, 1983.
12 */
13 
14 #pragma once
15 
16 #include <petsc/private/kspimpl.h>
17 
18 typedef struct {
19   PetscReal radius;
20   PetscReal norm_d;
21   PetscReal o_fcn;
22   PetscInt  dtype;
23 } KSPCG_STCG;
24