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

Dominique Orban dominique.orban@gmail....
Tue Oct 30 11:16:27 CDT 2007


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

On 10/29/07, Ryan Krauss <ryanlists@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