On 20 dub, 09:39, jvkersch <joris.vankerscha...@gmail.com> wrote:
> Thanks Robert, this seems to be the problem.  I wish I were a lisp
> programmer so that I could dive into Maxima and put in a call to
> coerce-float-fun myself, but while I'm eager to tinker with this, I'm
> not sure I can be succesful in a reasonable amount of time.
>
> In the meantime, I will write my own little RK4 routine in python --
> while browsing the mailing list yesterday I read about "fast_float",
> so I have good hopes that the result will be fast.  Sage is so
> powerful!
>

You may also try Octave or ode_solve. (run ode_solve? command to see
the help)

Robert

> Thanks a lot for your time,
> Joris Vankerschaver
>
> On 19 apr, 20:52, Robert Dodier <robert.dod...@gmail.com> wrote:
>
>
>
> > Looks like the rk function in Maxima doesn't try hard enough to
> > float-ify its argument. I haven't looked at the code, but
> > maybe rk can call COERCE-FLOAT-FUN to construct a
> > function to evaluate the expression. At least that would
> > bring it into line with other Maxima functions which
> > evaluate expressions to numbers (e.g. plotting, quadpack).
>
> > Follow-ups to the Maxima mailing list. I've appended
> > the original message below.
>
> > best
>
> > Robert Dodier
>
> > PS.
>
> > On Apr 19, 8:38 am, jvkersch <joris.vankerscha...@gmail.com> wrote:
>
> > > Technically, this is not a Sage problem, but I figured I would post it
> > > here anyway since others might have run into the same problem, and I'm
> > > also trying to solve the problem using some Sage/python trickery.
>
> > > The problem concerns the use of symbolic constants such as pi in
> > > numerical integration with desolve_rk4.  The following code is adapted
> > > from the manual page for desolve_rk4 -- note especially the constant
> > > pi in the specification of the ODE:
>
> > >   x, y = var('x y')
> > >   desolve_rk4(x*y*(2-y) + pi, y, ics=[0, 1], end_points=1, step=0.5)
>
> > > and raises the following error:
>
> > >   TypeError: Error executing code in Maxima
> > >   CODE:
> > >         sage1 : rk(%pi-x*(y-2)*y,y,1,[x,0,1,0.500000000000000])        $
> > >   Maxima ERROR: Inconsistent set of equations and variables
>
> > > This same error occurs whenever you have an ODE with pi in it, no
> > > matter how simple. The error persists when directly running this
> > > command in Maxima, but works fine (both in Sage and Maxima) when
> > > manually replacing pi by 3.14...   Since I don't know any Maxima, I
> > > have no idea of what the problem could be or where to look.
>
> > > So, I was wondering if there is a way to have Sage replace the %pi
> > > when invoking Maxima by the corresponding numerical value?  I guess I
> > > could store my ODE in a string and use a regular expression to get rid
> > > of any pi's myself, but that seems very inelegant.  Is there anything
> > > you would recommend?
>
> > > Thanks a lot,
> > > Joris
>
> > --
> > To post to this group, send email to sage-support@googlegroups.com
> > To unsubscribe from this group, send email to 
> > sage-support+unsubscr...@googlegroups.com
> > For more options, visit this group 
> > athttp://groups.google.com/group/sage-support
> > URL:http://www.sagemath.org
>
> --
> To post to this group, send email to sage-support@googlegroups.com
> To unsubscribe from this group, send email to 
> sage-support+unsubscr...@googlegroups.com
> For more options, visit this group 
> athttp://groups.google.com/group/sage-support
> URL:http://www.sagemath.org

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

Reply via email to