영어FrenchSpanish

서버 실행 | Ubuntu > | Fedora > |


온웍스 파비콘

ecm - 클라우드의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 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단계를 여러 실행으로 나누는 것도 유용할 수 있습니다. B2min-B2max
옵션을 선택합니다.

-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 사용


Ad


Ad