NTL上出现“多项式过大,无法进行FFT”错误

16

我正在尝试使用NTL的ZZ_pEX类对4096次多项式进行乘法运算。然而,它返回错误信息“Polynomial too big for FFT”,我找不到解决方法(甚至在NTL的文档中也找不到任何有用信息),只看到一张幻灯片中的评论说可以修复此问题(但没有说明如何修复)。

有人发现了解决方法吗?


2
你能否发布你的代码,以便我们可以重现你的错误? - Henrik
可能还有用的是具有注释的幻灯片(链接)。 - AbcAeffchen
1个回答

2
你需要使用GMP重新编译NTL,这提供了GNU多精度数字包库例程。当适当时,该软件包使用非常漂亮的技巧,例如FFT用于大数算术。
以下是“使用GMP构建和使用NTL”的详细步骤:http://www.shoup.net/ntl/doc/tour-gmp.html 玩得开心!

是的,我尝试过了,但没有起作用。我仍然收到相同的错误。 - Pedro Alves
在深入探讨之前,很抱歉先问一些“标准问题”,您使用的 GMP 版本是哪个? - Kuno
去年我在计算更大的多项式时也遇到了类似的问题...最终,使用GMP还可以优化计算时间,如这里所示(http://www.cs.berkeley.edu/~fateman/papers/polysbyGMP.pdf)。 - Kuno

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接