ZJU-FAST-Lab / LBFGS-Lite

LBFGS-Lite: A header-only L-BFGS unconstrained optimizer.
MIT License
320 stars 57 forks source link
l-bfgs lbfgs nonlinear-optimization nonsmooth-optimization optimization smooth-functions unconstrained-optimization

LBFGS-Lite

A header-only L-BFGS unconstrained optimizer.

0. About

LBFGS-Lite is a C++ header-only library for unconstrained optimization. Many engineering considerations are added for improved robustness compared to the original version by Nocedal.

1. How to use

All explanations are detailed by the comments in "lbfgs.hpp". See "lbfgs_example.cpp" for the calling procedure. You may need to install Eigen via "sudo apt install libeigen3-dev" because we use Eigen for better performance since ver. 2.1. If you need a pure C-style lib without any external dependence, please refer to ver. 0.9.

2. Features

3. Why this lib

6. Licence

LBFGS-Lite is modified from the C version by Okazaki, which is further based on the original Fortran version by Nocedal. Thus it is distributed under the term of the MIT license according to previous ones by Okazaki and by Nocedal. Please refer to LICENSE file in the distribution.

7. Maintaince

If any bug, please contact Zhepei Wang (wangzhepei@live.com).