數論轉換

數論轉換是一種計算折積的快速演算法 。 計算折積的快速演算法中最常用的一種是使用快速傅里葉變換 ， 然而快速傅立葉變換具有一些實現上的缺點 ， 舉例來說 ， 資料向量必須乘上覆數係數的矩陣加以處理 ， 而且每個複數係數的實部和虛部是一個正弦及餘弦函數 ， 因此大部分的係數都是浮點數 ， 也就是說 ， 必須做複數而且是浮點數的運算 ， 因此計算量會比較大 ， 而且浮點數運算產生的誤差會比較大 。 而在數論轉換中 ， 資料向量需要乘上的矩陣是一個整數的矩陣 ， 因此不需要作浮點數的乘法運算 ， 更進一步 ， 在模數爲的情況下 ， 只有種可能的加法與種可能的乘法 ， 這可以使用記憶體把這些有限數目的加法和乘法存起來 ， 利用查表法來計算 ， 使得數論轉換完全不須任何乘法與加法運算 ， 不過需要較大的記憶體與消耗較大的存取記憶體量 。 雖然使用數論轉換可以降低計算折積的複雜度 ， 不過由於只進行整數的運算 ， 所以只能用於對整數的信號計算折積 ， 而利用快速傅立葉變換可以對任何複數的信號計算折積 ， 這是降低運算複雜度所要付出的代價 。