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]¶
Unconstrained Armijo line search algorithm.
This method computes a step size such that the unconstrained 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
as either aVectorArray
or aNumPy array
.- initial_value
Value of
f
in the pointstarting_point
.- 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.
- iterations
Number of total Armijo line search iterations.
- pymor.algorithms.line_search.constrained_armijo(f, starting_point, direction, armijo_condition=None, grad=None, initial_value=None, alpha_init=1.0, tau=0.5, beta=0.0001, maxiter=10)[source]¶
Constrained Armijo line search algorithm.
This method computes a step size such that the given constrained Armijo condition 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.
- armijo_condition
A
callable
used as the Armijo termination condition during the step length computation.- grad
Gradient of
f
in the pointstarting_point
as either aVectorArray
or aNumPy array
.- initial_value
Value of
f
in the pointstarting_point
.- 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.
- iterations
Number of total Armijo line search iterations.