众所周知(),FFT凭借如下公式得以实现 
一、单位根的计算
在FFT中,对于下标不同的单位根,可以不用重复计算。此处单位根下标 
二、系数最终位置的确定
在FFT中,把多项式系数依据奇偶次幂分开进行分治。递归版的FFT中,在函数开头进行分组,每个系数的位置都变化了不止一次,但实际上我们可以一次性完成系数最终位置改变。
考虑第 
那么对于初始的 
- 若 - 若 
可以得出,在第 
- 若 - 若 
那么 
在第 
- 若 - 若 
两者即 
那么类似地,在第 
- 若 - 若 
即 
于是有 
有了这个结论我们就可以直接从底部开始迭代。
注意若 
三、蝴蝶变换
在一般的FFT中,我们这样从底部进行迭代
| 1 | xa=omega[size/lenth*j]*a[i+j+lenth/2];//lenth 为上次各多项式组的系数个数,size为多项式的总系数个数,i为各组起点,j为组内偏移量 | 
然后在此次变换完成之后将结果储存回数组 
| 1 | a[i+j]=mid[i+j]; | 
需要一个中间数组来储存变换的值。但是蝴蝶变换可以不使用这个中间数组,减少赋值。
由公式可得 
 
可以发现 
| 1 | xa=omega[size/lenth*j]*a[i+j+lenth/2]; | 
速度会快一些