This is the mail archive of the gsl-discuss@sources.redhat.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

multidimensional integration


Hi fellow GSL'ers.

We have a postdoc in our department who is preparing to integrate
something. In his previous position at another place, he used NAG to do
this, and has the requisite code already in place.  He requested that we
buy and install a single copy of NAG just for him and a student to be
able to use this one routine to do this one integral on just one
computer, at a cost of many hundreds of dollars.

I suggested that he look into using the GSL instead, since it is a very
high-quality library to my own direct experience and of course is both
free and universally installed in our department.  GSL and NAG both use
QUADPACK as the basis for their 1D integrals (and have nearly identical
call structure) so I figured that the transition would actually be
painless.

However, the integrand he has to integrate is actually defined and
integrated over somewhere between 5 to 7 dimensions (with rectangular
limits).  The routine he used from NAG was actually d01fcc, which is NOT
from QUADPACK but rather implements the multidimensional adaptive
routine HALF with a custom interval rule.  When I looked at GSL's online
manual (version 1.6 as of this last December) I didn't see a
multidimensional integration routine equivalent to d01fcc.

SO, questions:

 a) Is a multidimensional integration routine equivalent to d01fcc
implemented or under development, and if so, where is it and/or how do I
get a version that has it?  I looked at the CVS tree and didn't
immediately see one.  In principle I could probably use e.g. a
multidimentional ODE solver but I'd think that having a d01fcc
equivalent would be much more efficient.

 b) If not, does anybody have any suggestions on the "best" way to
attack this sort of integral using existing tools?  At five dimensions I
suspect that just calling 1 dim integrations five levels deep would
result in an awful lot of wasted energy and time.  Framing it as an ODE
set also seems like it would work but likely not be terribly efficient
or terribly easy to control error-wise.

 c) On a related note, has anybody done a head-to-head performance
comparison of GSL with NAG -- either time/efficiency performance or
numerical accuracy type performance?  This isn't a significant issue on
this particular project but is an issue that I expect to see come up in
the future.

rgb

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]