Go to file
naoaki b40688551f Fixed a typo.
git-svn-id: file:///home/svnrepos/software/liblbfgs/trunk@8 ecf4c44f-38d1-4fa4-9757-a0b4dd0349fc
2008-05-03 10:39:13 +00:00
doc Include an HTML header. 2008-04-25 23:08:27 +00:00
include Include an HTML header. 2008-04-25 23:08:27 +00:00
lib Fixed a typo. 2008-05-03 10:39:13 +00:00
sample Preparation for 1.4 release. 2008-04-25 07:54:10 +00:00
AUTHORS Initial commit. 2008-04-24 15:04:59 +00:00
autogen.sh Initial commit. 2008-04-24 15:04:59 +00:00
ChangeLog libLBFGS 1.4 release candidate. 2008-04-25 09:07:12 +00:00
configure.in Clean-up configure.in 2008-04-25 08:47:23 +00:00
COPYING libLBFGS 1.4 release candidate. 2008-04-25 09:07:12 +00:00
lbfgs.sln - Added some note on SSE/SEE2 optimization. 2008-04-25 06:32:53 +00:00
Makefile.am libLBFGS 1.4 release candidate. 2008-04-25 09:07:12 +00:00
NEWS Initial commit. 2008-04-24 15:04:59 +00:00
README libLBFGS 1.4 release candidate. 2008-04-25 09:07:12 +00:00

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

                                       Copyright (c) 1990, Jorge Nocedal 
                                 Copyright (c) 2007,2008, Naoaki Okazaki 

=========================================================================
1. Introduction
=========================================================================
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
=========================================================================
[Microsoft Visual Studio 2005]
Open the solution file "lbfgs.sln" and build it.

[GCC]
$ ./configure
$ make
$ make install  # To install libLBFGS library and header.



=========================================================================
3. Note on SSE/SSE2 optimization
=========================================================================
This library has SSE/SSE2 optimization routines for vector arithmetic
operations on Intel/AMD processors. The SSE2 routine is for 64 bit double
values, and the SSE routine is for 32 bit float values. Since the default
parameters in libLBFGS are tuned for double precision values, it may need
to modify these parameters to use the SSE optimization routines.

To use the SSE2 optimization routine, specify --enable-sse2 option to the
configure script.

$ ./configure --enable-sse2

To build libLBFGS with SSE2 optimization enabled on Microsoft Visual
Studio 2005, define USE_SSE and __SSE2__ symbols.

Make sure to run libLBFGS on processors where SSE2 instrunctions are
available. The library does not check the existence of SSE2 instructions.

To package maintainers,

Please do not enable SSE/SSE2 optimization routine. The library built
with SSE/SSE2 optimization will crash without any notice when necessary
SSE/SSE2 instructions are unavailable on computers.



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

$Id$