KSPQCG#
Code to run conjugate gradient method subject to a constraint on the solution norm [Ste83].
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 || \le 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 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,
Note#
Allows symmetric preconditioning with the following scaling matrices#
References#
Trond Steihaug. The conjugate gradient method and trust regions in large scale optimization. SIAM J. Numer. Anal., 20:626–637, 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