Translating Maxima functions.



Everything is installed from Debian repositories. Maxima version installed
is 5.24, as this is the "official" latest release yet. SBCL is also
installed from the original Debian package, and it it version 1.0.51.

2011/10/17 Michel Talon <talon at lpthe.jussieu.fr>

> Panagiotis Papasotiriou wrote:
> > All necessary stuff can be found in
> > https://sites.google.com/site/pjpapasot/maxima/temporary
> >
> > The code in question is the function "rkf45" and its translated version,
> > "rkf45_translated". These are basically the same. The only difference is
> > that in rkf45_translated the first argument is passed as a function
> created
> > by the user in main program, while in the non-translated code, rkf45, the
> > function is created dynamically. I needed to change this in order to be
> able
> > to translate the code (discussion about this a previous thread.)
> >
> > To test the codes, run the "driver" program Test.mac, which solves a
> stiff
> > problem (so that it takes more time than usual and the difference in time
> > execution is more pronounced.) In my system (Quad Core processor @ 4 x 3
> > GHz, 4Mb RAM, running Debian GNU/LInux, 64 bit version), solving the
> problem
> > using non-translated code rkf45 takes about 31 seconds, while translated
> > code needs about 32.5 seconds.
>
> I continue to think there is something strange on your machine. On my
> laptop
> here (Mac Air) the program runs faster (and the translated code is faster):
>
> lilas% \maxima
> Maxima 5.25.1 http://maxima.sourceforge.net
> using Lisp SBCL 1.0.47
> ??
>
>                         2    3
> (%i7) sol_stiff : rkf45(y  - y , y, d, [x, x_start, x_end],
>                                         max_iterations = 40000, report =
> true)
> ------------------------------------------------------
> Info: rkf45:
>   Integration points selected: 30209
>    Total number of iterations: 35145
>           Bad steps corrected: 4937
>       Minimum estimated error: 1.965404499142395e-19
>       Maximum estimated error: 9.99978753725041e-7
> Minimum integration step taken: 0.344084594619511
> Maximum integration step taken: 51200.0
> ------------------------------------------------------
> Evaluation took 17.9590 seconds (18.1830 elapsed) using 4426.317 MB.
>                                            2    3
> (%i8)                        odes(x, y) := y  - y
> Evaluation took 0.0000 seconds (0.0000 elapsed) using 0 bytes.
> (%i9)                           translate(odes)
> Evaluation took 0.0060 seconds (0.0070 elapsed) using 260.758 KB.
> (%i10) sol_stiff : rkf45_translated(odes, y, d, [x, x_start, x_end],
>                                         max_iterations = 40000, report =
> true)
> ------------------------------------------------------
> Info: rkf45:
>   Integration points selected: 30211
>    Total number of iterations: 35149
>           Bad steps corrected: 4939
>       Minimum estimated error: 1.965404499142395e-19
>       Maximum estimated error: 9.998794583131294e-7
> Minimum integration step taken: .3440845946200041
> Maximum integration step taken: 51200.0
> ------------------------------------------------------
> Evaluation took 15.5930 seconds (15.7270 elapsed) using 4607.490 MB.
> (%i11)                         showtime : false
> (%o11)                 /Users/michel/Downloads/Test.mac
>
>
>
> --
> Michel Talon
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>