基础知识了解:点击打开链接
公式证明:点击打开链接
综合了这两个博客我才懂了什么是FFT,所以这两个博客讲的比较细的我就不说了,说一些综合的.
为什么选择n个n次单位复根?
公式1: w(n,k)^2 = w(n/2,k)
应用了这个公式才可以把原来n大小的问题变成n/2的问题,这就是分治得到log(n)的由来.
将n个数分成奇数偶数分开处理得到公式F(x) = G(x^2) + xH(x^2),其中G(x)和H(x)函数就是划分的小问题,那么她和F(x)的问题除了规模不同问题是不是相同?是的。根据公式1得,x^2 = w(n,k)^2 = w(n/2,k),这不是n个规模是求w(n,k),现在n/2规模是求w(n/2,k)问题是完全相同的,那么又有问题了,k>n/2咋整?这不是就不能用了吗?那就要用到公式2了
公式2:w(n,n/2+k) = -w(n,k)
由上面那个公式可以得出F(w(n,k)) = G(w(n,k)^2) + w(n,k)H(w(n,k)^2),那么
F(w(n,n/2+k)) = G((-w(n,k))^2)-w(n,k)H((w(n,k))^2) = G(w(n,k)^2) - w(n,k)H(w(n,k)^2)不就是吧中间正号改成减号了吗.
所以知道F(w(n,k))就可以知道F(n,n/2+k).
其次就是n个n次单位复根组成的矩阵的逆矩阵