[SciPy-User] Problems with dopri45

Warren Weckesser warren.weckesser at enthought.com
Tue Apr 3 12:42:26 EDT 2012


On Tue, Apr 3, 2012 at 11:29 AM, L. Barrott <lb489 at cam.ac.uk> wrote:

> >On Tue, Apr 3, 2012 at 5:54 AM, L. Barrott <lb489 at cam.ac.uk> wrote:
> >
> >> Hello,
> >>
> >> I have been trying to get scipy to solve a set of coupled odes and in
> >> particular I want to use the dopri 45 method as I want to compare the
> >> results to the ode45 method in MATLAB. The code runs along the lines of:
> >>
> >> def func (t, Y, params):
> >>    ...
> >>    return (Ydot)
> >>
> >> with Y a vector. The other ode methods (except dop853 of course) solve
> >> this fine but even if I use the example code on the documentation page
> >> the dopri method returns the following error
> >>
> >> create_cb_arglist: Failed to build argument list (siz) with enough
> >> arguments (tot-opt) required by user-supplied function
> >> (siz,tot,opt=2,3,0). ...(traceback stuff) _dop.error: failed in
> >> processing argument list for call-back fcn.
> >>
> >> Any ideas where I am going wrong?
> >>
> >> Many thanks
> >> LB
> >>
> >
> >
> >It would help to see more of your code.  Could you include a complete,
> >self-contained script that demonstrates the error?
> >
> >Warren
>
> Even something as simple as;
>
> from scipy.integrate import ode
> y0, t0 = [0, 1], 0
> def func (t, y, x):
>    return [x, y[0]]
> r = ode(func).set_integrator ('dopri5')
> r.set_initial_value(y0, t0).set_f_params(1)
> t1 = 10
> dt = 0.1
> while r.successful() and r.t < t1:
>    r.integrate(r.t+dt)
>
> Will fail and this is lifted straight from the documentation as far as I
> can see. The full error message is
>
> create_cb_arglist: Failed to build argument list (siz) with enough
> arguments (tot-opt) required by user-supplied function (siz,tot,opt=2,3,0).
> Traceback (most recent call last):
>  File "<stdin>", line 2, in <module>
>  File "/usr/lib/python2.7/dist-packages/scipy/integrate/ode.py", line 326,
> in integrate
>    self.f_params,self.jac_params)
>  File "/usr/lib/python2.7/dist-packages/scipy/integrate/ode.py", line 745,
> in run
>    x,y,iwork,idid = self.runner(*((f,t0,y0,t1) + tuple(self.call_args)))
> _dop.error: failed in processing argument list for call-back fcn.
>
> LB
>


I suspect you are using version 0.9 (or earlier) of scipy.  This looks like
a bug that was fixed in 0.10:

    http://projects.scipy.org/scipy/ticket/1392


Warren
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20120403/b27b68ad/attachment.html>


More information about the SciPy-User mailing list