快速多项式乘法
FFT
大佬博客
基本的东西在这里面都比较全,解释一下一些可能的疑点:
- 其实单位根还有一条比较好用的性质—— ,关于这一结论可以先转为复数形式,相乘并用三角函数恒等变换化简得到
- 最开始存系数的数组在跑完第一遍FFT以后,存的就相当于那个对应的了
- 之所以每一层出来出来的所属的会不一样,其实是因为 ,类似于快速幂的思想,按下标奇偶分着算到最后凑出来的数将会是对的
- 附加的e~,感觉上来说,FT和DFT唯一的关系就在于FT对于正弦波向其出现程度的转化和出现程度逆转化回正弦波就如同DFT中对多项式的系数与点值表示法的相互转换,而FFT则是利用了一些特殊性质进行二分优化
蝶形变换
我觉得还是精讲一下蝶形变换吧,毕竟这个玩意还是有一点点难想。
蝶形变换,就是为了解决二进制反转后序号的问题,即把每一个数转换成二进制形态,再完全反转过来,按得到的数值重排。
其实不要把蝶形变换看的很难就导致想到一些稀奇古怪的做法,事实上,他利用的更多是一种递推。
我们得到一个下标 所在位置 ,那么如果我想用它来得到 和 的位置该怎么做?
类似 的递推,思考一下假设是正常的未变换形态,那么我们可以得到就是 和 ,毕竟就相当于左移一位了嘛,只不过奇数需要在最后一位补上一个 。
那相对应的,变换后的理应满足是右移一位,也就是之前的反向,而奇数就是在最高位添加一个 。
这样一来,我们就有求出蝶形变换的方法了。
这名字听着倒还挺美
修订记录
- 2023年3月29日 第2次修订
- 2023年2月26日 创建文章