lbfgsb.cauchy#

Implement a function to compute the generalized Cauchy point (GCP) for the L-BFGS-B algorithm, mainly for internal use.

The target of the GCP procedure is to find a step size t such that x(t) = x0 - t * g is a local minimum of the quadratic function m(x), where m(x) is a local approximation to the objective function.

First determine a sequence of break points t0=0, t1, t2, …, tn. On each interval [t[i-1], t[i]], x is changing linearly. After passing a break point, one or more coordinates of x will be fixed at the bounds. We search the first local minimum of m(x) by examining the intervals [t[i-1], t[i]] sequentially.

Functions#

get_cauchy_point(x, grad, lb, ub, mats, iprint)

Computes the generalized Cauchy point (GCP).

Reference: [1] R. H. Byrd, P. Lu, and J. Nocedal (1995). A limited memory algorithm for bound constrained optimization.