PETSc version 3.17.2
Fix/Edit manual page


Code to run conjugate gradient method subject to a constraint on the solution norm. This is used in Trust Region methods for nonlinear equations, SNESNEWTONTR

Options Database Keys

-ksp_cg_radius <r> - Trust Region Radius


This is rarely used directly

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 || <= delta,


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 be

 KSP_CONVERGED_CG_NEG_CURVE if convergence is reached along a negative curvature direction,
 KSP_CONVERGED_CG_CONSTRAINED if convergence is reached along a constrained step,
 other KSP converged/diverged reasons


The preconditioner supplied should be symmetric and positive definite.


* - Steihaug, T. (1983): The conjugate gradient method and trust regions in large scale optimization. SIAM J. Numer. Anal. 20, 626--637
* - Toint, Ph.L. (1981): Towards an efficient sparsity exploiting Newton method for minimization. In: Duff, I., ed., Sparse Matrices and Their Uses, pp. 57--88. Academic Press

See Also

KSPCreate(), KSPCGSetType(), KSPType (for list of available types), KSP, KSPCGSetRadius(), KSPCGGetNormD(), KSPCGGetObjFcn()




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