public inbox for gsl-discuss@sourceware.org
 help / color / mirror / Atom feed
* Does anybody know how to use FFT to compute numerical integration?
@ 2007-06-28  3:41 Michael
       [not found] ` <46835E39.8060805@yandex.ru>
  0 siblings, 1 reply; 2+ messages in thread
From: Michael @ 2007-06-28  3:41 UTC (permalink / raw)
  To: help-gsl, gsl-discuss

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!

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Help-gsl] Does anybody know how to use FFT to compute numerical integration?
       [not found]   ` <468362B4.5070604@yandex.ru>
@ 2007-06-28 11:41     ` Michael
  0 siblings, 0 replies; 2+ messages in thread
From: Michael @ 2007-06-28 11:41 UTC (permalink / raw)
  To: Evgeny Kurbatov; +Cc: help-gsl, gsl-discuss

No this is not an option. I don't have FT[f](v) available. Thanks!

On 6/28/07, Evgeny Kurbatov <EvgenyKurbatov@yandex.ru> wrote:
>
> Or you can calculate the expression
>         Integrate( g(t) * FT[F](t), t )
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-06-28 11:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-28  3:41 Does anybody know how to use FFT to compute numerical integration? Michael
     [not found] ` <46835E39.8060805@yandex.ru>
     [not found]   ` <468362B4.5070604@yandex.ru>
2007-06-28 11:41     ` [Help-gsl] " Michael

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).