optimize._trustregion_ncg

Newton-CG trust-region optimization.

Module Contents

Classes

CGSteihaugSubproblem() Quadratic subproblem solved by a conjugate gradient method

Functions

_minimize_trust_ncg(fun,x0,args=tuple,jac=None,hess=None,hessp=None,**trust_region_options) Minimization of scalar function of one or more variables using
_minimize_trust_ncg(fun, x0, args=tuple, jac=None, hess=None, hessp=None, **trust_region_options)

Minimization of scalar function of one or more variables using the Newton conjugate gradient trust-region algorithm.

initial_trust_radius : float
Initial trust-region radius.
max_trust_radius : float
Maximum value of the trust-region radius. No steps that are longer than this value will be proposed.
eta : float
Trust region related acceptance stringency for proposed steps.
gtol : float
Gradient norm must be less than gtol before successful termination.
class CGSteihaugSubproblem

Quadratic subproblem solved by a conjugate gradient method

solve(trust_radius)

Solve the subproblem using a conjugate gradient method.

trust_radius : float
We are allowed to wander only this far away from the origin.
p : ndarray
The proposed step.
hits_boundary : bool
True if the proposed step is on the boundary of the trust region.

This is algorithm (7.2) of Nocedal and Wright 2nd edition. Only the function that computes the Hessian-vector product is required. The Hessian itself is not required, and the Hessian does not need to be positive semidefinite.