KSPGLTR#

Code to run conjugate gradient method subject to a constraint on the solution norm.

Options Database Keys#

  • -ksp_cg_radius - Trust Region Radius

Notes#

Uses preconditioned conjugate gradient to compute an approximate minimizer of the quadratic function

q(s) = g^T * s + .5 * s^T * H * s

subject to the trust region constraint

|| s || <= delta,

where

delta is the trust region radius, g is the gradient vector, H is the Hessian approximation, M is the positive definite preconditioner matrix.

KSPConvergedReason may have the additional values

   KSP_CONVERGED_NEG_CURVE if convergence is reached along a negative curvature direction,
   KSP_CONVERGED_STEP_LENGTH if convergence is reached along a constrained step.

The operator and the preconditioner supplied must be symmetric and positive definite.

This is rarely used directly, it is used in Trust Region methods for nonlinear equations, SNESNEWTONTR

Reference#

  • **** -*** Gould, N. and Lucidi, S. and Roma, M. and Toint, P., Solving the Trust-Region Subproblem using the Lanczos Method, SIAM Journal on Optimization, volume 9, number 2, 1999, 504-525

See Also#

KSP: Linear System Solvers, KSPQCG, KSPNASH, KSPSTCG, KSPCreate(), KSPSetType(), KSPType, KSP, KSPCGSetRadius(), KSPCGGetNormD(), KSPCGGetObjFcn(), KSPGLTRGetMinEig(), KSPGLTRGetLambda(), KSPCG

Level#

developer

Location#

src/ksp/ksp/impls/cg/gltr/gltr.c


Edit on GitLab

Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages