FFT的學習__FFT

來源:互聯網
上載者:User
本文來自轉載:

FFT演算法學習筆記 Posted on July 14, 2015 by gatevin

寫在前面

    關於學習FFT演算法的資料個人最推薦的還是演算法導論上的第30章(第三版), 多項式與快速傅裡葉變換, 基礎知識都講得很全面

    這篇文章即是博主在閱讀FFT演算法的相關學習資料之後的一些總結, 作為日後複習查閱的材料來源, 同時也可以作為讀者學習FFT演算法的一份資料

FFT演算法基本概念

    FFT(FastFourierTransformation) 即快速傅裡葉變換, 是離散傅裡葉變換的加速演算法, 可以在 O(nlogn) 的時間裡完成 DFT , 利用相似性也可以在同樣複雜度的時間裡完成逆 DFT

    DFT(DiscreteFourierTransform)

即離散傅裡葉變換, 這裡主要就是多項式的係數向量轉換成點值表示的過程

    在ACM-ICPC競賽中, FFT演算法常被用來為多項式乘法加速, 即在 O(nlogn)

複雜度內完成多項式乘法, 當然實際應用不僅僅限於這些, 時常出現需要構造多項式相乘來進行計數的問題, 也需要用FFT演算法來解決, 相關的幾個問題在本文中也會提及

FFT演算法需要的基礎數學知識

    多項式相關:

     多項式相關的定義:一個以 x 為變數的多項式定義在代數域F上, 將函數 A(x)

表示為形式和 Σj=0n−1ajxj , 稱 aj 為係數, 所有係數屬於代數域 F , 如果一個多項式的最高非零係數是 ak , 那麼成這個多項式的 次數是 k , 記做 degree(A)=k , 任何一個嚴格大於一個多項式次數的整數都是該多項式的 次數界

    關於多項式的加法和乘法相信看到這篇部落格的讀者都會最基本的中學的演算法, 在計算的時候, 如果採用傳統的中學的計算方法, 多項式加法的時間複雜度是 O(n) , 乘法的時間複雜度是 O(n2)

(n是兩個多項式A和B的次數).

    多項式的表示

    在平常的學習中, 最常見的是多項式的係數表達方式

    次數界為n的多項式 A(x)=a

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.