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.