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 with the following property. For let be its discrete Fourier transform, For every integer some algorithm computes from any and precomputed roots of unity. It uses at most complex additions and multiplications. An algorithm of this kind is called a fast Fourier transform (FFT).
Remarks
For the radix-2 Cooley–Tukey algorithm gives the bound: it uses complex multiplications and complex additions. For general , Bluestein's algorithm rewrites the transform as a cyclic convolution of a power-of-two length , computed by three radix-2 FFTs plus operations. Evaluating the defining sums directly needs about multiplications, so the gain is a factor of order . The inverse transform has the same form with and a factor , 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 times the unit roundoff, against about times for direct evaluation. Whether 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 , which factors into sparse matrices. Combined with the cyclic convolution property of the DFT, the FFT computes convolutions and polynomial products of length in 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
- no evidence level
- Big O notation concept
- Convolution concept
- Discrete Fourier transform concept
- Divisibility definition
- Primitive root modulo n concept
- Primitive root of unity concept
- Cooley–Tukey FFT algorithm statement
- Congruence modulo n definition
- Greatest common divisor definition
- Bluestein's FFT algorithm statement
- Rader's FFT algorithm statement
- Coprime integers definition
- Chinese remainder theorem statement
- Prime-factor FFT algorithm statement
- Fast Fourier transform statement
Where this leads
1 page builds on this one.
Further reading
About this page
| Tag | S966EZX3ZT |
|---|---|
| URI | m2://S966EZX3ZT |
| Kind | statement, theorem |
| Writing | W0 stub |
| MSC | 65T50, 65Y20 |
| Status | This copy of the site has no build data. Run m2 status S966EZX3ZT. |
| About | Discrete Fourier transform |
| Uses | Discrete 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.