[SciPy-User] fmin_bfgs failing on simple problem
Tue Apr 17 13:14:31 CDT 2012
Well that's good news. I have scipy .9.0b1, what version do you have?
On Tue, Apr 17, 2012 at 11:13 AM, Nathaniel Smith <firstname.lastname@example.org> wrote:
> On Tue, Apr 17, 2012 at 6:35 PM, John Salvatier
> <email@example.com> wrote:
> > Hi all!
> > I am having a problem with the fmin_bfgs solver that's surprising to me.
> > Here's the toy problem I've set up:
> > from scipy.optimize import fmin_bfgs, fmin_ncg
> > from numpy import *
> > import numpy as np
> > def f(x ):
> > if x < 0:
> > return 1.79769313e+308
> > else :
> > return x + 1./x
> > xs = fmin_bfgs(f, array( [10.]), retall = True)
> > The solver returns [nan] as the solution.
> > The problem is designed to be stiff: between 0 and 1, it slopes upward to
> > infinity but between 1 and infinity, it slopes up at a slope of 1. Left
> of 0
> > the function has a "nearly infinite" value. If bfgs encounters a value
> > that's larger than the current value, it should try a different step
> > no? Why does fmin_bfgs fail in this way?
> I can't reproduce this (on my computer it converges to 0.99999992),
> but have you tried making that < into a <=? The divide-by-zero at f(0)
> might be making it freak out.
> -- Nathaniel
> SciPy-User mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SciPy-User