FFT, Mathematica, Continuous Fourier Transform

Click For Summary
SUMMARY

The discussion centers on using Mathematica to approximate the inverse Fourier transform of a function \(\hat{f}(k)\) using the Fast Fourier Transform (FFT) algorithm. The user, Ant, initially struggled with the built-in function "NInverseFourierTransform" due to rapid oscillations in the function, which rendered "NIntegrate" ineffective. After gathering sample points and ensuring the function has compact support and smoothness, Ant sought guidance on implementing FFT functions in Mathematica to produce a meaningful plot of the inverse Fourier transform.

PREREQUISITES
  • Understanding of Fourier transforms and their properties
  • Familiarity with Mathematica, specifically functions like "NInverseFourierTransform" and "InverseFourier"
  • Basic knowledge of the Fast Fourier Transform (FFT) algorithm
  • Experience with numerical integration techniques in Mathematica
NEXT STEPS
  • Research the implementation of the FFT algorithm in Mathematica
  • Learn how to use "InverseFourier" with discrete data sets in Mathematica
  • Explore techniques for handling rapidly oscillating functions in numerical analysis
  • Study the properties of compactly supported functions in the context of Fourier analysis
USEFUL FOR

This discussion is beneficial for mathematicians, physicists, and engineers who are working with Fourier transforms in Mathematica, particularly those dealing with complex functions and numerical approximations.

Anthony
Messages
83
Reaction score
0
Hi all,

First a warning: my Mathematica skills, and computery-type skills in general, are not very hot. My problem is thus: I have a function which I know:

\hat{f}(k)

I'd like mathematica to approximate the inverse Fourier transform of this function for me and plot the result. I've tried using the built-in function "NInverseFourierTransform", but it fails to produce meaningful results. My function oscillates quite rapidly, so NIntegrate doesn't work too well.

Now I'm aware that I could approximate the inverse Fourier transform using a discrete Fourier transform and the FFT algorithm - but I'm afraid I don't really know how to go about doing it. I can do the following:

  • Get as many sample points of \hat{f}(k) as you want. Call them \{\hat{f}_n\}.
  • I can make \hat{f} rapidly decreasing, so it's pretty much got compact support.
  • My \hat{f} is smooth.
I figure if I've got the above properties, there must be some way of approximating the inverse Fourier transform using the built in FFT functions in mathematica. I've tried using InverseFourier
  • , where list contains the \hat{f}_n, and plotting the real part of it, but the answer is gibberish. I've proved lots of rigorous results regarding the function f, so I know (pretty much) what the plot of the inverse Fourier transform should look like!

    If anyone could help me implement the built in mathematica functions to get a plot of this inverse Fourier transform, I'd be immensely grateful.

    Thanks,
    Ant
 
Physics news on Phys.org
All sorted now - I rolled up my sleeves and got stuck into mathematica.
 
i don't understand how fft algorithm works.
but i have to solve the problem by Mathematica code which i have attached.
can anybody help me to solve this function.
it will be if any explain by a simple function.

thanks,
Happy
 
Last edited:

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K