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!
