[SciPy-Dev] Possibly bug in fmin_ncg

Nils Wagner nwagner at iam.uni-stuttgart.de
Tue Apr 12 03:32:57 EDT 2011


Hi all,


fmin_cg works fine

x_opt, f_opt, func_calls, grad_calls, warnflag, allvecs = 
fmin_cg(func, x0, fprime=fprime, args=(), 
gtol=1.0000000000000001e-05, norm=inf,
         epsilon=1.4901161193847656e-08, maxiter=None, 
full_output=1, disp=1, retall=1, callback=None)


while fmin_ncg fails with

x_opt, f_opt, fcalls, gcalls,hcalls,warnflag 
=fmin_ncg(func, x0, fprime=fprime, fhess_p=None, 
fhess=None, args=(), avextol=1.0000000000000001e-05,
          epsilon=1.4901161193847656e-08, maxiter=None, 
full_output=1, disp=1, retall=1, callback=None)

   File 
"/data/home/nwagner/local/lib/python2.5/site-packages/scipy/optimize/optimize.py", 
line 811, in fmin_ncg
     maggrad = numpy.add.reduce(abs(b))
TypeError: cannot reduce on a scalar

Is it possible to replace numpy.add.reduce by numpy.sum ?

>>> numpy.add.reduce(abs(numpy.array(([1.,2.]))))
3.0
>>> numpy.sum(abs(numpy.array(([1.,2.]))))
3.0
>>> numpy.add.reduce(abs(1.))
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
TypeError: cannot reduce on a scalar
>>> numpy.sum(abs(1.))
1.0

Nils



More information about the SciPy-Dev mailing list