NTL库中多项式,RR和ZZ的指数

时间:2012-10-13 17:47:59

标签: exponentiation ntl

我正在使用NTL库进行RSA密码分析实现。但是我经常遇到类型不匹配/不兼容的问题。

EG -

  1. 我需要RR类型值n ^((h-1.0)/(h * k-1.0))其中n是类型ZZ,而h和k是int。整体指数是浮点数或双数。我试过^,pow(仅适用于RR base),power(仅适用于长指数)。我最终把n,h,k所有类型的RR用来使用战俘,但这真的是这样做吗?

  2. 怎么办(p(x))^ k其中p(x)是多项式?我不得不在循环中使用mul函数k次。另外如何初始化多项式?看起来它可能需要像stdin的python列表,但我无法在程序中设置它。所以,

    ZZX p;
    p = [1 2 3]
    

    p = ZZX([1 2 3]) 
    

    不起作用。我必须使用SetCoeff单独设置每个系数。

  3. 这些只是我现在记得的2个实例。我遇到了太多的不便。
    Iirc,我们甚至无法乘以ZZ和RR。

1 个答案:

答案 0 :(得分:1)

我也搜索了一段时间。

  1. 不好意思。没有内置的方法来做到这一点。只有RR^long是浮点数和整数的混合。我认为最简单的方法是将所有值转换为RR
  2. 这里我也没有看到计算多项式幂的内置方法。但是有一种更快的方法可以做到这一点,而不是将它k倍增 - 用它来自我。看一下fast exponentiation 要设置多项式,只能将其设置为一个接一个的系数。但是你可以编写一个函数来设置一个多项式中的所有系数来自矢量。
  3. NTL是一个很好的高性能数学库,但是有很多东西使得这个库变得很难...我认识的每个人都有数据类型的问题(如你所提到的,当你试图乘以{{1 }和RR)。