KSPQCG#
Code to run conjugate gradient method subject to a constraint on the solution norm.
Options Database Key#
-ksp_qcg_trustregionradius
- Trust Region Radius
Notes#
This is rarely used directly, ir is used in Trust Region methods for nonlinear equations, SNESNEWTONTR
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 Euclidean norm trust region constraint
|| D * s || <= delta,
where
delta is the trust region radius, g is the gradient vector, and H is Hessian matrix, D is a scaling matrix.
KSPConvergedReason
may be
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,
and other KSP
converged/diverged reasons
Notes#
Currently we allow symmetric preconditioning with the following scaling matrices#
References#
**** -*** Trond Steihaug, The Conjugate Gradient Method and Trust Regions in Large Scale Optimization, SIAM Journal on Numerical Analysis, Vol. 20, No. 3 (Jun., 1983).
See Also#
KSP: Linear System Solvers, ‘KSPNASH,
KSPGLTR,
KSPSTCG,
KSPCreate(),
KSPSetType(),
KSPType,
KSP,
KSPQCGSetTrustRegionRadius()
KSPQCGGetTrialStepNorm(),
KSPQCGGetQuadratic()`
Level#
developer
Location#
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages