Skip to content

arahall/optimise

Repository files navigation

this is a pure C++ implementation of the LBFGSB algorithm. The code uses EIGEN 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.

About

c++ implemenatation of l-bfgs-b

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published