lbfgsb.subspacemin#

Subspace minimization procedure of the L-BFGS-B algorithm, mainly for internal use.

The target of subspace minimization is to minimize the quadratic function m(x) over the free variables, subject to the bound condition. Free variables stand for coordinates that are not at the boundary in xcp, the generalized Cauchy point.

In the classical implementation of L-BFGS-B [1], the minimization is done by first ignoring the box constraints, followed by a line search.

Functions#

get_freev(x_cp, lb, ub, iter[, ...])

Get the free variables and build sparse Z and A matrices.

form_k_from_wm(WTZ, invMfactors, theta)

Form the matrix K.

form_k_from_za(free_vars, active_vars, Y, S, ...)

Form the matrix K.

factorize_k(K[, is_assert_correct])

Return the L with LEL^T factorization of the indefinite matrix K.

subspace_minimization(x, xc, free_vars, ...)

Computes an approximate solution of the subspace problem.

Reference: [1] R. H. Byrd, P. Lu, and J. Nocedal (1995). A limited memory algorithm for bound constrained optimization. [2] C. Voglis and I. E. Lagaris (2004). BOXCQP: An algorithm for bound constrained convex quadratic problems.