backtrack(func,
args,
x,
f,
g,
p,
a_init=1.0,
rho=0.5,
c=0.0001,
max_iter=500)
| source code
|
Backtracking line search.
Procedure 3.1, page 41, from 'Numerical Optimization' by Jorge Nocedal
and Stephen J. Wright, 1999, 2nd ed.
Requires the gradient vector at point xk.
Internal variables
ai - The step length at line search iteration i. xai - The
parameter vector at step length ai. fai - The function value at step
length ai.
- Parameters:
func (func) - The function to minimise.
args (tuple) - The tuple of arguments to supply to the functions func.
x (numpy rank-1 array) - The parameter vector.
f (float) - The function value at the point x.
g (numpy rank-1 array) - The gradient vector at the point x.
p (numpy rank-1 array) - The descent direction.
a_init (float) - Initial step length.
rho (float) - The step length scaling factor (should be between 0 and 1).
c (float) - Constant between 0 and 1 determining the slope for the sufficient
decrease condition.
maxiter (int) - The maximum number of iterations.
- Returns: numpy rank-1 array
- The parameter vector, minimised along the direction xk + ak.pk,
to be used at k+1.
|