2

我目前正在学习使用 NTL 库,尤其是以后的 LLL 算法。有人知道 NTL 库中 LLL 函数的用法吗?提前致谢。

4

1 回答 1

4

从“文档”:

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 算法。如果您需要更好的精度,您可以选择其他后缀之一QPXDRR.

请注意,B它必须是一个类型为 的矩阵ZZ。NTL 使用矩阵的作为点阵的基础。(我遇到了这个问题,因为 CP Schnorr 教授将格基写为

减少后,LLL 减少的基础会覆盖您的输入矩阵B。如果你需要转换矩阵U,做reducktioin U*B = B_LLL,你可以调用

LLL_FP(B, U)

我希望这有帮助。

于 2014-06-19T12:28:55.573 回答