[SciPy-User] (no subject)

L. Barrott lb489 at cam.ac.uk
Wed Apr 11 09:23:29 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

Sorry for being slow about responding, that works now. Many thanks.

LB



More information about the SciPy-User mailing list