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