23、浮点 LLL 算法:理论与实践方面

浮点 LLL 算法:理论与实践方面

1. 浮点 LLL 算法执行问题

浮点 LLL 算法的执行与有理 LLL 算法的执行有较大不同。在 NTL 的 LLL 实现中,用户需尝试给定的精度。若执行时间过长,用户只能停止并以更高精度或更可靠的变体重新启动,但却不清楚是算法本身表现不佳(此时提高精度可能有帮助),还是算法本身就需要较长时间完成(此时提高精度会使过程更慢)。从用户角度看,缺乏错误检测和解释功能十分恼人,在 NTL 和 LiDia 中,用户可能需要尝试多种变体才能成功。

2. L2 算法的实现

在实现 L2 算法时,实际操作中应先尝试启发式变体,再考虑有保证的 L2 算法。可从两方面弱化 L2 算法:一是仅使用基矩阵而非 Gram 矩阵;二是使用远低于理论保证精度的浮点精度。

2.1 浮点算术的四层结构
  • 双精度 :速度极快,但指数位(11 位)和精度(53 位)有限。指数限制使得只能转换小于 1022 位的整数(若要转换 Gram 矩阵,位数约减半)。有限的精度虽影响不大,但无法处理高维情况。
  • 带额外指数的双精度(dpes) :速度仍然较快,但精度限制依旧存在。
  • 启发式扩展精度 :若需要更高精度,可使用任意精度的浮点数。根据 L2 算法分析,精度 $\ell \approx \log \frac{(1+\eta)^2}{\delta - \eta^2} \cdot d$ 总是足够的,但可先尝试启发式的较低精度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值