快速傅里叶变换FFT

Posted by lily on April 7, 2023
  1. 以两个同次高阶多项式乘法为例
  2. 两个多项式系数相乘Pe=[p0,p1…],Po=[p0,p1…],时间复杂度为O(n^2)
  3. 为了降低时间复杂度,用n+1个点来表示n阶的多项式,那么只用对应点处函数值相乘,就可以得到结果多项式对应的点,时间复杂度降为O(n)
  4. 任一n阶的函数都可以凭借n+1个点来确定

  5. 如何取点,如果我们取n个点,每个点都要计算函数值,其实又相当于运算了n次,时间复杂度又变为O(n^2)
  6. 假如多项式对应函数图像为偶函数或奇函数,只要取x轴对称的点就只用计算n/2个点的函数值,就可以得到另外一部分点的函数值

  7. 递归求对应点的值
  8. 假如函数非奇非偶,可以拆分成一个偶函数+一个奇函数=偶函数+x*偶函数
  9. 换元降阶。如果阶数太高,可以用

  10. 复数取点。可以保证平方过后两个点还是一正一负对称取,递归之时计算出来的函数值才不会出错,所以要保证取的点不仅个数满足至少>=d+1,还要满足平方之后值仍然是正负成对
  11. 取点间隔。实际上取n阶函数的n个点时