[Numpy-discussion] A discrepancy between NumPy documentation and recomendations for beginers

iason kirzhanov@gmail....
Sun Dec 13 10:00:51 CST 2009


Here

  http://www.scipy.org/NumPy_for_Matlab_Users

a recommendation to use scipy.integrate.ode(...) with parameters
"method='bdf', order=15" instead of the ode15s function (from Matlab) is
given. But from the documentation for the scipy.integrate.ode(...) one can
find out that the accuracy order ("order") of the BDF method
("method='bdf'") is no greater than 5. What is the correct value of the
highest order of the BDF method?

I think the answer for this question is necessary for practical use of
scipy.integrate.ode(...).

I tried to migrate my numerical research from Matlab to NumPy and first
tried scipy.integrate.ode(...) function because it supports single step
calculation. I used the default parameters listed in this guide

  http://www.scipy.org/NumPy_for_Matlab_Users

and found the calculation process extremely slow. It was unusable because it
selected too small integration step and I could complete only few percents
of my numerical task (a stiff ODE integration) in an admissible time (tens
of minutes). Than I switched my program to use the simpler
scipy.integrate.odeint instead. The scipy.integrate.odeint function gave me
an excellent solution in several seconds. But it does not support single
step integrations and thus is not a good replacement for the ode15s function
(Matlab).

What is the difference between scipy.integrate.ode and
scipy.integrate.odeint? How to select correct parameters for the
scipy.integrate.ode function? After all it seems to me that there might be a
bug in scipy.integrate.ode function implementation...
-- 
View this message in context: http://old.nabble.com/A-discrepancy-between-NumPy-documentation-and-recomendations-for-beginers-tp26765626p26765626.html
Sent from the Numpy-discussion mailing list archive at Nabble.com.



More information about the NumPy-Discussion mailing list