# Does Mathematica implement the fast Fourier transform?

Is there a fast Fourier transform in Mathematica? Although looking in the help I could not find one.

I am looking to implement the equivalent of fft in MATLAB.

• There is definitely something different going on with Fourier[] than the fft function in Matlab. If you take the fft(eye(n)) in Matlab you get the FourierMatrix of n. In Mathematica you do not. FourierMatrix[n] does exist, but the method of obtaining it via Fourier[IdentityMatrix[n]] does not work in Mathematica, so the fft and Fourier functions are different somehow. – David Apr 14 '18 at 22:30

Fourier[list] computes the discrete Fourier transform of list. I assume it uses the FFT when it can.
• Note that the normalization used by Mathematica is quite different from conventional (e.g. physics, signal processing) normalizations. Check the definition you are using, and set the option FourierParameters accordingly. – J. M.'s technical difficulties Feb 2 '12 at 14:15
• fftshift[vec_?VectorQ] := RotateRight[vec, Quotient[Length[vec], 2]] – J. M.'s technical difficulties Feb 2 '12 at 14:39
• For reference: MATLAB's fft(stuff) is equivalent to Mathematica's Fourier[stuff, FourierParameters -> {1, -1}]. To do fft(y)/sqrt(length(y)), one doesn't need to do an explicit division, as the adjustment of FourierParameters is all that's needed: Fourier[y, FourierParameters -> {0, -1}]. – J. M.'s technical difficulties Feb 2 '12 at 15:00
• @A.Vieira, under the fifth and sixth bullets of "Details and Options" for Fourier[] and fourth and fifth bullets of "Details and Options" for FourierTransform[], are explanations on how the FourierParameters option affects them. There should be similar notations in the other Fourier-related functions of Mathematica that take the FourierParameters setting. – J. M.'s technical difficulties Sep 8 '17 at 14:29
Fourier uses FFT when possible