/liblbfgs

libLBFGS: a library of Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)

Primary LanguageCMIT LicenseMIT

           libLBFGS: C library of limited-memory BFGS (L-BFGS)

                                       Copyright (c) 1990, Jorge Nocedal
                                 Copyright (c) 2007-2010, Naoaki Okazaki

=========================================================================
1. Introduction
=========================================================================
This is a fork of libLBFGS, restructured to be a header-only library by
Harris Snyder.

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.

Refer to the libLBFGS web site for more information.
http://www.chokkan.org/software/liblbfgs/


=========================================================================
2. How to build
=========================================================================
No build. Just drop lbfgs.h into your project and #include them. 
In exactly one C file, you need to define LBFGS_IMPLEMENTATION before
you #include "lbfgs.h"


=========================================================================
3. Note on floating point precision
=========================================================================
This library uses double precision by default. If you want single,
`#define LBFGS_FLOAT 32` before you include "lbfgs.h" (everywhere).


=========================================================================
4. License
=========================================================================
libLBFGS is distributed under the term of the MIT license.
Please refer to COPYING file in the distribution.

$Id$