title: Python scipy.optimize: Using fsolve with multiple first guesses
body: <p>Scipy version 0.10.0</p>
  
  <p>Consider the following:</p>
  
  <pre><code>&gt;&gt;&gt; import math
  &gt;&gt;&gt; from scipy.optimize import fsolve
  &gt;&gt;&gt; import numpy as np
  &gt;&gt;&gt; def p(s, l, k, q):
      p = q * np.maximum(s - k, 0.0)
      return (p + math.copysign(l, -q)) * math.fabs(q) * 100.0
  
  &gt;&gt;&gt; x0 = fsolve(p, np.arange(33.86, 50.86, 1.0), args=(1.42, 41.0, -1.0), xtol=1e-06, maxfev=500)
  Warning (from warnings module):
    File "C:\Python27\lib\site-packages\scipy\optimize\minpack.py", line 152
      warnings.warn(msg, RuntimeWarning)
  RuntimeWarning: The iteration is not making good progress, as measured by the 
     improvement from the last ten iterations.
  &gt;&gt;&gt; print x0
  [ -4.87169392e+05  -4.87168392e+05  -4.87167392e+05  -4.87166392e+05
    -4.87165392e+05  -4.87164392e+05  -4.87163392e+05  -4.87162392e+05
     4.24200000e+01   4.24200000e+01   4.24200000e+01   4.24200000e+01
     4.24200000e+01   4.24200000e+01   4.24200000e+01   4.24200000e+01
     4.24200000e+01]
  </code></pre>
  
  <p>First question is how one might suppress the warning message that's being returned?</p>
  
  <p>Second, why might this error be generated in the first place (other than the obvious, that the iteration is not making good progress :) )?</p>
  
  <p>Finally, the root of this function is 42.42 (which is found). Why is <code>fzero</code> returning <code>-4.87e+05</code> as well?</p>