玄学小记.5 ~ Bluestein's algorithm

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) \)的时间内完成。

 

posted @ 2018-01-26 19:01 AwD! 阅读(...) 评论(...) 编辑 收藏