[SciPy-User] Optimize fmin_cg issue

The Helmbolds helmrp@yahoo....
Sun Jul 29 16:22:49 CDT 2012


There appears to be something NQR (not quite right) with the SciPy optimize fmin_cg routine's handling of certain input values. Consider the following. Yes, I know the inputs are odd and far from the true optimal values, but I was experimenting to see what would happen with steep-sloped objective function. In the following, I use a scale factor to multiply the value of the objective function. 
 
As you will see, the output flags an error in "double_scalars". I dunno what they are, but assume it's a C-code item. Also, <Items in angle brackets like this are my annotations.>
 
  Enter guessed initial value of x, x0 = 10
  Enter guessed initial value of y, y0 = 15
  Use scale value, scale = 10
                        <End of user inputs . Run description next.>
   With f(z) = 10 * optimize.rosen(z) and fprime(z) = 10 * optimize.rosen_der(z),
      use SciPy's 'fmin_cg' Polak-Ribiere method to seek the minimum value of f:
   Use start value, z0 = [10 15]:
      At start, f(z0) = 7225810.0
      At start, fprime(z0) = [3400180 -170000])
      At start, Inf-norm of fprime(z0) = 3400180
   Use the call:
      res = sp.optimize.fmin_cg(f, z0, fprime, gtol=1e-05, norm=sp.Inf)
                      <End of run description. Output results next.>
Warning (from warnings module):
  File "C:\Python27\lib\site-packages\scipy\optimize\linesearch.py", line 432
    B = (fb-D-C*db)/(db*db)
RuntimeWarning: overflow encountered in double_scalars
Warning (from warnings module):
  File "C:\Python27\lib\site-packages\scipy\optimize\linesearch.py", line 412
    A /= denom
RuntimeWarning: divide by zero encountered in double_scalars
Warning (from warnings module):
  File "C:\Python27\lib\site-packages\scipy\optimize\linesearch.py", line 413
    B /= denom
RuntimeWarning: divide by zero encountered in double_scalars
Warning (from warnings module):
  File "C:\Python27\lib\site-packages\scipy\optimize\linesearch.py", line 414
    radical = B*B-3*A*C
RuntimeWarning: invalid value encountered in double_scalars
Optimization terminated successfully.                                                  <Eh!? What!? >
         Current function value: nan
         Iterations: 7
         Function evaluations: 109
         Gradient evaluations: 42
   fmin_cg returned res = [ nan  nan]
   At end, zopt = [ nan  nan]
   At end, f(zopt) = nan
   At end, fprime(zopt) = [ nan  nan]
   At end, Inf-norm of fprime(zopt) = nan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/scipy-user/attachments/20120729/03f0b581/attachment.html 


More information about the SciPy-User mailing list