{ } Raw JSON

bundles / scipy 1.17.1 / scipy / optimize / _linesearch / scalar_search_wolfe1

function

scipy.optimize._linesearch:scalar_search_wolfe1

source: /scipy/optimize/_linesearch.py :100

Signature

def   scalar_search_wolfe1 ( phi derphi phi0 = None old_phi0 = None derphi0 = None c1 = 0.0001 c2 = 0.9 amax = 50 amin = 1e-08 xtol = 1e-14 )

Summary

Scalar function search for alpha that satisfies strong Wolfe conditions

Extended Summary

alpha > 0 is assumed to be a descent direction.

Parameters

phi : callable phi(alpha)

Function at point alpha

derphi : callable phi'(alpha)

Objective function derivative. Returns a scalar.

phi0 : float, optional

Value of phi at 0

old_phi0 : float, optional

Value of phi at previous point

derphi0 : float, optional

Value derphi at 0

c1 : float, optional

Parameter for Armijo condition rule.

c2 : float, optional

Parameter for curvature condition rule.

amax, amin : float, optional

Maximum and minimum step size

xtol : float, optional

Relative tolerance for an acceptable step.

Returns

alpha : float

Step size, or None if no suitable step was found

phi : float

Value of phi at the new point alpha

phi0 : float

Value of phi at alpha=0

Notes

Uses routine DCSRCH from MINPACK.

Parameters c1 and c2 must satisfy 0 < c1 < c2 < 1 as described in [1].

Aliases

  • scipy.optimize._linesearch.scalar_search_wolfe1