[SciPy-user] optimize.fmin_l_bfgs_b and 'ABNORMAL_TERMINATION_IN_LNSRCH',

Dominique Orban dominique.orban at gmail.com
Tue Oct 30 12:16:27 EDT 2007


> On 10/29/07, Dominique Orban <dominique.orban at gmail.com> wrote:
> > Is it possible that your numerical gradient be (very) inaccurate ?

On 10/29/07, Ryan Krauss <ryanlists at gmail.com> wrote:
> Yes.

That may be it. LBFGS-B computes a search direction d by first solving
a linear linear system of the form  Bd = -g  where B is some positive
definite matrix and g is the gradient (approximated numerically in
your case). Next, it performs a linesearch along d. For everything to
work well, the angle between d and the exact gradient must be larger
than 90 degrees, but most not come too close to 90 degrees. If it
does, the linesearch may fail to identify an appropriate steplength.
In typical situations, when g is the exact gradient, all is well as
long as B is not too ill conditioned. When g is no longer exact,
everything is possible.

You may want to look into obtaining a more accurate approximation of
your gradient.

I hope this helps,
Dominique



More information about the SciPy-User mailing list