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 Keys#
-ksp_cg_radius radius - Trust Region Radius
-ksp_cg_tr_norm_type (preconditioned|unpreconditioned) - Norm used for the trust-region constraint
Notes#
This specializes KSPCG by enabling KSPSetConvergedNegativeCurvature() and selecting the unpreconditioned residual norm by default.
All other options and APIs are shared with KSPCG. It is used in trust-region methods such as SNESNEWTONTR.
Use preconditioned conjugate gradient to compute an approximate minimizer of the quadratic function
subject to the trust region constraint
where
delta is the trust region radius,
g is the gradient vector,
H is the Hessian approximation, and
KSPConvergedReason may include
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 preconditioner supplied should be symmetric and positive definite.
References#
Trond Steihaug. The conjugate gradient method and trust regions in large scale optimization. SIAM J. Numer. Anal., 20:626–637, 1983.
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(), KSPCG, KSPCGSetType(), KSPType, KSP, KSPCGSetRadius(), KSPCGSetTRNormType(), KSPCGGetTRSolutionNorm(), KSPCGGetObjFcn(), KSPNASH, KSPGLTR, KSPQCG
Level#
developer
Location#
Examples#
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages