英语法语西班牙语

Ad


OnWorks 网站图标

ecm - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 ecm

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 ecm,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


ecm - 使用 ECM、P-1 或 P+1 的整数分解

概要


ECM [选项] B1 [B2分钟-B2最大值 | B2]

商品描述


ecm 是使用椭圆曲线方法 (ECM)、P-1 方法的整数因子分解程序,
或 P+1 方法。 以下部分描述了与这些相关的参数
算法。

STEP 1 AND STEP 2 有无库存


B1
B1 是第一步的界限。 它是一个强制性参数。 它可以以整数形式给出
格式(例如 3000000)或浮点格式(3000000.0 或 3e6)。 这
最大可能 B1 P-9007199254740996 的值为 1,而 ULONG_MAX 或
ECM 和 P+9007199254740996 为 1(以较小者为准)。 所有素数 2 <= p <= B1 ,那恭喜你,
在步骤 1 中处理。

B2
B2 是第 2 步的界限。 它是可选的:如果省略,则从计算默认值
B1,应该接近最优。 喜欢 B1,它可以以整数或以
浮点格式。 的最大可能值 B2 大约是 9e23,但是
取决于块的数量 k 如果您指定 -k 选项。 所有素数 B1 <= p <=
B2 在步骤 2 中处理。如果 B2 < B1,不执行步骤 2。

B2分钟-B2最大值
或者,可以使用 B2分钟-B2最大值 形式,这意味着所有素数 B2分钟 <= p
<= B2最大值 应该处理。 因此指定 B2 只对应 B1-B2。 价值
of B2分钟B2最大值 可以任意大,但它们的差值不能超过
大约 9e23,取决于块的数量 k.

因素 方法


-pm1
执行 P-1 而不是默认方法 (ECM)。

-pp1
执行 P+1 而不是默认方法 (ECM)。

公司 AND 初始 有无库存


-x0 x
[ECM, P-1, P+1] 使用 x (任意精度整数或有理数)作为初始点。 为了
例, -x0 1/3 已验证。 如果不给, x 由 ECM 的 sigma 值生成,
或随机用于 P-1 和 P+1。

-西格玛 s
[ECM] 使用 s (任意精度整数)作为曲线生成器。 如果省略, s is
随机生成。

-A a
[ECM] 使用 a (任意精度整数)作为曲线参数。 如果省略,是不是
从 sigma 值生成。

-走 VAL
[ECM, P-1, P+1] 将初始点乘以 VAL, 可以是任何有效的表达式,
可能包含特殊字符 N 作为当前输入的占位符
数字。 例子:

ecm -pp1 -go "N^2-1" 1e6 < Composite2000

STEP 2 有无库存


-k k
[ECM, P-1, P+1] 执行 k 步骤 2 中的块。对于给定的 B2 价值,增加 k
减少第 2 步的内存使用量,代价是更多的 CPU 时间。

-树文件 文件
将一些数据表存储在磁盘文件中以减少内存占用
第 2 步,以磁盘 I/O 为代价。 数据将写入文件 文件。1, 文件.2 等
不适用于 P+2 和 P-1 的快速阶段 1。

功率 n
[ECM, P-1] 使用 x^n 对于 Brent-Suyama 的扩展 (功率 1 禁用 Brent-Suyama 的
延期)。 默认多项式的选择取决于方法和 B2。 对于 P-1
和 P+1,禁用快速阶段 2。对于 P-1, n 必须是均匀的。

-迪克森 n
[ECM, P-1] 使用度-n Brent-Suyama 扩展的 Dickson 多项式。 对于 P-1 和
P+1,禁用快速阶段 2。 功率, n P-1 必须是偶数。

-最大内存 n
最多使用 n 阶段 2 中的兆字节内存。

-ntt, -没有-ntt
启用或禁用多项式算法的数论变换代码
阶段 2. 在 NTT 中,dF 选择为 2 的幂,并受数量限制
适合机器字的合适素数(这是仅对 32 位的限制
系统)。 -no-ntt 变体使用更多内存,但比具有大容量的 NTT 更快
输入数字。 默认情况下,NTT 用于 P-1、P+1 和 ECM 的大小为
最多 30 个机器字。

OUTPUT


-q
静音模式。 找到的因式分解打印在标准输出上,带有因数
由空格分隔,每个输入数字一行(如果没有找到因子,则
输入号码被简单地复制)。

-v
详细模式。 打印更多信息,更多信息 -v 选项增加了冗长。 和
一种 -v,使用的模乘类型,初始 x0 值,步骤 2 参数
和进度,以及为 ECM 寻找不同大小因素的预期曲线和时间
被打印。 和 -v -v,步骤 1 结束时 ECM 和残基的 A 值和
打印步骤 2。 更多的 -v 打印内部数据用于调试。

-时间戳
每当处理新的 ECM 曲线或 P+1 或 P-1 运行时打印时间戳。

MODULAR 算术 配置


有几种算法可用于模乘。 该程序试图找到
每个输入最好的一个; 可以使用以下选项强制使用给定的方法。

-mpzmod
使用 GMP 的 mpz_mod 函数(大输入的次二次函数,但会产生一些开销
小的)。

-modmuln
使用蒙哥马利乘法(二次型)。 通常最好的方法是小
输入。

-redc
使用蒙哥马利乘法(次二次版本)。 理论上最适合
大输入。

-nobase2
禁用特殊的 base-2 代码(当输入数字是
2^n+1 或 2^n-1,见 -v).

-base2 n
强制使用特殊的 base-2 代码,输入数字必须除以 2^n+1 如果 n > 0 或 2^|n| -1
if n <0。

文件 I / O


以下选项使人们能够分别执行第 1 步和第 2 步,无论是在
不同的机器、不同的时间或使用不同的软件(特别是 George
Woltman 的 Prime95/mprime 程序可以产生适合于恢复的步骤 1 输出
GMP-ECM)。 使用 B2最小-B2最大
选项。

-输入 文件
从文件中获取输入 文件 而不是来自标准输入。

-节省 文件
将步骤 1 的结果保存在 文件。 如果 文件 存在,则引发错误。 示例:执行
只有第 1 步 B1=1000000 在文件“c155”中的合数上并保存其
结果文件“foo”,使用

ecm -save foo 1e6 1 < c155

-保存 文件
喜欢 -节省, 但附加到现有文件。

-恢复 文件
恢复残留物 文件, 从标准输入读取,如果 文件 是 ”-”。 示例:到
在上述步骤 2 计算之后执行步骤 1,使用

ecm-恢复 foo 1e6

-检查点 文件
定期将阶段 1 的当前残差写入 文件. 在停电的情况下,
等,计算可以继续 -恢复 选项。

ecm -chkpnt foo -pm1 1e10 < largenumber.txt

循环 MODE


“循环模式”(选项 -c n) 使一个人可以在每个输入数字上运行多条曲线。 这
以下选项控制其行为。

-c n
演出 n 在每个输入数字上运行(默认为一)。 此选项主要用于
P+1(例如 n=3) 或对于 ECM,其中 n 可以设置为预期的数量
曲线以找到具有给定步骤 1 界限的 d 位因子。 此选项不兼容
-恢复, -西格玛, -x0。 给予 -c 0 产生一个无限循环,直到一个因子是
找到。

-一
在循环模式下,找到一个因素时停止; 默认是继续直到
辅因子是素数或指定的运行次数已完成。

-b
广度优先处理:在循环模式下,为每个输入数字运行一条曲线,然后
每个曲线的第二条曲线,依此类推。 这是默认模式 -输入.

-d
深度优先处理:在循环模式下,运行 n 第一个数字的曲线,然后 n 曲线
对于第二个等等。 这是标准输入的默认模式。

-ve n
在循环模式下,在第二次和后续运行中,只输出具有 at 的表达式
最先进的 n 人物。 默认是 -ve 0.

-i n
在循环模式下,递增 B1 by n 在每条曲线之后。

-I n
在循环模式下,乘以 B1 取决于一个因素 n 在每条曲线之后。 默认为一
这应该在一台机器上是最佳的,而 -I 10 尝试时可以使用
在 10 台相同的机器上同时分解相同的数字。

SHELL 指挥 执行


这些选项允许执行 shell 命令来补充 GMP-ECM 的功能。

-prpcmd CMD
执行命令 CMD 如果因子和辅因子而不是 GMP-ECM's,则测试素性
自己的功能。 要测试的数字通过标准输入传递。 0 的退出代码是
解释为“可能是素数”,非零退出代码为“复合”。

-faccmd CMD
执行命令 CMD 每当 P-1、P+1 或 ECM 发现一个因素时。 输入号码,
factor 和 cofactor 通过 stdin 传递,每个都在一行上。 这可以用于即
自动邮寄新因素:

ecm -faccmd 'mail -s “$HOSTNAME 发现一个因素”
[电子邮件保护]' 11e6 < cunningham.in

-空闲命令 CMD
执行命令 CMD 在每条 ECM 曲线之前,开始 P-1 或 P+1 对一个号码的尝试。
如果退出状态为 CMD 非零,GMP-ECM 立即终止,否则
继续正常。 GMP-ECM 停止,同时 CMD 运行,提供一种让
例如,GMP-ECM 在系统繁忙时休眠。

其他条款


-n
以“nice”模式(低于正常优先级)运行程序。

-nn
以“非常好”模式(空闲优先级)运行程序。

-B2规模 f
乘以默认的第 2 步边界 B2 通过浮点值 f。 例: -B2规模
0.5 划分默认值 B2 通过2。

-阶段1时间 n
地址 n 秒到阶段 1 次。 这对于获得正确的预期时间很有用 -v if
第 1 阶段的一部分是在另一次运行中完成的。

-cofdec
强制以十进制形式输出辅因子(即使使用了表达式)。

-h, - 帮帮我
显示 ecm 用法、参数和命令行选项的简短说明。

-打印配置
打印用于编译的配置参数并退出。

INPUT 句法


输入数字可以有多种形式:

原始十进制数,如 123456789。

文件中可以放置注释:“//”之后的所有内容都将被忽略,直到结尾
线。

线路延续。 如果一行以反斜杠字符“\”结尾,则认为
继续下一行。

可以使用常见的算术表达式。 例子: 3*5+2^10.

阶乘:示例 53!.

多因素:示例 15!3 means 15*12*9*6*3.

首要的:例子 11# means 2*3*5*7*11.

减少原始:示例 17 5# means 5*7*11*13*17.

功能:目前,唯一可用的功能是 φ(x,n).

退出 状态


退出状态反映上次 ECM 曲线或 P-1/P+1 尝试程序的结果
执行。 单个位表示特定事件,特别是:

0位
0 如果正常程序终止,1 如果发生错误

1位
如果没有找到合适的因子,则为 0,否则为 1

2位
0 如果因子是合数,1 如果因子是可能的素数

3位
0 如果辅因子是复合的,1 如果辅因子是可能的素数

因此,可能会出现以下退出状态值:

0
正常程序终止,未发现因素

1
误差

2
找到复合因子,辅因子是复合因子

6
找到了可能的主要因子,辅因子是复合的

8
找到输入号码

10
发现复合因子,辅因子是一个可能的素数

14
找到了可能的素数,辅因子是一个可能的素数

使用 onworks.net 服务在线使用 ecm


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad