pymor.algorithms.line_search
¶
Module Contents¶
- pymor.algorithms.line_search.armijo(f, starting_point, direction, grad=None, initial_value=None, alpha_init=1.0, tau=0.5, beta=0.0001, maxiter=10)[source]¶
Armijo line search algorithm.
This method computes a step size such that the Armijo condition (see [NW06], p. 33) is fulfilled.
Parameters
- f
Real-valued function that can be evaluated for its value.
- starting_point
A
VectorArray
of length 1 containing the starting point of the line search.- direction
Descent direction along which the line search is performed.
- grad
Gradient of
f
in the pointstarting_point
.- initial_value
Value of
f
in the pointstarting_point
.- alpha_init
Initial step size that is gradually reduced.
- tau
The fraction by which the step size is reduced in each iteration.
- beta
Control parameter to adjust the required decrease of the function value of
f
.- maxiter
Use
alpha_init
as default if the iteration count reaches this value without finding a point fulfilling the Armijo condition.
Returns
- alpha
Step size computed according to the Armijo condition.