Wishlist
Alexander Frink
frink at thep.physik.uni-mainz.de
Fri Jun 29 17:21:38 CEST 2001
On Fri, 29 Jun 2001, Richard B. Kreckel wrote:
> > Suppose I use symbolic manipulations to arrive at a formula like
> >
> > ex f = sin(x) + tgamma(1+x) + pow(x,5) + more complicated stuff
> >
> > and I would like to do a Monte Carlo integration
> >
> > int( f , x=0..1)
> >
> > and I would like to get an accuracy of 2 or 3 digits in a reasonable
> > amount of time.
I tried something similar in Maple about 3 years ago (for insiders:
Dirk's integral representation for 2loop 2point functions),
a 2fold Monte Carlo integration on a not-too-complex function
(logs of rational arguments times a rational function).
I rewrote Vegas in Maple and used its evalhf() function which
evaluates expressions with the floating point hardware in
double precision (because - again for insiders - xloops
automatically emitted the function as a C program, compiled
it, linked it with Vegas, spawned an external process and
read the results from a file).
I thought it would be faster to stay inside Maple, at least for
some "preview mode".
However Maple turned out to be unusably slow, IIRC a factor 500.
I expect similar results for a GiNaC in double-precision mode.
> Alternatively emit the file, automatically add the necessary boilerplate,
> compile it and link it back in using dlopen(3). On systems that support
> dlopen, such as Linux, with a little effort the whole procedure can be
> entirely autmated, as far as I can see.
I think it is worth writing a prototype for this and include
it in the distribution (or at least documentation) if it is generic
enough. cint can use a similar trick (#pragma compile).
Alex
--
Alexander Frink E-Mail: Alexander.Frink at Uni-Mainz.DE
Institut fuer Physik Phone: +49-6131-3923391
Johannes-Gutenberg-Universitaet
D-55099 Mainz, Germany
More information about the GiNaC-devel
mailing list