Math 2.0

Numerical analysis Fourier and transform methods Theorem

Fast Fourier transform

Builds on Discrete Fourier transformBig O notationCooley–Tukey FFT algorithmBluestein's FFT algorithmPrime-factor FFT algorithmRader's FFT algorithm

Statement

There is a constant CC with the following property. For x∈ℂNx \in \C^N let XX be its discrete Fourier transform, Xk=∑n=0N−1xne−2πink/N,0≤k<N.X_k = \sum_{n=0}^{N-1} x_n e^{-2\pi i nk/N}, \qquad 0 \le k < N. For every integer N≥2N \ge 2 some algorithm computes XX from any x∈ℂNx \in \C^N and precomputed roots of unity. It uses at most CNlog⁡2NC N \log_2 N complex additions and multiplications. An algorithm of this kind is called a fast Fourier transform (FFT).

Remarks

For N=2mN = 2^m the radix-2 Cooley–Tukey algorithm gives the bound: it uses N2log⁡2N\frac{N}{2} \log_2 N complex multiplications and Nlog⁡2NN \log_2 N complex additions. For general NN, Bluestein's algorithm rewrites the transform as a cyclic convolution of a power-of-two length M<4NM < 4N, computed by three radix-2 FFTs plus O(N)O(N) operations. Evaluating the NN defining sums directly needs about N2N^2 multiplications, so the gain is a factor of order N/log⁡NN / \log N. The inverse transform has the same form with e+2πink/Ne^{+2\pi i nk/N} and a factor 1/N1/N, so it is also computed by an FFT. The bound counts arithmetic operations. In floating-point arithmetic the FFT is also accurate: its normwise error bound grows like log⁡2N\log_2 N times the unit roundoff, against about NN times for direct evaluation. Whether Θ(Nlog⁡N)\Theta(N \log N) operations are necessary is not known in general; lower bounds are known only for restricted models of computation.

Going deeper

For a student

"FFT" names a family of algorithms rather than one method: Cooley–Tukey for composite lengths, the prime-factor algorithm for coprime factors, and Rader's or Bluestein's algorithm for prime lengths. All exploit the structure of the DFT matrix (ωnk)(\omega^{nk}), which factors into O(log⁡N)O(\log N) sparse matrices. Combined with the cyclic convolution property of the DFT, the FFT computes convolutions and polynomial products of length NN in O(Nlog⁡N)O(N \log N) operations. Spectral methods for differential equations and fast polynomial interpolation at roots of unity rest on this.

Reading path

To understand this page from the ground up, read these 15 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Big O notation concept
  2. Convolution concept
  3. Discrete Fourier transform concept
  4. Divisibility definition
  5. Primitive root modulo n concept
  6. Primitive root of unity concept
  7. Cooley–Tukey FFT algorithm statement
  8. Congruence modulo n definition
  9. Greatest common divisor definition
  10. Bluestein's FFT algorithm statement
  11. Rader's FFT algorithm statement
  12. Coprime integers definition
  13. Chinese remainder theorem statement
  14. Prime-factor FFT algorithm statement
  15. Fast Fourier transform statement

Where this leads

1 page builds on this one.

Further reading

  1. Web https://en.wikipedia.org/wiki/Fast_Fourier_transform
About this page
TagS966EZX3ZT
URIm2://S966EZX3ZT
Kindstatement, theorem
WritingW0 stub
MSC65T50, 65Y20
StatusThis copy of the site has no build data. Run m2 status S966EZX3ZT.
AboutDiscrete Fourier transform
UsesDiscrete Fourier transform, Big O notation, Cooley–Tukey FFT algorithm, Bluestein's FFT algorithm, Prime-factor FFT algorithm, Rader's FFT algorithm
Same as

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

Used by