Section: robotpkg/math
Priority: extra
Maintainer: openrobots@laas.fr
Source: /opt/robotpkg/var/lib/robotpkg/packages/bsd/Ubuntu-26.04-x86_64/pub/liblbfgs-1.10.tgz
Package: robotpkg-liblbfgs
Version: 1.10
Architecture: amd64
Homepage: http://www.chokkan.org/software/liblbfgs/
Conflicts: robotpkg-liblbfgs
Provides: robotpkg-liblbfgs
Replaces: robotpkg-liblbfgs
Description: Solver for unconstrainted minimization problems
 License: mit
 Debian-Packager: robotpkg@laas.fr
 liblbfgs is a C port of the implementation of Limited-memory
 Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) method written by Jorge Nocedal. The
 original FORTRAN source code is available at:
 http://www.ece.northwestern.edu/~nocedal/lbfgs.html
 .
 The L-BFGS method solves the unconstrainted minimization problem,
 .
     minimize F(x), x = (x1, x2, ..., xN),
 .
 only if the objective function F(x) and its gradient G(x) are computable. The
 well-known Newton's method requires computation of the inverse of the hessian
 matrix of the objective function. However, the computational cost for the
 inverse hessian matrix is expensive especially when the objective function
 takes a large number of variables. The L-BFGS method iteratively finds a
 minimizer by approximating the inverse hessian matrix by information from last
 m iterations. This innovation saves the memory storage and computational time
 drastically for large-scaled problems.
 .
 Among the various ports of L-BFGS, this library provides several features:
 .
     * Optimization with L1-norm (Orthant-Wise Limited-memory Quasi-Newton
     (OWL-QN) method): In addition to standard minimization problems, the
     library can minimize a function F(x) combined with L1-norm |x| of the
     variables, {F(x) + C |x|}, where C is a constant scalar parameter. This
     feature is useful for estimating parameters of sparse log-linear models
     (e.g., logistic regression and maximum entropy) with L1-regularization (or
     Laplacian prior).
 .
     * Clean C code: Unlike C codes generated automatically by f2c (Fortran 77
     into C converter), this port includes changes based on my interpretations,
     improvements, optimizations, and clean-ups so that the ported code would be
     well-suited for a C code. In addition to comments inherited from the
     original code, a number of comments were added through my interpretations.
 .
     * Callback interface: The library receives function and gradient values via
     a callback interface. The library also notifies the progress of the
     optimization by invoking a callback function. In the original
     implementation, a user had to set function and gradient values every time
     the function returns for obtaining updated values.
 .
     * Thread safe: The library is thread-safe, which is the secondary gain from
     the callback interface.
 .
     * Cross platform. The source code can be compiled on Microsoft Visual
     Studio 2005, GNU C Compiler (gcc), etc.
 .
     * Configurable precision: A user can choose single-precision (float) or
     double-precision (double) accuracy by changing LBFGS_FLOAT macro.
 .
     * SSE/SSE2 optimization: This library includes SSE/SSE2 optimization
     (written in compiler intrinsics) for vector arithmetic operations on
     Intel/AMD processors. The library uses SSE for float values and SSE2 for
     double values. The SSE/SSE2 optimization routine is disabled by default.
 .
 Homepage:
 http://www.chokkan.org/software/liblbfgs/

