This is the mail archive of the gsl-discuss@sourceware.org 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]

Does anybody know how to use FFT to compute numerical integration?


The FFT used for numerical integral has the problem of non-adaptive sample
points, which is inefficient.

However I have to use it in my 2D integration problem, for the following
reason:

My 2D integration is:

Integrate( F(v) * FourierTransform[g(t)] (v), v from -infinity to
+infinity ).

------------

g(t)'s evaluation is costly. So I plan to fix the parameter for g(t), and
compute the Fourier Transform of g(t) only once, and store in memroy. And
then in calibration loop, I only vary the parameters for F(v). And each time
for each different set of parameters of F(v), I compute the dot-product of
F(v) sample points and the FT[g(t)] sample points to obtain approximation to
the integral.

My question is: how to improve the accuracy of FFT-based integration? I know
it's inefficient, but is there any remedy at least?

Moreover, is there a better adaptive quadature based "smart" integration
method that can help me deal with the above situation efficiently? I am
thinking of doing a cache for the Fourier Transform of g(t), which is
FT[g(t)](v), since adaptive quadature based integration may sample different
point of FT[g(t)](v) each time... but perhaps the overhead introduced in the
cache may outweigh the smart adaptive integration itself...

Any suggestions? Thanks a lot!


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