Jump to content

Тест Лукаса на простоту

В вычислительной теории чисел тест Люка — это тест на простоту натурального числа n ; для этого требуется, чтобы простые множители числа n - 1 были уже известны. [1] [2] Это основа сертификата Пратта , который дает краткую проверку того, что n является простым.

Концепции [ править ]

Пусть n — положительное целое число. Если существует целое число a , 1 < a < n , такое, что

и для каждого простого множителя q числа n − 1

тогда n простое. Если такого числа a не существует, то n равно 1, 2 или составному числу .

Причина правильности этого утверждения следующая: если первая эквивалентность справедлива для a , мы можем сделать вывод, что a и n взаимно просты . Если a также выдерживает второй шаг, то порядок a группе в −1, что означает , ( Z / n Z )* равен n что порядок этой группы равен n −1 (поскольку порядок каждого элемента из группа делит порядок группы), подразумевая, что n число простое . И наоборот, если n простое, то существует примитивный корень по модулю n или генератор группы ( Z / n Z )*. Такой генератор имеет порядок |( Z / n Z )*| = n −1, и обе эквивалентности будут выполняться для любого такого примитивного корня.

Обратите внимание: если существует a < n такое , что первая эквивалентность не выполняется, a называется свидетелем Ферма составности n .

Пример [ править ]

Например, возьмем n = 71. Тогда n − 1 = 70 и простые делители числа 70 равны 2, 5 и 7. Мы случайным образом выбираем a=17 < n . Теперь вычисляем:

Для всех целых чисел известно, что

Следовательно, мультипликативный порядок 17 (по модулю 71) не обязательно равен 70, поскольку некоторый коэффициент 70 также может работать и выше. Итак, проверьте 70, разделенное на его простые множители:

К сожалению, мы получаем это 17 10 ≡1 (мод. 71). Итак, мы до сих пор не знаем, является ли 71 простым или нет.

Мы попробуем еще одно случайное значение a , на этот раз выбрав a = 11. Теперь вычисляем:

Опять же, это не означает, что мультипликативный порядок 11 (по модулю 71) равен 70, поскольку некоторый коэффициент 70 также может работать. Итак, проверьте 70, разделенное на его простые множители:

Таким образом, мультипликативный порядок числа 11 (по модулю 71) равен 70, и, следовательно, 71 является простым числом.

(Чтобы выполнить это модульное возведение в степень , можно использовать быстрый алгоритм возведения в степень, такой как двоичное возведение в степень или возведение в степень сложения ).

Алгоритм [ править ]

Алгоритм можно записать в псевдокоде следующим образом:

algorithm lucas_primality_test is
    input: n > 2, an odd integer to be tested for primality.
           k, a parameter that determines the accuracy of the test.
    output: prime if n is prime, otherwise composite or possibly composite.

    determine the prime factors of n−1.

    LOOP1: repeat k times:
        pick a randomly in the range [2, n − 1]
            if  then
                return composite
            else # 
                LOOP2: for all prime factors q of n−1:
                    if  then
                        if we checked this equality for all prime factors of n−1 then
                            return prime
                        else
                            continue LOOP2
                    else # 
                        continue LOOP1

    return possibly composite.

См. также [ править ]

Примечания [ править ]

  1. ^ Крэндалл, Ричард; Померанс, Карл (2005). Простые числа: вычислительная перспектива (2-е изд.). Спрингер. п. 173. ИСБН  0-387-25282-7 .
  2. ^ Кржижек, Михал; Лука, Флориан; Сомер, Лоуренс (2001). 17 лекций о числах Ферма: от теории чисел к геометрии . Книги CMS по математике. Том. 9. Канадское математическое общество/Спрингер. п. 41. ИСБН  0-387-95332-9 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b718114fff2e753e9a5c1e9755eda2c0__1686533340
URL1:https://arc.ask3.ru/arc/aa/b7/c0/b718114fff2e753e9a5c1e9755eda2c0.html
Заголовок, (Title) документа по адресу, URL1:
Lucas primality test - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)