Release for 1.8.

git-svn-id: file:///home/svnrepos/software/liblbfgs/trunk@60 ecf4c44f-38d1-4fa4-9757-a0b4dd0349fc
This commit is contained in:
naoaki 2009-07-13 14:27:47 +00:00
parent 896f8cbc7c
commit 80589797a3
4 changed files with 25 additions and 13 deletions

View File

@ -1,3 +1,10 @@
2009-07-13 Naoaki Okazaki <okazaki at chokkan org>
* libLBFGS 1.8:
- Accepted the patch submitted by Takashi Imamichi; the backtracking method now has three criteria for choosing the step length.
- Updated the documentation to explain the above three criteria.
2009-02-28 Naoaki Okazaki <okazaki at chokkan org> 2009-02-28 Naoaki Okazaki <okazaki at chokkan org>
* libLBFGS 1.7: * libLBFGS 1.7:

4
README
View File

@ -1,8 +1,8 @@
libLBFGS: C library of limited-memory BFGS (L-BFGS) libLBFGS: C library of limited-memory BFGS (L-BFGS)
Copyright (c) 1990, Jorge Nocedal Copyright (c) 1990, Jorge Nocedal
Copyright (c) 2007-2009, Naoaki Okazaki Copyright (c) 2007-2009, Naoaki Okazaki
========================================================================= =========================================================================
1. Introduction 1. Introduction

View File

@ -18,7 +18,7 @@ AC_CONFIG_SRCDIR([lib/lbfgs.c])
dnl ------------------------------------------------------------------ dnl ------------------------------------------------------------------
dnl Initialization for automake dnl Initialization for automake
dnl ------------------------------------------------------------------ dnl ------------------------------------------------------------------
AM_INIT_AUTOMAKE(liblbfgs, 1.7) AM_INIT_AUTOMAKE(liblbfgs, 1.8)
AC_CONFIG_HEADERS(config.h) AC_CONFIG_HEADERS(config.h)
AM_MAINTAINER_MODE AM_MAINTAINER_MODE

View File

@ -155,21 +155,24 @@ enum {
/** MoreThuente method proposd by More and Thuente. */ /** MoreThuente method proposd by More and Thuente. */
LBFGS_LINESEARCH_MORETHUENTE = 0, LBFGS_LINESEARCH_MORETHUENTE = 0,
/** /**
* Backtracking method with the Armijo condition: * Backtracking method with the Armijo condition.
* The backtracking method finds the step length such that it satisfies * The backtracking method finds the step length such that it satisfies
* the sufficient decrease (Armijo) condition, * the sufficient decrease (Armijo) condition,
* f(x + a * d) <= f(x) + lbfgs_parameter_t::ftol * a * g(x) \cdot d, * - f(x + a * d) <= f(x) + lbfgs_parameter_t::ftol * a * g(x)^T d,
*
* where x is the current point, d is the current search direction, and * where x is the current point, d is the current search direction, and
* a is the step length. * a is the step length.
*/ */
LBFGS_LINESEARCH_BACKTRACKING_ARMIJO = 1, LBFGS_LINESEARCH_BACKTRACKING_ARMIJO = 1,
LBFGS_LINESEARCH_BACKTRACKING = 1, /** The backtracking method with the defualt (regular Wolfe) condition. */
LBFGS_LINESEARCH_BACKTRACKING = 2,
/** /**
* Backtracking method with regular Wolfe condition. * Backtracking method with regular Wolfe condition.
* The backtracking method finds the step length such that it satisfies * The backtracking method finds the step length such that it satisfies
* both the Armijo condition (LBFGS_LINESEARCH_BACKTRACKING_ARMIJO) * both the Armijo condition (LBFGS_LINESEARCH_BACKTRACKING_ARMIJO)
* and the curvature condition, * and the curvature condition,
* g(x + a * d) \cdot d >= lbfgs_parameter_t::wolfe * g(x) \cdot d, * - g(x + a * d)^T d >= lbfgs_parameter_t::wolfe * g(x)^T d,
*
* where x is the current point, d is the current search direction, and * where x is the current point, d is the current search direction, and
* a is the step length. * a is the step length.
*/ */
@ -179,7 +182,8 @@ enum {
* The backtracking method finds the step length such that it satisfies * The backtracking method finds the step length such that it satisfies
* both the Armijo condition (LBFGS_LINESEARCH_BACKTRACKING_ARMIJO) * both the Armijo condition (LBFGS_LINESEARCH_BACKTRACKING_ARMIJO)
* and the following condition, * and the following condition,
* |g(x + a * d) \cdot d| <= lbfgs_parameter_t::wolfe * |g(x) \cdot d|, * - |g(x + a * d)^T d| <= lbfgs_parameter_t::wolfe * |g(x)^T d|,
*
* where x is the current point, d is the current search direction, and * where x is the current point, d is the current search direction, and
* a is the step length. * a is the step length.
*/ */
@ -587,21 +591,22 @@ This library is used by:
@section download Download @section download Download
- <a href="http://www.chokkan.org/software/dist/liblbfgs-1.7.tar.gz">Source code</a> - <a href="http://www.chokkan.org/software/dist/liblbfgs-1.8.tar.gz">Source code</a>
libLBFGS is distributed under the term of the libLBFGS is distributed under the term of the
<a href="http://opensource.org/licenses/mit-license.php">MIT license</a>. <a href="http://opensource.org/licenses/mit-license.php">MIT license</a>.
@section changelog History @section changelog History
- Version 1.8 (2009-07-13): - Version 1.8 (2009-07-13):
- The backtracking method now has three criteria for choosing the step - Accepted the patch submitted by Takashi Imamichi;
the backtracking method now has three criteria for choosing the step
length: length:
- ::LBFGS_LINESEARCH_BACKTRACKING_ARMIJO: sufficient decrease condition - ::LBFGS_LINESEARCH_BACKTRACKING_ARMIJO: sufficient decrease (Armijo)
(Armijo condition) condition only
- ::LBFGS_LINESEARCH_BACKTRACKING_WOLFE: regular Wolfe condition - ::LBFGS_LINESEARCH_BACKTRACKING_WOLFE: regular Wolfe condition
(sufficient decrease condition + curvature condition) (sufficient decrease condition + curvature condition)
- ::LBFGS_LINESEARCH_BACKTRACKING_STRONG_WOLFE: strong Wolfe condition - ::LBFGS_LINESEARCH_BACKTRACKING_STRONG_WOLFE: strong Wolfe condition
This is based on the patch submitted by Takashi Imamichi. - Updated the documentation to explain the above three criteria.
- Version 1.7 (2009-02-28): - Version 1.7 (2009-02-28):
- Improved OWL-QN routines for stability. - Improved OWL-QN routines for stability.
- Removed the support of OWL-QN method in MoreThuente algorithm because - Removed the support of OWL-QN method in MoreThuente algorithm because