англійськафранцузькаіспанська

Ad


Значок OnWorks

ecm - онлайн у хмарі

Запустіть ecm у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда ecm, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн- емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


ecm - цілочисельне розкладання за допомогою ECM, P-1 або P+1

СИНТАКСИС


екс [опції] B1 [B2хв-B2макс | B2]

ОПИС


ecm — це програма для цілочисельного розкладання з використанням методу еліптичної кривої (ECM), методу P-1,
або методом P+1. У наступних розділах описуються параметри, які мають відношення до них
алгоритми.

КРОК 1 І КРОК 2 ЗВ'ЯЗАНО ПАРАМЕТРИ


B1
B1 є обмеженим кроком 1. Це обов'язковий параметр. Його можна надати або в цілі
у форматі (наприклад, 3000000) або у форматі з плаваючою комою (3000000.0 або 3e6). The
найбільший з можливих B1 значення 9007199254740996 для P-1, а ULONG_MAX або
9007199254740996 (що менше) для ECM та P+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хв <= стор
<= B2макс слід обробити. Таким чином уточнюючи B2 відповідає лише B1-B2. Цінності
of B2хв та B2макс можуть бути як завгодно великими, але їх різниця не повинна перевищувати
приблизно 9e23, залежно від кількості блоків k.

ФАКТОРИНГ МЕТОД


-pm1
Виконайте P-1 замість методу за замовчуванням (ECM).

-pp1
Виконайте P+1 замість методу за замовчуванням (ECM).

ГРУПА І ПОЧАТКОВИЙ ТОЧКА ПАРАМЕТРИ


-х0 x
[ECM, P-1, P+1] Використовуйте x (ціле число довільної точності або раціональне) як початкова точка. Для
наприклад, -х0 1/3 є дійсним. Якщо не дано, x генерується із значення сигма для ECM,
або навмання для P-1 і P+1.

-сигма s
[ECM] Використовуйте s (ціле число довільної точності) як генератор кривих. Якщо пропущено, s is
генерується випадковим чином.

-A a
[ECM] Використовуйте a (ціле число довільної точності) як параметр кривої. Якщо пропущено, чи не так
генерується із значення сигма.

-го Val
[ECM, P-1, P+1] Помножте початкову точку на Val, який може будь-який дійсний вираз,
можливо, що містить спеціальний символ N як заповнювач для поточного входу
номер. приклад:

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

КРОК 2 ПАРАМЕТРИ


-k k
[ECM, P-1, P+1] Виконайте k блоків на кроці 2. Для заданого B2 значення, що збільшується k
зменшує використання пам’яті на етапі 2 за рахунок збільшення часу процесора.

-деревофайл файл
Зберігає деякі таблиці даних у дискових файлах, щоб зменшити обсяг займаної пам’яті
крок 2, за рахунок дискового вводу-виводу. Дані будуть записані у файли файл.1, файл.2 тощо
Не працює з швидким етапом 2 для P+1 і P-1.

Потужності n
[ECM, P-1] Використовуйте x^n для розширення Брента-Суями (Потужності 1 відключає Brent-Suyama's
розширення). Поліном за замовчуванням вибирається залежно від методу та B2. Для П-1
і P+1, вимикає швидкий етап 2. Для P-1, n має бути рівною.

- Діксон n
[ECM, P-1] Використовуйте ступінь-n Поліном Діксона для розширення Брента-Суями. Для П-1 і
P+1, вимикає швидкий етап 2. Як для Потужності, n має бути парним для P-1.

-максмем n
Використовуйте щонайбільше n мегабайти пам'яті на етапі 2.

-ntt, -ні-нтт
Увімкнути або вимкнути код чисельно-теоретичного перетворення для поліноміальної арифметики в
етап 2. У NTT dF вибирається як ступінь 2 і обмежена числом
відповідні прості числа, які вписуються в машинне слово (що є обмеженням лише для 32 біт
системи). Варіант -no-ntt використовує більше пам'яті, але швидше, ніж NTT з великим
введіть числа. За замовчуванням NTT використовується для P-1, P+1 і для ECM для номерів розміру at
найбільше 30 машинних слів.

ВИХІД


-q
Тихий режим. Знайдені множники друкуються на стандартному виводі з коефіцієнтами
розділені пробілами, один рядок на введене число (якщо коефіцієнт не знайдено,
введений номер просто копіюється).

-v
Детальний режим. Більше інформації надруковано, більше -v опції збільшують багатослівність. З
один -v, тип використовуваного модульного множення, початкове значення x0, параметри кроку 2
і прогрес, а також очікувані криві та час для пошуку факторів різного розміру для ECM
друкуються. З -v -v, значення A для ECM та залишків наприкінці кроку 1 і
крок 2 надруковано. Більше -v друкувати внутрішні дані для налагодження.

-помітка часу
Друкуйте мітку часу щоразу, коли обробляється нова крива ECM або P+1 або P-1.

МОДУЛЬНА АРИФМЕТИКА ВАРІАНТИ


Для модульного множення доступно кілька алгоритмів. Програма намагається знайти
найкращий для кожного входу; можна форсувати даний метод за допомогою наступних параметрів.

-mpzmod
Використовуйте функцію mpz_mod GMP (субквадратична для великих вхідних даних, але викликає деякі накладні витрати
для маленьких).

-modmuln
Використовуйте множення Монтгомері (квадратична версія). Зазвичай найкращий метод для маленьких
Вхід

-redc
Використовуйте множення Монтгомері (субквадратична версія). Теоретично оптимальний для
великий вхід.

-nobase2
Вимкніть спеціальний код base-2 (який використовується, коли введене число є великим коефіцієнтом
2^n+1 або 2^n-1, див -v).

- база 2 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). Також може бути корисно розділити крок 2 на кілька запусків за допомогою B2хв-В2макс
варіант.

-інп файл
Отримати вхідні дані з файлу файл замість стандартного введення.

- зберегти файл
Збережіть результат кроку 1 в файл. Якщо файл існує, виникла помилка. Приклад: виконувати
тільки крок 1 з B1=1000000 на складене число у файлі "c155" і збережіть його
результат у файлі "foo", використайте

ecm -зберегти foo 1e6 1 < c155

-савея файл
Люблю - зберегти, але додає до наявних файлів.

-резюме файл
Резюме залишки від файл, читає зі стандартного введення if файл є "-". Приклад: до
виконайте крок 2, дотримуючись наведеного вище кроку 1 обчислення, використовуйте

ecm -резюме foo 1e6

- chkpoint файл
Періодично записуйте поточний залишок на етапі 1 до файл. У разі відключення електроенергії,
тощо, обчислення можна продовжити на -резюме варіант.

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

LOOP РЕЖИМ


«Режим циклу» (опція -c n) дозволяє виконувати декілька кривих для кожного вхідного числа. The
наступні параметри керують його поведінкою.

-c n
Виконувати n виконується на кожному введеному номері (за замовчуванням один). Ця опція в основному корисна для
P+1 (наприклад, с n=3) або для ECM, де n можна встановити очікувану кількість
криві, щоб знайти d-розрядний коефіцієнт із обмеженим заданим кроком 1. Цей варіант несумісний
з -резюме, -сигма, -х0. Давати -c 0 створює нескінченний цикл, поки множник не буде
знайдено.

-один
У режимі циклу зупиняйтеся, коли знайдено фактор; за замовчуванням продовжується до
кофактор є простим або виконано вказану кількість запусків.

-b
Обробка в ширину: у цикловому режимі запустіть одну криву для кожного вхідного числа, потім a
друга крива для кожного і так далі. Це режим за замовчуванням з -інп.

-d
Обробка в глибину: в цикловому режимі запустити n криві для першого числа, то n Криві
для другого і так далі. Це режим за замовчуванням зі стандартним введенням.

-ве n
У режимі циклу під час другого та наступних запусків виводьте лише вирази, які мають at
найбільш n символів. За замовчуванням є -ве 0.

-i n
У режимі циклу збільшуйте B1 by n після кожної кривої.

-I n
У режимі циклу помножте B1 на фактор, що залежить від n після кожної кривої. За замовчуванням один
який повинен бути оптимальним на одній машині, в той час як -I 10 можна використовувати при спробі
розмножити одне й те саме число одночасно на 10 однакових машинах.

SHELL КОМАНДА ВИКОНАННЯ


Ці параметри дозволяють виконувати команди оболонки, щоб доповнити функціональність GMP-ECM.

-prpcmd CMD
Виконати команду CMD для перевірки простості факторів і кофакторів замість GMP-ECM
власні функції. Номер для перевірки передається через stdin. Код виходу 0
інтерпретується як «ймовірно простий», а ненульовий код виходу як «складений».

-faccmd CMD
Виконує команду CMD щоразу, коли фактор знайдено за допомогою P-1, P+1 або ECM. Вхідний номер,
Фактор і кофактор передаються через stdin, кожен у рядку. Це можна використати, тобто для
автоматично надсилати нові фактори:

ecm -faccmd 'mail -s “$HOSTNAME знайшов фактор”
[захищено електронною поштою]' 11e6 < cunningham.in

-idlecmd CMD
Виконує команду CMD перед кожною кривою ECM запускається спроба P-1 або P+1 на номер.
Якщо статус виходу з CMD відмінний від нуля, GMP-ECM завершується негайно, інакше це
продовжується нормально. GMP-ECM зупинено CMD біжить, пропонуючи шлях для здачі
Наприклад, сплячий режим GMP-ECM, коли система в іншому випадку зайнята.

РІЗНЕ


-n
Запустіть програму в «приємному» режимі (з пріоритетом нижче нормального).

-нн
Запустіть програму в «дуже гарному» режимі (пріоритет простою).

- шкала В2 f
Помножте межу кроку 2 за замовчуванням B2 за значенням з плаваючою комою f. Приклад: - шкала В2
0.5 ділить за замовчуванням B2 по 2.

-етап 1 час n
додавати n секунд до етапу 1 раз. Це корисно, щоб отримати правильний очікуваний час -v if
частина етапу 1 була виконана в іншому запуску.

-cofdec
Примусово вивести кофактор у десятковій формі (навіть якщо використовуються вирази).

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

Функції: наразі єдиною доступною функцією є Phi(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
Знайдено імовірний простий множник, кофактор є ймовірним простим множником

Використовуйте ecm онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

Команди Linux

Ad