高速フーリエ変換
フーリエ変換
F(t)=0≤i<n∑f(ωni)ti
逆変換
f(x)=n10≤i<n∑F(ωn−i)xi
各iについて、∑f(ωni)を高速に求める方法があればいい
周期性を利用した高速化
f(x)=0≤i<n∑cixif0(x2)=0≤i<2n∑c2ixif1(x2)=x0≤i<2n∑c2i+1xif(x)=f0(x2)+f1(x2)
f(ωni)=f0(ωn2i)+f1(ωn2i)=f0(ωn/2i)+f1(ωn/2i)
F(t)=0≤i<n∑f(ωni)ti=0≤i<n∑(f0(ωn/2i)+f1(ωn/2i))ti=0≤i<2n∑...+0≤i<2n∑...=0≤i<2n∑...+tn/20≤i<2n∑...=(1+tn/2)(0≤i<2n∑...)=(1+tn/2)(0≤i<2n∑f0(ωn/2i)ti+0≤i<2n∑f1(ωn/2i)ti)