Fast Convolution and Multiplication

Algorithm 2  

\fbox{
\begin{minipage}{10 cm}
\begin{description}
\item[{\bf Input:}] $f,g \in ...
...amma}) \ = \ 1/n \, DTF_{{\omega}^{-1}}({\gamma})$
\end{tabbing}\end{minipage}}

Theorem 2   Let $ n$ be a power of $ 2$ and $ {\omega} \in R$ a primitive $ n$ -th root of unity. Then convolution in $ R[x]/{{\langle} x^n - 1 {\rangle}}$ and multiplication in $ R[x]$ of polynomials whose product has degree less than $ n$ can be performed using leading to $ 9/2 \, n \, {\log}(n) + {\cal O}(n)$ operations in $ R$ .

Figure: FFT-based univariate polynomial multiplication over $ {\mbox{${\mathbb Z}$}}/p{\mbox{${\mathbb Z}$}}$
\begin{figure}\htmlimage[no_transparent]
\centering
\includegraphics[scale=0.5]{fftflowchart.eps}
\end{figure}

Remark 4   To multiply two arbitrary polynomials of degree less than $ n \in {\mbox{${\mathbb{N}}$}}$ we only need a primitive $ 2^k$ -th root of unity where

$\displaystyle 2^{k-1} \, < \, 2 \, n \, \leq 2^k$ (41)

Then we have decreased the cost of about $ {\cal O}(n^2)$ of the classical algorithm to $ {\cal O}(n \, {\log}(n))$ .

Marc Moreno Maza
2008-01-07