On 9/6/11 12:46 AM, David Ketcheson wrote:
I may have been too harsh in using the term 'disaster'.  I am
certainly glad that scipy exists, but I use it with extreme caution.

First, it is quite disorganized.  Say you want to solve an ODE.
First, you have to know to import scipy.integrate (importing scipy
doesn't give you scipy.integrate, for some reason, and why would you
guess that solving ODEs fits under the 'integrate' package anyway?).
Next, you then find all of the following:

scipy.integrate.ode
scipy.integrate.odeint
scipy.integrate.odepack.odeint
scipy.integrate.vode

(not to mention scipy.integrate._odepack and scipy.integrate._dop)

Next, the documentation is out of sync.  After you (somehow) decide
which to use, you read the documentation but later discover that it is
wrong (doesn't correctly list the arguments that a function takes) in
some places.  Finally, there are bugs.  You find an ODE solver for
stiff problems and apply it but discover (as my numerical analysis
students did last spring) that it doesn't work properly for stiff
systems, as the time to solve scales linearly with the problem
stiffness, even when the accuracy tolerances are extremely loose.  I
should add that I did eventually find a stiff solver among these
packages that worked properly.  But it was enough of a headache that
now I just use my own code instead.

I find that much of scipy has problems like this.


Coincidentally, there is a current thread on scipy-dev to improve the optimization routine interfaces and docs to take care of issues like this [1]. My guess is that a similar discussion about the integrate package might also solicit help in improving the interface, if you or someone had time to work on it. Also, I bet that there is some sort of funding that could be applied for to work on this sort of thing as well.

Thanks,

Jason

[1] See http://thread.gmane.org/gmane.comp.python.scientific.user/27823

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to