FFT(快速傅里叶变换)算法学习笔记
基本概念
FFT(FastFourierTransformation) 即快速傅里叶变换,是 DFT 的加速算法,利用单位复数根的特殊性质,可以在 Θ(nlogn) 的时间内算出 DFT ,利用相似性可以在同样的复杂度完成逆运算
DFT(DiscreteFourierTransformation) 即离散傅里叶变换,将系数向量转换成单位复数根处点值表示的过程。
在中学数学中,多项式相加的时间复杂度是 O(n) ,相乘复杂度是 O(n2) (即两个表达式各项相乘),FFT算法用来加速多项式乘法,使得多项式乘法可以在 O(nlogn) 的时间复杂度内完成,ACM-ICPC中还有一些构造多项式计数的问题也可以用FFT加速。
数学基础
多项式
一个以 x 为变量的多项式定义在一个代数域
∑j=