快速傅立葉變換(FFT)(學習筆記)
阿新 • • 發佈:2018-12-02
學習了一波
,只是淺淺的入門。還有很多前置知識,有一些還不是太瞭解,完了深入學習之後再補部落格
以下內容大部分參考秦嶽學長的課件
多項式
形如
,其中
為多項式係數
:
:
多項式的表示法:
係數表示式:上面說的
點值表示式:給出
個不同的
代入
的點值,這樣的
個元素構成的集合
,其中
=
,稱為點值表示法。
唯一性定理:證明可用範德蒙矩陣行列式
係數與點值:
係數表示法的
次多項式
可以
快速求得
,但是卷積通常需要
計算
點值表示法的 次多項式卷積也可以 計算,只需將值域 對應相乘即可 (由於 項確定次數界為 的多項式,故計算卷積是至少保留 項)
實際上點值表示法的卷積計算的是圓周卷積
點值與係數的轉化:
係數表示法
點值表示法
樸素計算
秦九韶演算法/霍納法則
點值表示法
係數表示法
高斯消元
拉格朗日插值法
:
(原理:構造求和式當
時只有一項為
,其餘全為
)
(霍納法則不會 ,等以後補
而 可以在 時間內求出多項式卷積
複數
單位複數
,複數表示為
的形式,運算和實數類似。
其實複數就相當於向量,複數的計算可以用向量計算來解決
struct complex{
double x,y;
complex(double xx=0,double yy=0) {x=xx,y=yy;}
}a[maxn],b[maxn];
complex operator +(complex a,complex b) {return complex(a.x+b.x,a.y+b.y);}
complex operator -(complex a,complex b) {return complex(a.x-b.x,a.y-b.y);}
complex operator