学习自FFT详解。
很久前就想学,然而一直不能理解,这两天稍微懂了一些。
含义及用途
FFT(Fast Fourier Transformation)是离散傅氏变换(DFT)的快速算法。即为快速傅氏变换。它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的,把多项式乘法的复杂度从 O(n2) O ( n 2 ) 降到了 O(nlogn) O ( n log n ) (然而常数很大)。
过程
前置知识
多项式的两种表示方法
设多项式 f(x)=∑ni=0aixi f ( x ) = ∑ i = 0 n a i x i 。
系数表示法: f(x)={ a0,a1,a2,⋯an} f ( x ) = { a 0 , a 1 , a 2 , ⋯ a n }
点值表示法:把多项式看成函数, { (x0,y0),(x1,y1),(x2,y2)⋯,(xn,yn)} { ( x 0 , y 0 ) , ( x 1 , y 1 ) , ( x 2 , y 2 ) ⋯ , ( x n , y n ) } 为函数上的点,则 f(x)={ (x0,y0),(x1,y1),(x2,y2)⋯,(x0,y0)} f ( x ) = { ( x 0 , y 0 ) , ( x 1 , y 1 ) , ( x 2 , y 2 ) ⋯ , ( x 0 , y 0 ) }
单位复根
即