Lecture 38: The Discrete Fourier Transform (DFT) and FFT Algorithms
Introduced the discrete Fourier transform (DFT). Talked about its history (Gauss!), properties (unitarity, convolution theorem), aliasing, special case of the type-1 discrete cosine transform (DCT), and applications (Chebyshev and other spectral methods for integration, PDEs, etcetera; signal processing, Schönhage-Strassen algorithm), etc.
A fast Fourier transform (FFT) is an O(N log N) algorithm to compute the discrete Fourier transform. There are many such algorithms, the most famous of which is the Cooley-Tukey algorithm (1965, though there were many precursors dating back to Gauss himself).
- Lecture 38 handout: Fast Fourier Transform Algorithms (PDF)
Lecture 39: FFT Algorithms and FFTW
Continued on fast Fourier transform (FFT). Talked about fast Fourier transform in the west (FFTW). The fast Fourier transform in the west is a software library for computing discrete Fourier transforms (DFTs) developed by Matteo Frigo and Steven G. Johnson at MIT. FFTW is known as the fastest free software implementation of the fast Fourier transform (FFT) (upheld by regular benchmarks). Like many other implementations, it can compute transforms of real and complex-valued arrays of arbitrary size and dimension in O(N log N) time.
- Lecture 39 handout: Fast Fourier Transform and Fast Fourier Transform in the West (PDF - 2.6MB)