https://github.com/arahall/optimise
c++ implemenatation of l-bfgs-b
https://github.com/arahall/optimise
cpp lbfgsb optimisation
Last synced: over 1 year ago
JSON representation
c++ implemenatation of l-bfgs-b
- Host: GitHub
- URL: https://github.com/arahall/optimise
- Owner: arahall
- License: mit
- Created: 2025-01-30T06:54:21.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-07T06:45:48.000Z (over 1 year ago)
- Last Synced: 2025-03-07T07:29:53.790Z (over 1 year ago)
- Topics: cpp, lbfgsb, optimisation
- Language: C++
- Homepage:
- Size: 39.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
this is a pure C++ implementation of the LBFGSB algorithm. The code uses [EIGEN](https://eigen.tuxfamily.org/index.php?title=Main_Page) for matrix and vector
operations but if this is not available then a home-rolled matrix library is used. To use EIGEN specify
the USING_EIGEN in the pre-processor options.
It has been tested with a wide range of standard optimser tests e.g. rosenbrock, matyas, rastrigin, beale etc
Separately, the code can be called from python using the ctypes library. this requires a DLL wrapper in windows
to marshall the data and callback between python and the optimisation module. It has been compared to the scipy minimise
implementation of LBFGSB and for most large problems it outperforms scipy sometimes by a factor of 2.
i've also used the code to calibrate a Hawkes process (3 paramters, 500 observattions) by minimising the log likelihood function and compared
the run time with scipy. for this problem scipy seems to be about 40% faster.