Algorithm 快速傅里叶变换多项式乘法?

Algorithm 快速傅里叶变换多项式乘法?,algorithm,math,computer-science,fft,Algorithm,Math,Computer Science,Fft,我正在使用FFT在某些点计算多项式,以便可以使用值表示法来表示它。(表示为等于其度数的点数) 然而,要将两个d次多项式相乘,我需要在2d+1点计算这两个多项式。但是,使用FFT求值(乘以单位的dth根)仅计算d点处的多项式。因此,如果FFT仅计算d点处的多项式,它如何用于多项式计算?(与2d+1相反)您可以选择计算-1的哪一个n次根。如果你需要2d-1点(我猜你需要),只需要使用-1的第(2d-1)个根。事实上,您通常会使用-1的第2^k个根,其中2^k是2>=2d-1的第一次幂,因为对于2的幂

我正在使用FFT在某些点计算多项式,以便可以使用值表示法来表示它。(表示为等于其度数的点数)


然而,要将两个d次多项式相乘,我需要在2d+1点计算这两个多项式。但是,使用FFT求值(乘以单位的dth根)仅计算d点处的多项式。因此,如果FFT仅计算d点处的多项式,它如何用于多项式计算?(与2d+1相反)

您可以选择计算-1的哪一个n次根。如果你需要2d-1点(我猜你需要),只需要使用-1的第(2d-1)个根。事实上,您通常会使用-1的第2^k个根,其中2^k是2>=2d-1的第一次幂,因为对于2的幂更容易获得快速FFT。复杂性仍然是O(d log d),因为O的定义允许常数因子。

你想把两个多项式相乘吗?或者你想在一堆点上计算一个多项式。你能澄清一下吗?你的问题似乎自相矛盾。我在乘两个多项式。然而,要乘以多项式,我需要在一定数量的点上计算它们,在值表示中乘以它们,并使用插值将点转换回系数。因此,我的问题是关于乘法和求值的,你不需要在任何点求值多项式来将它们相乘。直接对系数进行FFT运算。我知道——这是一个更简单的解决方案。然而,我现在的情况是,我需要FFT点,而不是系数。对不起,我不被允许分享我为什么有这种限制。哦,好的。我不熟悉FFT多项式求值的主题。