ecm - 클라우드의 온라인

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 명령 ecm입니다.

프로그램:

이름


ecm - ECM, P-1 또는 P+1을 사용한 정수 분해

개요


ecm [옵션] B1 [B2 분-B2max | B2]

기술


ecm은 ECM(Elliptic Curve Method), P-1 방법을 사용하는 정수 인수분해 프로그램이며,
또는 P+1 방법. 다음 섹션에서는 이러한 매개변수와 관련된 매개변수를 설명합니다.
알고리즘.

STEP 1 STEP 2 경계 매개 변수


B1
B1 1단계 경계입니다. 필수 매개변수입니다. 그것은 정수로 주어질 수 있습니다
형식(예: 3000000) 또는 부동 소수점 형식(3000000.0 또는 3e6). NS
가장 큰 B1 값은 P-9007199254740996의 경우 1이고 ULONG_MAX 또는
ECM 및 P+9007199254740996의 경우 1(둘 중 작은 쪽) 모든 소수 2 <= p <= B1 are
1단계에서 처리됩니다.

B2
B2 2단계 경계입니다. 선택 사항입니다. 생략하면 기본값이 다음에서 계산됩니다.
B1, 최적에 가까워야 합니다. 좋다 B1, 정수 또는
부동 소수점 형식. 가능한 가장 큰 값 B2 약 9e23이지만
블록 수에 따라 다름 k 지정하는 경우 -k 옵션. 모든 소수 B1 <= 피 <=
B2 2단계에서 처리됩니다. B2 < B1, 2단계는 수행되지 않습니다.

B2 분-B2max
또는 하나를 사용할 수 있습니다 B2 분-B2max 모든 소수를 의미하는 형식 B2 분 <= 피
<= B2max 처리해야 합니다. 따라서 지정 B2 에만 해당 B1-B2. 가치
of B2 분B2max 임의로 클 수 있지만 그 차이는 다음을 초과해서는 안 됩니다.
블록 수에 따라 약 9e23 k.

팩터링 방법


-pm1
기본 방법(ECM) 대신 P-1을 수행합니다.

-pp1
기본 방법(ECM) 대신 P+1을 수행합니다.

그룹 머리 글자 POINT 매개 변수


-x0 x
[ECM, P-1, P+1] 사용 x (임의 정밀도 정수 또는 유리수)를 초기점으로 합니다. 을위한
예, -x0 1/3 유효합니다. 주어지지 않으면, x ECM에 대한 시그마 값에서 생성되며,
또는 P-1 및 P+1에 대해 무작위로.

-시그마 s
[ECM] 사용 s (임의 정밀도 정수)를 곡선 생성기로 사용합니다. 생략하면, s is
무작위로 생성됩니다.

-A a
[ECM] 사용 a (임의 정밀도 정수)를 곡선 매개변수로 사용합니다. 생략하면
시그마 값에서 생성됩니다.

-가다
[ECM, P-1, P+1] 초기점에 곱하기 , 모든 유효한 표현식,
현재 입력에 대한 자리 표시자로 특수 문자 N을 포함할 수 있음
숫자. 예시:

ecm -pp1 -go "N^2-1" 1e6 < 합성2000

STEP 2 매개 변수


-k k
[ECM, P-1, P+1] 수행 k 2단계의 블록입니다. B2 가치, 증가 k
더 많은 CPU 시간을 희생시키면서 2단계의 메모리 사용량을 줄입니다.

-트리파일 파일
데이터의 일부 테이블을 디스크 파일에 저장하여 사용 중인 메모리 양을 줄입니다.
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개의 기계어.

출력


-q
조용한 모드. 발견된 인수분해는 인수와 함께 표준 출력에 인쇄됩니다.
공백으로 구분, 입력 번호당 한 줄(인자가 없는 경우
입력 번호는 단순히 복사됩니다).

-v
상세 모드. 더 많은 정보가 인쇄됩니다. -v 옵션은 장황함을 높입니다. 와 함께
-v, 사용된 모듈식 곱셈의 종류, 초기 x0 값, 2단계 매개변수
ECM에 대한 다양한 크기의 요인을 찾는 데 소요되는 예상 곡선 및 시간
인쇄됩니다. 와 함께 -v -v, 1단계 종료 시 ECM 및 잔류물에 대한 A 값 및
2단계가 인쇄됩니다. 더 -v 디버깅을 위해 내부 데이터를 인쇄합니다.

-타임스탬프
새로운 ECM 곡선이나 P+1 또는 P-1 실행이 처리될 때마다 타임스탬프를 인쇄합니다.

모듈러 산수 옵션


모듈식 곱셈에 여러 알고리즘을 사용할 수 있습니다. 프로그램은
각 입력에 가장 적합한 것; 다음 옵션을 사용하여 주어진 방법을 강제할 수 있습니다.

-mpzmod
GMP의 mpz_mod 함수를 사용합니다(큰 입력의 경우 아XNUMX차이지만 약간의 오버헤드가 발생합니다.
작은 것).

-modmuln
몽고메리의 곱셈(XNUMX차 버전)을 사용합니다. 일반적으로 소규모에 가장 적합한 방법
입력.

- redc
몽고메리의 곱셈(아XNUMX차 버전)을 사용합니다. 이론적으로 최적
큰 입력.

-nobase2
특수 base-2 코드 비활성화(입력 번호가
2^n+1 또는 2^n-1, 참조 -v).

-base2 n
특수 2진법 강제 사용, 입력된 숫자는 2로 나누어야 함^n+1 경우 n > 0 또는 2^|n-1
if n <0.

FILE I / O


다음 옵션을 사용하면 1단계와 2단계를 별도로 수행할 수 있습니다.
다른 기계, 다른 시간, 또는 다른 소프트웨어 사용(특히, George
Woltman의 Prime95/mprime 프로그램은 다음으로 재개하기에 적합한 1단계 출력을 생성할 수 있습니다.
GMP-ECM). 다음을 사용하여 2단계를 여러 실행으로 나누는 것도 유용할 수 있습니다. B2최소-B2최대
옵션을 선택합니다.

-inp 파일
파일에서 입력 받기 파일 표준 입력 대신.

-저장 파일
1단계의 결과 저장 파일. 면 파일 존재하면 오류가 발생합니다. 예: 수행하다
1단계만 B1=1000000 파일 "c155"의 합성 번호에 저장하고
결과 파일 "foo", 사용

ecm - foo 1e6 1 < c155 저장

-사베아 파일
처럼 -저장, 그러나 기존 파일에 추가됩니다.

-이력서 파일
잔류물 재개 파일, 다음과 같은 경우 표준 입력에서 읽습니다. 파일 이다 "-". 예: ~에
위의 2단계 계산에 이어 1단계를 수행하고

ecm - 이력서 foo 1e6

-체크포인트 파일
주기적으로 1단계의 현재 잔류물을 파일. 정전의 경우,
등으로 계산을 계속할 수 있습니다. -이력서 옵션을 선택합니다.

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

고리 모드


"루프 모드"(옵션 -c n) 각 입력 번호에 대해 여러 곡선을 실행할 수 있습니다. NS
다음 옵션은 동작을 제어합니다.

-c n
수행 n 각 입력 번호에서 실행됩니다(기본값은 XNUMX). 이 옵션은 주로 다음과 같은 경우에 유용합니다.
P+1(예: n=3) 또는 ECM의 경우 n 예상 수로 설정할 수 있습니다.
주어진 1단계 경계가 있는 d-자리 인수를 찾기 위한 곡선. 이 옵션은 호환되지 않습니다.
-재개하다, -시그마, -x0. 기부 -c 0 요인이 될 때까지 무한 루프를 생성합니다.
녹이다.

-하나
루프 모드에서 요인이 발견되면 중지합니다. 기본값은
보조 인자가 소수이거나 지정된 수의 실행이 완료되었습니다.

-b
너비 우선 처리: 루프 모드에서 각 입력 번호에 대해 하나의 곡선을 실행한 다음
각각에 대한 두 번째 곡선 등. 다음과 같은 기본 모드입니다. -inp.

-d
깊이 우선 처리: 루프 모드에서 실행 n 첫 번째 숫자에 대한 곡선, 다음 n 곡선
두 번째 등등. 이것은 표준 입력의 기본 모드입니다.

-ve n
루프 모드에서 두 번째 및 다음 실행에서는 다음이 있는 표현식만 출력합니다.
가장 n 문자. 기본값은 -ve 0.

-i n
루프 모드에서 증분 B1 by n 각 곡선 후.

-I n
루프 모드에서 곱하기 B1 에 따라 요인에 의해 n 각 곡선 후. 기본값은 하나입니다.
한 기계에서 최적이어야 하는 반면 -I 10 하려고 할 때 사용할 수 있습니다.
10개의 동일한 기계에서 동일한 수를 동시에 인수분해합니다.

SHELL COMMAND 실행


이러한 옵틴을 사용하면 GMP-ECM에 기능을 보완하기 위해 쉘 명령을 실행할 수 있습니다.

-prpcmd cmd를
명령 실행 cmd를 GMP-ECM 대신 요인과 보조인자를 사용하여 소수성 테스트
자신의 기능. 테스트할 번호는 stdin을 통해 전달됩니다. 종료 코드 0은
"아마도 소수"로 해석되고 XNUMX이 아닌 종료 코드는 "복합"으로 해석됩니다.

-faccmd cmd를
명령을 실행 cmd를 요인이 P-1, P+1 또는 ECM에 의해 발견될 때마다. 입력 번호,
factor와 cofactor는 각각 한 줄에 stdin을 통해 전달됩니다. 이것은 즉, 다음과 같이 사용될 수 있습니다.
새 요소를 자동으로 우편 발송:

ecm -faccmd 'mail -s "$HOSTNAME이 요인을 찾았습니다."
me@myaddress.com' 11e6 < cunningham.in

-idlecmd cmd를
명령을 실행 cmd를 각 ECM 곡선 전에 번호에 대한 P-1 또는 P+1 시도가 시작됩니다.
종료 상태인 경우 cmd를 XNUMX이 아니면 GMP-ECM이 즉시 종료됩니다. 그렇지 않으면
정상적으로 계속됩니다. 동안 GMP-ECM이 중지됩니다. cmd를 실행, 허용하는 방법을 제공
예를 들어 GMP-ECM은 시스템이 사용 중일 때 절전 모드입니다.

기타 사항


-n
"좋은" 모드(보통 우선 순위 미만)에서 프로그램을 실행합니다.

-nn
"매우 좋은" 모드(유휴 우선 순위)에서 프로그램을 실행합니다.

-B2스케일 f
기본 2단계 경계를 곱합니다. B2 부동 소수점 값으로 f. 예: -B2스케일
0.5 기본값을 나눕니다. B2 2에 의해.

-스테이지1타임 n
추가 n 1단계까지 초. 이것은 정확한 예상 시간을 얻는 데 유용합니다. -v if
1단계의 일부는 다른 실행에서 수행되었습니다.

-코덱
XNUMX진수로 cofactor 출력을 강제 실행합니다(식이 사용되는 경우에도).

-h, --도움
ecm 사용법, 매개변수 및 명령줄 옵션에 대한 간단한 설명을 표시합니다.

-인쇄 구성
컴파일에 사용된 구성 매개변수를 인쇄하고 종료합니다.

입력 통사론


입력 번호는 다음과 같은 여러 형식을 가질 수 있습니다.

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).

EXIT 지위


종료 상태는 마지막 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 사용



최신 Linux 및 Windows 온라인 프로그램