title: Precision of scipy.optimize.minimize
body: <p>I am trying to calculate the minimal point of function </p>
  
  <p><code>f(x)=(x-2e-17)*(x-2e-17)</code> </p>
  
  <p>with <code>scipy.optimize.minimize</code>. 
  The expected, <em>precise</em> result is <code>2e-17</code>. But no matter how I fine tune the tolerence parameters <code>xtol</code> and <code>ftol</code> of <code>scipy.optimize.minimize</code>, it still only gives the <em>imprecise</em> result <code>0</code> (see below) .  How can we let <code>scipy</code> return the  <em>precise</em> answer? Thanks. </p>
  
  <pre><code>In [35]: scipy.optimize.minimize(lambda x: (x-2e-17)**2,2,method='Powell',options={'xtol': 1e-30, 'ftol': 1e-30})
  Out[35]:
    status: 0
   success: True
     direc: array([[ 1.]])
      nfev: 20
       fun: array(4.0000000000000006e-34)
         x: array(0.0)
   message: 'Optimization terminated successfully.'
       nit: 2
  </code></pre>