Numerical analysis Fourier and transform methods Theorem
Cooley–Tukey FFT algorithm
Builds on Discrete Fourier transformPrimitive root of unityBig O notation
Statement
For an integer let , a primitive -th root of unity. Let with integers , let , and let be its discrete Fourier transform, . Then for all and , Thus a DFT of length is obtained in three stages. First come DFTs of length , then multiplications by the twiddle factors , then DFTs of length . In particular, if , applying this with (or ) recursively computes with arithmetic operations.
Remarks
The proof is one line: write and and expand . The factor equals , while and . For the radix-2 form reads and for , where and are the DFTs of length of the even-indexed and odd-indexed entries. The cost then satisfies , so . Direct evaluation of the defining sums costs about multiplications; for the ratio is about . The splitting is useless when is prime, since then one factor is .
Going deeper
For a student
This is the most common fast Fourier transform. The index maps and turn a one-dimensional transform into a two-dimensional one, up to the twiddle factors. Radix-2, radix-4, split-radix and mixed-radix versions differ only in how is factored at each step. When and are coprime, the prime-factor algorithm uses other index maps and avoids the twiddle factors. Prime lengths need a different reduction, such as Rader's or Bluestein's algorithm.
Reading path
To understand this page from the ground up, read these 4 pages in order. The foundations come first.
Show the path as a graph
- no evidence level
- Big O notation concept
- Discrete Fourier transform concept
- Primitive root of unity concept
- Cooley–Tukey FFT algorithm statement
Where this leads
5 pages build on this one.
Further reading
About this page
| Tag | 9N8D9E5TB2 |
|---|---|
| URI | m2://9N8D9E5TB2 |
| Kind | statement, theorem |
| Writing | W0 stub |
| MSC | 65T50, 65Y20 |
| Status | This copy of the site has no build data. Run m2 status 9N8D9E5TB2. |
| About | Discrete Fourier transform |
| Uses | Discrete Fourier transform, Primitive root of unity, Big O notation |
| Same as |
Markdown · JSON · Edit on GitHub
What this page needs for W1
- an inventory row: the row of the inventory that the node accounts for (0 of 1)
- 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.