我正在使用NTL库进行RSA密码分析实现。但是我经常遇到类型不匹配/不兼容的问题。
EG -
我需要RR
类型值n ^((h-1.0)/(h * k-1.0))其中n是类型ZZ
,而h和k是int。整体指数是浮点数或双数。我试过^,pow(仅适用于RR
base),power(仅适用于长指数)。我最终把n,h,k所有类型的RR用来使用战俘,但这真的是这样做吗?
怎么办(p(x))^ k其中p(x)是多项式?我不得不在循环中使用mul函数k次。另外如何初始化多项式?看起来它可能需要像stdin的python列表,但我无法在程序中设置它。所以,
ZZX p;
p = [1 2 3]
或
p = ZZX([1 2 3])
不起作用。我必须使用SetCoeff
单独设置每个系数。
这些只是我现在记得的2个实例。我遇到了太多的不便。
Iirc,我们甚至无法乘以ZZ和RR。
答案 0 :(得分:1)
我也搜索了一段时间。
RR^long
是浮点数和整数的混合。我认为最简单的方法是将所有值转换为RR
。k
倍增 - 用它来自我。看一下fast exponentiation
要设置多项式,只能将其设置为一个接一个的系数。但是你可以编写一个函数来设置一个多项式中的所有系数来自矢量。 NTL是一个很好的高性能数学库,但是有很多东西使得这个库变得很难...我认识的每个人都有数据类型的问题(如你所提到的,当你试图乘以{{1 }和RR
)。