Bluestein's algorithm 算法可以在(O (n log n) )的时间内完成任意长度的 DFT
考虑DFT,有:
(egin{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} imes omega_{2n}^{-(k - i)^2} end{align*})
注意到和式内部是一个卷积形式,可以用 FFT 在(O (n log n) )的时间内计算。
因此任意长度DFT可以在(O (n log n) )的时间内完成。