FFT 深夜摸鱼小笔记

本次笔记学习自算法导论

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\)次单位复数根$所组成,所以不断递归子问题规模都会减半

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

时间: 2024-08-30 14:51:12

FFT 深夜摸鱼小笔记的相关文章

博弈论 课上摸鱼小笔记

对于普通的P/N分析,需要记住定义才能准确写出记忆化搜索: 1.无法进行任何移动的局面是P 2.存在后继局面为P的局面为N 3.所有后继局面为N的局面为P Bash的粗糙证明过程 若石子为\(n\)最多取\(m\)个且符合\(n=(m+1)r+s,s<m+1\),先手总有方法留下\(n=(m+1)r'\)的局面给对手 Nim的证明过程 1.无法移动的局面为P 无论多少个0异或都是0 2.N可以移动到P 若\(a_1⊕a_2⊕...a_n=k,k!=0\),必可找出\(a_i\),其最高位是\(k

转:用 Python 一键分析你的上网行为, 看是在认真工作还是摸鱼

简介 想看看你最近一年都在干嘛?看看你平时上网是在摸鱼还是认真工作?想写年度汇报总结,但是苦于没有数据?现在,它来了. 这是一个能让你了解自己的浏览历史的Chrome浏览历史记录分析程序,当然了,他仅适用于Chrome浏览器或者以Chrome为内核的浏览器. 在该页面中你将可以查看有关自己在过去的时间里所访问浏览的域名.URL以及忙碌天数的前十排名以及相关的数据图表. 部分截图 代码思路 1. 目录结构 首先,我们先看一下整体目录结构 Code ├─ app_callback.py 回调函数,实

摸鱼鬼混的英文怎么说 ?

摸鱼鬼混的英文怎么说 (引用来源.世界公民文化中心) 如果你是老板,你会"hire"哪种员工? 以下这两种人stepford worker(糊涂死忠型)和clocksucker(摸鱼鬼混型)的人,想想身边的同事,你是不是觉得似曾相识? Stepford Worker Stepford一词来自于小说 The Stepford Wives,也有被制作成同名电影,中国台湾译为<超完美娇妻>,由妮可基嫚(Nicole Kidman)主演.故事描述纽约市郊区一个小镇里,有一群完美的贤

【iOS开发每日小笔记(十)】自制带圆框的头像 利用在CALayer设置“寄宿图”

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.90%的作用是帮助自己回顾.记忆.复习. 在上一篇文章中,我详细地回顾.复习了Core Graphics框架中利用Quartz 2D来绘制各种各样的图形,其实这些绘图就是绘制到了UIView的CALayer层上.这次,受到另一篇博文(http://

【iOS开发每日小笔记(九)】在子线程中使用runloop,正确操作NSTimer计时的注意点 三种可选方法

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.其实,90%的作用是帮助自己回顾.记忆.复习. 一直想写一篇关于runloop学习有所得的文章,总是没有很好的例子.正巧自己的上线App Store的小游戏<跑酷好基友>(https://itunes.apple.com/us/app/pao-k

【iOS开发每日小笔记(五)】实测copy到底是个神马玩意

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.该分类的文章,内容涉及的知识点可能是很简单的.或是用很短代码片段就能实现的,但在我看来它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.其实,90%的作用是帮助自己回顾.记忆.复习.如果看官觉得太easy,太碎片,则可以有两个选择:1,移步[iOS探究]分类,对那里的文章进行斧正:2,在本文的评论

关于C#做个小笔记

RichTextBox控件很强大,不用滚动条就能上下移动看文本. 但是编程中它在winform和WPF里,略有不同. 但是一般的TextBox这个控件在两者里面,我暂时没看到区别,都能用textbox1.Clear()清除文本框. 下面是RichTextBox在winform和WPF里有哪些不同. ------------------------------------------ 分割线 1.RichTextBox控件对象 如何追加文本 并换行 在winform中,向RichTextBox控件

【iOS开发每日小笔记(十二)】仿Facebook登录界面 错误提示抖动 利用CAAnimation设置动画效果

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.90%的作用是帮助自己回顾.记忆.复习. 原本以为国庆假期可以有时间看看书,写写博客.实际上大部分时间都被赶场参加婚礼和到处去亲戚家串门吃饭所占用.眼看明天还剩最后一天时间,今天赶紧来更新一篇,也算是没有完全荒废这7天长假吧! Facebook的客

【iOS开发每日小笔记(十一)】iOS8更新留下的“坑” NSAttributedString设置下划线 NSUnderlineStyleAttributeName 属性必须为NSNumber

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.90%的作用是帮助自己回顾.记忆.复习. 测试组的小伙伴们大显神威,iOS8刚发布,他们就把测试设备急速升级了,然后就是扑面而来的各种bug和他们各种幸灾乐祸的笑.没办法,老老实实修复bug! 来看看今天我遇到的一个问题: 项目中,我将一个简化的H