Polynomial long division using Fourier transform (deconvolution)

960 Views Asked by At

Multiplication between polynomials $u$ and $v$ can be performed via a convolution between their vectors of coefficients $\vec{u}$ and $\vec{v}$. According to the convolution theorem, the vector of coefficients of the product $\vec{p}$ is obtained by:

$\vec{p} = F^{-1}(F(\vec{u}) \odot F(\vec{v}))$

$F$ denotes the Fourier transform, $F^{-1}$ its inverse, and $\odot$ the component-wise multiplication.

On the other hand, division $q$ between $u$ and $v$, where $u$ has $v$ as a factor ($u = vq$), can be performed using:

$\vec{q} = F^{-1}(F(\vec{u}) / F(\vec{v}))$

However, if $v$ is not factor of $u$ ($u = vq + r$), how can I get the remainder $r$?