目前我正在学习使用NTL库,特别是以后的LLL算法。有人知道在NTL库中使用LLL函数的情况吗?提前谢谢。
发布于 2014-06-19 12:28:55
摘自“文件”:
long
[G_]LLL_{FP,QP,XD,RR} (mat_ZZ& B, [ mat_ZZ& U, ] double delta = 0.99,
long deep = 0, LLLCheckFct check = 0, long verbose = 0);您可以使用LLL函数,方法是调用。
LLL_FP(B)后缀FP表示精度,因为计算是用浮点算法完成的。这是为了加速LLL算法。如果需要更好的预转换,可以选择其他后缀QP、XD或RR之一。
注意,B必须是ZZ类型的矩阵。NTL使用矩阵的行作为格的基。(由于C.P.Schnorr教授将格基写为列,我遇到了这个问题)
在热分解之后,微缩基将覆盖您的输入矩阵B。如果需要执行还原剂U的转换矩阵U*B = B_LLL,则可以调用
LLL_FP(B, U)我希望这能帮到你。
https://stackoverflow.com/questions/24254817
复制相似问题