FFT&&NTT
概念:
\(n\)次单位根——\(\omega_{n}\)(\(\omega_n^n=1\))
可使用复数知识求得\(\omega_n=cos(2\pi/n)+sin(\pi/n)i\)。
显然\(\omega_n\)具有很多性质\(:\)
1. 周期性 \(\omega_n^{n/2+i}=-\omega_n^i\) \(\omega_n^{kn+i}=\omega_n^i\)
2. 消去性 \(\omega_{dn}^{dk}=\omega_n^k\)
3. 和为零 \(\sum_{j=0}^{n-1} {(\omega_n^k)}^j=0\)
推式子:
设\(A(x)=a_0+a_1x+a_2x^2+...+a_{n-1}x^{n-1}\)
\(A_1(x)=a_0+a_2x+a_4x^2+...+a_{n-2}x^{n/2-1}\),\(A_2(x)=a_1+a_3x+a_5x^2+...+a_{n-1}x^{n/2-1}\)。
那么\(:\)
\(A(x)=A_1(x^2)+xA_2(x^2)\)
将\(x=\omega_n^k\)带入,得:
\(A(\omega_n^k)=A_1(\omega_n^{2k})+\omega_n^kA_2(\omega_n^{2k})\)
我们只需递归求解即可写出fft(递归版)
fft原理已经解释清楚,至于非递归版可以参考网上详解。

浙公网安备 33010602011771号