diff --git a/COPYING b/COPYING index 6940bf6..0d2f4cb 100644 --- a/COPYING +++ b/COPYING @@ -1,7 +1,7 @@ The MIT License Copyright (c) 1990 Jorge Nocedal -Copyright (c) 2007 Naoaki Okazaki +Copyright (c) 2007,2008 Naoaki Okazaki Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), diff --git a/ChangeLog b/ChangeLog index 04d0785..ede2196 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,29 +1,53 @@ -2008-03-05 Naoaki Okazaki +2008-04-25 Naoaki Okazaki - * CRFsuite 0.4 (the first public release): - - Website and documentation for CRFsuite. - - Tutorial on the CoNLL 2000 chunking shared task. - - Performance comparison on the CoNLL 2000 chunking shared task. - - Bug fix in L2 regularization. - - A number of small improvements for the public release. + * libLBFGS 1.4: + - Configurable line search algorithms. A member variable + lbfgs_parameter_t::linesearch was added to choose either MoreThuente + method (LBFGS_LINESEARCH_MORETHUENTE) or backtracking algorithm + (LBFGS_LINESEARCH_BACKTRACKING). + - Fixed a bug: the previous version did not compute psuedo-gradients + properly in the line search routines for OW-LQN. This bug might quit + an iteration process too early when the OW-LQN routine was activated + (0 < lbfgs_parameter_t::orthantwise_c). + - Configure script for POSIX environments. + - SSE/SSE2 optimizations with GCC. + - New functions lbfgs_malloc and lbfgs_free to use SSE/SSE2 routines + transparently. It is uncessary to use these functions for libLBFGS + built without SSE/SSE2 routines; you can still use any memory + allocators if SSE/SSE2 routines are disabled in libLBFGS. -2007-12-12 Naoaki Okazaki +2007-12-16 Naoaki Okazaki - * CRFsuite 0.3 (internal release): - - Implemented scaling method for forward/backward algorithm. - - Removed the code for computing the forward/backward algorithm in logarithm domain. + * libLBFGS 1.3: + - An API change. An argument was added to lbfgs() function to receive + the final value of the objective function. This argument can be set + to NULL if the final value is unnecessary. + - Fixed a null-pointer bug in the sample code (reported by Takashi + Imamichi). + - Added build scripts for Microsoft Visual Studio 2005 and GCC. + - Added README file. -2007-11-30 Naoaki Okazaki +2007-12-13 Naoaki Okazaki - * CRFsuite 0.2 (internal release): - - Orthant-Wise Limited-memory Quasi-Newton (OW-LQN) method for L1 regularization. + * libLBFGS 1.2: + - Fixed a serious bug in orthant-wise L-BFGS. An important variable + was used without initialization. - Configurable L-BFGS parameters (number of limited memories, epsilon). -2007-10-29 Naoaki Okazaki +2007-12-01 Naoaki Okazaki - * CRFsuite 0.1 (internal release): + * libLBFGS 1.1: + - Implemented orthant-wise L-BFGS. + - Implemented lbfgs_parameter_init() function. + - Fixed several bugs. + - API documentation. + + +2007-09-20 Naoaki Okazaki + + * libLBFGS 1.0 - Initial release. diff --git a/Makefile.am b/Makefile.am index b02c5b0..93e9557 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,7 +3,7 @@ SUBDIRS = lib sample docdir = $(prefix)/share/doc/@PACKAGE@ -doc_DATA = README INSTALL COPYING AUTHORS ChangeLog +doc_DATA = README INSTALL COPYING AUTHORS ChangeLog NEWS EXTRA_DIST = \ autogen.sh \ diff --git a/README b/README index be602b0..325729f 100644 --- a/README +++ b/README @@ -39,26 +39,26 @@ $ make install # To install libLBFGS library and header. ========================================================================= This library has SSE/SSE2 optimization routines for vector arithmetic operations on Intel/AMD processors. The SSE2 routine is for 64 bit double -values whereas the SSE routine is for 32 bit float values. Since the -default parameters for L-BFGS are tuned for double precision values, it -may be more straightforward to use SSE2 optimization than to use SSE. +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 SSE optimization on Microsoft Visual Studio 2005, -define USE_SSE and __SSE2__ symbols. +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. +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. +SSE/SSE2 instructions are unavailable on computers.