title: Set convergence tolerance for scipy.optimize.minimize(method='L-BFGS-B')
body: <p>This page (<a href="http://docs.scipy.org/doc/scipy/reference/optimize.minimize-lbfgsb.html" rel="noreferrer">http://docs.scipy.org/doc/scipy/reference/optimize.minimize-lbfgsb.html</a>) describes the solver options one can pass to the L-BFGS-B' method of scipy's optimization package. 
  I am trying to set the solver exit tolerance.</p>
  
  <p>The docs mention two options, the one I would have preffered to use is 'factr', where the solver exits when:
  <code>(f^k - f^{k+1})/max{|f^k|,|f^{k+1}|,1} &lt;= factr * eps</code> (where epsilon is machine precision). However when I run my code is get a warning: </p>
  
  <blockquote>
    <p>OptimizeWarning: Unknown solver options: factr</p>
  </blockquote>
  
  <p>So I presumed this option has been deprecated in favour of ftol (not sure why it would be though?). ftol being a specified number (i.e. diff &lt;= n rather than &lt;= n * machine_error).</p>
  
  <p>That's fine by me, however the exit message I get for the solver is </p>
  
  <blockquote>
    <p>CONVERGENCE: REL_REDUCTION_OF_F_&lt;=_FACTR*EPSMCH</p>
  </blockquote>
  
  <p>which suggests the L-BFGS-B routine is still using some value of factr which I do not know, and seemingly can't specify. Might be an overlooked mistake in the code, might be I've missed some way of passing options. Does anyone who uses this popular solver know a workaround?</p>
  
  <p>Thanks</p>
  
  <p>I've opened an issue on scipy github repository as well.</p>