2.5k 词
众所周知(),FFT凭借如下公式得以实现 现在来谈谈具体的实现问题。 一、单位根的计算 在FFT中,对于下标不同的单位根,可以不用重复计算。此处单位根下标 都是 的幂即 ,因此当 , ,所以对于下标不同的单位根,有 所以我们仅需计算下标最大的单位根数组 来表示 ,并在需要用到 时使用 即可。 二、系数最终位置的确定 在FFT中,把多项式系数依据奇偶次幂分开进行分治。递归版的FFT中,在函数开头进行分组,每个系数的位置都变化了不止一次,但实际上我们可以一次性完成系数最终位置改变。 考虑第 个元素 表示 系数的数组 ,我们进行一种修改,保留原本偶数项相对顺序,将偶数项移到数组左半边,作为一组;奇数项同样保留原本它们之间的相对顺序,移到右半边,作为另一组。然后再在组内进行此修改直至一组内仅有两个(或一个)元素。 那么对于初始的 ,以下用 代称其内容以防混淆,将 用二进制表示为 ,显然第 次修改时 若 ( 为偶数),则 将在组内的左半边 若 ( 为奇数),则 将在组内的右半边 可以得出,在第 ...