FFT快速傅立叶变换
//最近突然發現博客園支持\(\rm\LaTeX\),非常高興啊!
話說離省選只有不到五天了還在學新東西確實有點逗……
切到正題,FFT還是非常神奇的一個東西,能夠反直覺地把兩個多項式相乘的時間復雜度降到\(O(n \log n)\)。
首先,多項式的表示方法有兩種:
第一種是系數表示法\(\sum_{i=0}^{n-1}a_i x^i\),就是正常的表達一個多項式的辦法。
第二種比較神奇,是點值表示法,就是用\(n\)個點\((x_i,y_i)\)來表示一個多項式,也就是用兩個列向量\(x\)和\(y\)來表示一個多項式。
將兩個多項式表示成系數表示法直接相乘需要\(O(n^2)\)的時間,而將兩個用點值表示法的多項式相乘卻只用\(O(n)\)的時間(將兩個多項式的\(y\)向量的每一維分別相乘即可)。
而FFT干的事情就是在\(O(n\log n)\)的時間內將多項式從系數表示法轉化成點值表示法,或者是將點值表示法轉化為系數表示法。
從直覺上看,列向量\(x\)的每一維的隨便亂取顯然是不靠譜的,為了保證優越的復雜度,我們引入一個神奇的工具——單位復根。
================未完待續================
P.S. 省選居然能考到這種鬼東西!運氣真是太好了!
轉載于:https://www.cnblogs.com/zhuohan123/p/3619567.html
總結
以上是生活随笔為你收集整理的FFT快速傅立叶变换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DEDECMS全版本gotopage变量
- 下一篇: 在jsp页面利用Ajax动态显示数据库中