一般数域筛法中的多项式选择

来源 :北京工业大学 | 被引量 : 1次 | 上传用户:tonzhofpcb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
整数因式分解是一个很古老的数学问题,该问题是指:给出一个正整数,将其分解成一些素数相乘的形式。整数因式分解算法有很多,相比之下,对大整数进行因式分解,数域筛法是目前渐进意义下最快的一种算法,然而在一般数域筛法中存在着许多问题有待解决,这些问题影响着数域筛法的效率,尤其是多项式选择这一步,因此,对多项式选择进行研究是很必要的。一般数域筛法主要有多项式选择、筛数对、线性方程组求解和求解代数数的平方根这四个步骤,每一步都是一个比较难的问题。其中多项式选择是第一步,能否选出一个好的多项式,直接影响着整个算法的效率。现在常用的线性多项式选择方法主要有m基法、Murphy法和Kleinjung法这三种方法。影响多项式选择的因素主要有两个,一个是系数的大小,另一个是根的特性。本文对这三种方法生成的多项式的系数大小和根的特性的优劣进行分析比较,得出Kleingjung法是目前最优的线性多项式选择方法。Kleingjung法的第一步对如何选出一个好的首系数ad并未给出具体的方法,一个好的ad是指那些含有一些小的素数因子的,因此,根据这一点不必考虑每个a d,而是只考虑那些含有某些小素数因子的,这样,可以事先将这些较好的筛选出来,存在一个集合里,然后把这个集合作为一个输入。通过这样的预处理可以得到更好的多项式,进而优化Kleingjung法。同时减少了不必要的尝试,进而提高多项式选择的效率。本文对预处理系统进行了实现,首先对预处理系统进行总体设计,然后根据详细设计进行编程实现。最后进行实验,对实验结果进行分析比较,在实验中分两种情况进行讨论。第一种是对不同首系数上界的实验结果进行分析比较;第二种是对不同筛选粒度的实验结果进行分析比较。通过实验,证明了预处理系统的正确性和可行性。
其他文献