Bluestein's algorithm 算法可以在\(O (n \log n) \)的時間內完成任意長度的 DFT
考慮DFT,有:
\(\begin{align*} y_k &= \sum_{i = 0}^{n - 1} a_i \omega_n^{ki}\\ &= \sum_{i = 0}^{n - 1} a_i \omega_{2n}^{-(k - i)^2 +k^2+i^2}\\ &= \omega_{2n}^{k^2} \sum_{i = 0}^{n - 1} a_i \omega_{2n}^{i^2} \times \omega_{2n}^{-(k - i)^2} \end{align*}\)
注意到和式內部是一個卷積形式,可以用 FFT 在\(O (n \log n) \)的時間內計算。
因此任意長度DFT可以在\(O (n \log n) \)的時間內完成。