【问题标题】:"Polynomial too big for FFT" error on NTLNTL 上的“多项式对于 FFT 而言太大”错误
【发布时间】:2015-09-29 12:13:19
【问题描述】:

我正在尝试使用 NTL 中的 ZZ_pEX 类执行 4096 次多项式的乘法。但是,它返回错误“多项式对于 FFT 来说太大了”,而且我找不到让它工作的方法(或者甚至可以帮助 NTL 文档的东西),但是幻灯片中的评论说它可以修复(不用说怎么做!)。

有人找到解决办法了吗?

【问题讨论】:

  • 您能否发布您的代码,以便我们重现您的错误?
  • 带有评论的(链接到)幻灯片可能也有帮助。
  • 这是幻灯片:wiki.sagemath.org/…

标签: c++ fft multiplication polynomial-math ntl


【解决方案1】:

你必须用 GMP 重新编译 NTL,它提供了 GNU 多精度数字包库例程。 当它看起来合适时,这个包使用了非常漂亮的 hacks,例如FFT,用于 bignum 算术。

这里,“使用 GMP 构建和使用 NTL”下面是使用 GMP 编译 NTL 需要遵循的详细步骤:http://www.shoup.net/ntl/doc/tour-gmp.html

玩得开心!

【讨论】:

  • 是的,我试过了,但没有用。我仍然收到同样的错误。
  • 抱歉,在深入研究之前先问了这些“标准问题”,但您使用的是哪个版本的 GMP?
  • 去年我在对更大的多项式进行计算时遇到了类似的问题......最后,使用 GMP 还可以优化计算时间,如下所示 (cs.berkeley.edu/~fateman/papers/polysbyGMP.pdf)。
猜你喜欢
  • 2020-12-29
  • 2021-05-27
  • 1970-01-01
  • 2011-09-14
  • 2016-03-11
  • 1970-01-01
  • 2019-03-26
  • 2017-09-06
  • 2018-07-09
相关资源
最近更新 更多