[SciPy-Dev] New Tutorial on Optimize Help

Christina Lee chrissie.c.l at gmail.com
Mon Sep 30 19:42:22 EDT 2019


Hi,

I'm a SciPy technical writer and am currently rewriting the scipy.optimize
tutorial, focusing on `minimize` right now.  While I've gotten a grasp of
the "how", I still want to explain "why". Why choose one option over
another? I could use information from those with more experience.

A lot of methods are available.   Most problems can have BFGS thrown at
them, but I want to explain something for those other cases.  Other
situations could have features, like constraints or non-differentiability,
that lend themselves to a specific method. But the module still has a lot
of alternatives.  Are they there for academic purposes?  Are they the best
for some problems? How could someone find that out?

For derivatives, users can choose to provide a function or three different
types of finite-difference schemes.

When is providing a function better than finite-difference derivatives?
For Hessians, approximations are sometimes more efficient.  How can we know
in advance if that's true? Is that ever true for gradients?

How do we choose which finite-difference scheme? `3-point` and `cs` (if it
is the symmetric approximation I think) have higher-order accuracy, but
`cs` uses a point not yet computed.  Is `3-point` ever not the way to go?

Thanks for your expertise,
Christina
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20190930/e0512c44/attachment.html>


More information about the SciPy-Dev mailing list