一种多级阻塞不同次数因子分解算法
数据结构与算法
2010-04-20 v1
摘要
我们提出了一种利用多级阻塞策略在 GF(2) 上对多项式 P(x) 进行不同次数因子分解的新算法。最粗粒度的阻塞层级用乘法替代最大公约数 (GCD) 计算,正如 Pollard (1975)、von zur Gathen 和 Shoup (1992) 等人所建议的那样。我们方法的创新之处在于,更细粒度的阻塞层级用平方运算替代乘法,当 P(x) 稀疏时,这加速了 GF(2)[x]/P(x) 中某些区间多项式的计算。作为一个应用,我们给出了一种快速算法来搜索 GF(2) 上所有次数为 r 的不可约三项式 x^r + x^s + 1,同时生成一个验证时间短于完整搜索的证书。朴素算法对每个三项式的成本为 O(r^2),因此搜索给定次数 r 的所有三项式的成本为 O(r^3)。在三项式因子分布的合理假设下,新算法搜索所有次数为 r 的三项式的复杂度为 O(r^2 (log r)^{3/2}(log log r)^{1/2})。在 r = 24036583(一个梅森指数)的情况下,我们的实现相比朴素算法取得了超过 560 倍的加速。利用我们的程序,我们发现了两个新的次数为 24036583 的本原三项式(此前的记录次数为 6972593)。
引用
@article{arxiv.0710.4410,
title = {A Multi-level Blocking Distinct Degree Factorization Algorithm},
author = {Richard Brent and Paul Zimmermann},
journal= {arXiv preprint arXiv:0710.4410},
year = {2010}
}