the scalar objective function to minimize
constant for sufficient decrease (Wolfe condition 1)
constant for curvature/slope constraint (Wolfe condition 2)
Perform an inexact Line Search (LS) on the function 'f' to find a point 'x' that satisfies the Wolfe Conditions 1 and 2.
Perform an inexact Line Search (LS) on the function 'f' to find a point 'x' that satisfies the Wolfe Conditions 1 and 2.
the current point
the lower bound for x
whether to use the weak (true) or strong (false) Wolfe conditions
Perform an inexact Line Search (LS) using the Wolfe approach with defaults.
Perform an inexact Line Search (LS) using the Wolfe approach with defaults.
the initial step size
This class performs an inexact line search on f to find a point x that exhibits (1) sufficient decrease (f(x) enough less that f(0)) and (2) the slope at x is less steep than the slope at 0. That is, the line search looks for a value for x satisfying the two Wolfe conditions.
f(x) <= f(0) + c1 * f'(0) * x Wolfe condition 1 (Armijo condition) |f'(x)| <= |c2 * f'(0)| Wolfe condition 2 (Strong version) f'(x) >= c2 * f'(0) Wolfe condition 2 (Weak version, more robust)
It works on scalar functions (see WolfeLSTest). If starting with a vector function f(x), simply define a new function g(y) = x0 + direction * y (see WolfeLSTest2).