数论变换乘法被移位

时间:2018-04-05 18:17:24

标签: fft multiplication polynomials ntt

我一直在研究使用NTT(FFT)乘以多项式的代码,我做了2个不同的实现,并使用现有的实现进行验证,例如:https://www.nayuki.io/page/number-theoretic-transform-integer-dfthttps://github.com/iblue/ntt

问题是所有结果似乎都向左移动了一次(乘以x),如下所示:

0 0 1 1 (x + 1)
*
0 0 1 1 (x + 1)
=
1 2 1 0 (1x^3 + 2x^2 + x) // Should be 0 1 2 1

此外,平凡案例1 * 1的错误方式相同:

0 0 0 1 (1)
*
0 0 0 1 (1)
=
0 0 1 0 (x) // Should be 0 0 0 1 (1)

我不知道为什么会发生这种情况,到目前为止我读过的任何文章都没有提及。

我错过了什么?

0 个答案:

没有答案