ECM因素
自Fermatsearch项目开始以来,用户一直被要求提供CPU周期以进行分解。
我们聚集了来自世界各地的人们,使用不同的保理程序费马.exe,Proth.exe(Proth.exe),PFGW.exe文件,GMP-Fermat.exe公司,MFAC.exe软件还有更多。
所有这些程序都是使用同一试验因子分解算法的不同开发来编写的:给定N范围、k范围和因子表示k*2个n个+1,测试所有可能的该范围内的因素。
这是一种确定性算法:我们可以确信,一旦范围被完全搜索,就不会再找到更多的因素。我们所能做的就是加深范围,选择更高的k范围,或者改变N。
坏消息是:无论使用何种启发式,完成范围的时间都会随着范围的增加而增加降低潜在因素的数量。
好消息是:对于那些达到高水平试验因子分解的费马数,我们可能会使用不同的因子分解算法。
什么是ecm,它是如何工作的?
ECM是椭圆曲线法的缩写。
椭圆曲线的历史可以追溯到一个多世纪以前。椭圆曲线最初是为经典分析而发展起来的,现在已经进入了抽象和计算数论。就像素数本身一样,椭圆曲线也有优雅、复杂和强大的一面。椭圆曲线不仅是著名的代数结构;它们还为素数nd分解研究提供了相当大的杠杆作用。
该方法不具有确定性,因为在计算多条“曲线”后,您无法判断是否存在因子。但什么是曲线?在ecm中,椭圆曲线上的点被“映射”为数字:计算曲线与检查因子大致相同。
它被认为是一种统计方法,因为该算法在计算有明确边界的许多曲线。随着界限的增加,找到更大因子的概率也会增加。
坏消息:此方法需要巨大的物理记忆量。
好消息是:对于小费马数(高达F20)我们可以检查长达60位数的因子!
Ecm参数
要评估某个因素的可能性,需要四个参数:
这个第一参数是要测试的费马数的指数。不同的ecm软件实现需要输入数字2的幂或(很长的)整数。这个第二参数表示要运行的曲线数。对于费马数,您只需查看下表即可。这个第三的和第四参数表示边界应用于曲线:通常B2=100*B1。界限越高,内存请求越高,每条曲线请求的时间越长,系数越高你可能会发现。
系数中的数字 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 |
---|
绑定#1 | 50,000 | 250,000 | 1,000,000 | 3,000,000 | 11,000,000 | 44,000,000 | 110,000,000 | 260,000,000 |
---|
要测试的曲线 | 280 | 640 | 1,580 | 4,700 | 9,700 | 17,100 | 46,500 | 112,000 |
Ecm预订
当然,你不需要知道ecm下的所有数学背景。
要加入此搜索,您只需下载一个程序(素数95,由George Woltman编写,非常适合需要),输入参数并运行。阅读ecm如何操作文件以了解如何启动和下载文件低p.txt:此文件必须位于Prime95.exe所在的同一文件夹中。运行曲线时,发送结果.txt文件到我:我会将您的结果添加到项目中,并联系George Woltman。
要正确选择参数,请转到链接或者看看这个excel文件,并选择满足您需要的B1边界(显然,“完成”的曲线不需要“重新运行”)。
为了整洁起见,我希望收到至少按10分组的ECM曲线:如果ECM范围没有以稀疏模式到达,我和George Woltman将更容易处理ECM范围。
在下一张表中,您将看到F上的一些ecm计时14在具有大B2边界的2.4GHz AMD64上使用GMP-ECM。
数字 | 地下一层 | 地下二层 | 微机 | 阶段1 ms | 阶段2 ms |
15 | 2,000 | 119,805 | 8 | 2,430 | 2,608 |
20 | 11,000 | 1,359,460 | 15 | 13,530 | 11,881 |
25 | 50,000 | 11,757,135 | 33 | 61,789 | 51,133 |
30 | 250,000 | 116,469,998 | 97 | 310,837 | 249,851 |
35 | 1,000,000 | 839,549,780 | 249 | 1, 247, 434 | 963,127 |
40 | 3,000,000 | 4,016,636,514 | 544 | 3,756,443 | 2,741,624 |
45 | 11,000,000 | 25,577,181,640 | 679 | 13,831,555 | 11,372,366 |
50 | 43,000,000 | | | 54,934,226 | |
以下是F上一条ECM曲线(B2=100*B1)的时间(以秒为单位)14在2.66GHz P4上使用Prime95 24.6:
数字 | 地下一层 | 阶段1秒 | 阶段2秒 |
25 | 50,000 | 11 | 6 |
30 | 250,000 | 54 | 25 |
35 | 1,000,000 | 220 | 93 |
40 | 3,000,000 | 661 | 259 |
45 | 11,000,000 | 2408 | 885 |
50 | 43,000,000 | 9533 | 3329 |
要获得更准确的曲线计时,请下载这excel文件。