KSPSTCG#

Code to run conjugate gradient method subject to a constraint on the solution norm for use in a trust region method [Ste83], [Toi81]

Options Database Key#

  • -ksp_cg_radius - Trust Region Radius

Notes#

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

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

\[ q(s) = g^T * s + 0.5 * s^T * H * s \]

subject to the trust region constraint

\[ || s || le delta, \]

where

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

KSPConvergedReason may include

The preconditioner supplied should be symmetric and positive definite.

References#

Ste83

Trond Steihaug. The conjugate gradient method and trust regions in large scale optimization. SIAM J. Numer. Anal., 20:626–637, 1983.

Toi81

Philippe Toint. Towards an efficient sparsity exploiting Newton method for minimization. In Sparse matrices and their uses, pages 57–88. Academic press, 1981.

See Also#

KSP: Linear System Solvers, KSPCreate(), KSPCGSetType(), KSPType, KSP, KSPCGSetRadius(), KSPCGGetNormD(), KSPCGGetObjFcn(), KSPNASH, KSPGLTR, KSPQCG

Level#

developer

Location#

src/ksp/ksp/impls/cg/stcg/stcg.c


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