Now OW-LQN method is available only with backtracking linesearch methods.

git-svn-id: file:///home/svnrepos/software/liblbfgs/trunk@46 ecf4c44f-38d1-4fa4-9757-a0b4dd0349fc
This commit is contained in:
naoaki 2009-02-16 13:41:27 +00:00
parent 1b33e075df
commit 25e895b4e5

View File

@ -357,6 +357,18 @@ int lbfgs(
if (n < param.orthantwise_end) {
return LBFGSERR_INVALID_ORTHANTWISE_END;
}
if (param.orthantwise_c != 0.) {
switch (param.linesearch) {
case LBFGS_LINESEARCH_MORETHUENTE:
return LBFGSERR_INVALID_LINESEARCH;
case LBFGS_LINESEARCH_BACKTRACKING:
case LBFGS_LINESEARCH_BACKTRACKING_STRONG:
linesearch = line_search_backtracking_owlqn;
break;
default:
return LBFGSERR_INVALID_LINESEARCH;
}
} else {
switch (param.linesearch) {
case LBFGS_LINESEARCH_MORETHUENTE:
linesearch = line_search_morethuente;
@ -368,7 +380,7 @@ int lbfgs(
default:
return LBFGSERR_INVALID_LINESEARCH;
}
linesearch = line_search_backtracking_owlqn;
}
/* Allocate working space. */
xp = (lbfgsfloatval_t*)vecalloc(n * sizeof(lbfgsfloatval_t));