Interested Article - Тест Люка — Лемера — Ризеля

Тест Люка — Лемера — Ризеля ( LLR ) — тест простоты для чисел вида с (подмножество таких чисел называется числами Сабита ). Разработан и базируется на тесте Люка — Лемера , является самым быстрым детерминированным алгоритмом для чисел такого вида .

Алгоритм

Алгоритм очень похож на тест Люка — Лемера, но начинается со значения, зависящего от . Для алгоритма используется последовательность Люка , задаваемая для формулой:

.

является простым в том и только в том случае, когда оно делит .

Поиск стартового значения

  • Случай . Если — нечётно, то берётся значение . Если , то берётся . Для простого — это числа Мерсенна .
  • Случай . Значение можно использовать для всех n ≡ 0, 3 (mod 4).
  • Если и не делится на 3, можно использовать значение .
  • В остальных случаях делится на 3 и выбрать правильное стартовое значение u 0 значительно труднее.

Альтернативный метод поиска стартового значения дан в 1994 году . Метод много проще использованного Ризелем для случая, когда 3 делит . В альтернативном способе сначала находится значение , удовлетворяющее следующему равенству символов Якоби :

и .

На практике нужно проверить лишь несколько значений (5, 8, 9 или 11 перекрывают 85 %).

Чтобы получить начальное значение из можно использовать последовательность Люка . При 3 ∤ k (k не делится на 3) можно использовать значение и предварительный поиск не нужен. Начальное значение тогда равно последовательности Люка по модулю . Этот процесс занимает очень малое время по сравнению с основным тестом.

Механизм теста

Тест Люка — Лемера — Ризеля является частным случаем проверки простоты порядка группы. В тесте показывается, что некоторое число — простое в связи с тем, что некоторая группа имеет порядок, который был бы равен этому простому числу, для чего выявляется элемент группы, имеющий в точности нужный порядок.

В тестах, подобных тестам Люка, для числа используется мультипликативная группа квадратичного расширения целых по модулю . Если — простое, порядок мультипликативной группы равен , и она имеет подгруппу порядка , для целей теста ищется порождающее множество этой подгруппы.

Можно найти неитеративное выражение для . Следуя модели теста Люка — Лемера, положим и получим по индукции .

Рассмотрим 2 i -ый элемент последовательности . Если a удовлетворяет квадратному уравнению, это последовательность Люка, и она подчиняется выражению . В действительности мы ищем -ый элемент другой последовательности, но поскольку при децимации (выборка каждого k -го элемента) последовательности Люка получаем также последовательность Люка, мы можем выбирать множитель k путём выбора стартовой точки.

LLR программа

LLR — это программа, которая выполняет LLR-тест. Программа разработана Жаном Пене (Jean Penné). Винсент Пене (Vincent Penné) модифицировал программу, чтобы можно было проверять простоту числа через интернет. Программа может использоваться как для индивидуального поиска, но также включена в некоторые проекты распределенных вычислений , включая и PrimeGrid .

См. также

Примечания

  1. Для проверки простоты похожих на эти чисел Прота используется либо Теорема Прота ( вероятностный алгоритм ), либо один из детерминированных алгоритмов, описанных Брилхартом, Лемером и Селфриджом в 1975 году — см.
  2. .
  3. , p. 194.

Литература

  • Hans Riesel. // Mathematics of Computation. — American Mathematical Society, 1969. — Т. 23 , вып. 108 . — С. 869—875 . — doi : . — JSTOR .
  • John Brillhart, Derrick Henry Lehmer, John Selfridge. // Mathematics of Computation. — 1975. — Vol. 29. — Вып. 130 . — С. 620—647 . — doi : .
  • Öystein J. Rödseth. // BIT Numerical Mathematics. — 1994. — Т. 34 , вып. 3 . — С. 451—454 . — doi : . 4 марта 2016 года.
  • Hans Riesel. Prime Numbers and Computer Methods for Factorization. — 2nd. — Birkhäuser, 1994. — Т. 126. — С. 107—121. — (Progress in Mathematics). — ISBN 0-8176-3743-5 .

Ссылки

  • — Модуль на Perl, базовая реализация LLR и теста Прота, а также некоторые методы из статьи Брилхарта, Лемера и Селфриджа.
Источник —

Same as Тест Люка — Лемера — Ризеля