码迷,mamicode.com
首页 > 其他好文 > 详细

FFT 深夜摸鱼小笔记

时间:2018-03-27 10:25:04      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:规模   多项式   偶数   递归   欧拉公式   logs   mod   单位   证明   

本次笔记学习自算法导论

FFT核心:系数表示→(单位复数根)点值表示→(插值)系数表示

关于单位复数根
n次单位复数根\(ω\)为满足\(ω^n=1\)的复数
n次单位复数根恰好有n个,表示为\(ω_k,k=0,1,...n-1\)
由欧拉公式\(e^{iθ}=cosΘ+isinΘ\),得\(ω_k=e^{i2πk/n}\)
主n次单位根\(ω_n=e^{2πi/n}\),其他n次单位复数根都是\(ω_n\)的幂次,表示为\(ω_n^k,k=0,1,...n-1\)
\(ω_n^n=ω_n^0\),\(ω_n^{j+k}=ω_n^{(j+k)mod \ n}\)
消去引理:对于整数\(n≥0,k≥0,d>0\),\(ω_{dn}^{dk}=ω_n^k\)
推论:对于偶数\(n>0\),\(ω_n^{n/2}=ω_2=-1\)
折半引理:偶数\(n>0\),\(n\)\(ω_n^k\)的平方的集合 = \(n/2\)\(ω_{n/2}^k\) 的集合
简略证明:\(ω_n^{k+n/2}=ω_n^k*(-1)\),所以平方相等,\(ω_n^{2k}=ω_{n/2}^k\),所以每个n次单位复数根的平方都能获得2个n/2次单位复数根
求和引理:对于整数\(n≥1\)和不被\(n\)整除的\(k≥0\),\(\sum_{j=0}^{n-1}(ω_n^k)^j=0\)

假设\(n\)为2的幂
多项式\(A(x)=A^{[0]}(x^2)+xA^{[1]}(x^2)\)
\(A^{[0]}(x)=a_0+a_2x+a_4x^2+...+a_{n-2}x^{n/2-1}\)
\(A^{[1]}(x)=a_1+a_3x+a_5x^2+...+a_{n-1}x^{n/2-1}\)
\(A(x)\)的点值表示可以通过\(A^{[0]}(x)\)\(A^{[1]}(x)\)来表示,既\((ω_n^0)^2,(ω_n^1)^2,...(ω_n^{n-1})^2\)来表示
由折半引理,上式仅由\(n/2\)\(n/2\)次单位复数根$所组成,所以不断递归子问题规模都会减半

FFT 深夜摸鱼小笔记

标签:规模   多项式   偶数   递归   欧拉公式   logs   mod   单位   证明   

原文地址:https://www.cnblogs.com/caturra/p/8655152.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!