Тест Люка — Лемера

Тест Люка — Лемера — ефективний тест простоти для чисел Мерсенна. Завдяки цьому тесту найбільшими відомими простими числами завжди були прості числа Мерсенна, причому навіть до появи комп'ютерів[1].


Історія

Тест був запропонований французьким математиком Люка 1878 року і доповнений американським математиком Лемером 1930 року. Отриманий тест носить ім'я двох вчених, які спільно відкрили його, навіть не зустрічаючись за життя. 1952 року Робінсон за підтримки Лемера провів обчислення на комп'ютері SWAC з використанням тесту Люка — Лемера, результатом якого стало відкриття простих чисел і . Пізніше того ж року були відкриті , і [1].

Тест

Тест Люка — Лемера базується на тому спостереженні, що простота числа Мерсенна тягне простоту числа , і в наступному твердженні:

Нехай  просте число, причому . визначимо послідовність таким чином:

Тоді  — просте тоді і тільки тоді, коли .

Для встановлення простоти послідовність чисел обчислюється по модулю числа (тобто обчислюються не власне числа , довжина яких росте експоненціально, а остачі від ділення на , довжина яких обмежена p бітами). Останнє число в цій послідовності називається вирахуванням Люка — Лемера. Таким чином, число Мерсенна є простим тоді і тільки тоді, коли число просте, і вирахування Люка — Лемера дорівнює нулю.

Можливими значеннями є: 4, 10, 52, 724, 970, 10084, …

Обчислювальна складність

Обчислювальна складність тесту для числа дорівнює [2], оскільки в процесі тесту виконується піднесення до квадрату та вирахувань по модулю . Довжина становить біт, причому найпростіший алгоритм множення чисел має складність . Для прискорення тесту слід використовувати алгоритми швидкого множення великих цілих чисел, наприклад, алгоритм Шенхаге — Штрассена. Складність тесту в такому випадку становитиме .

Приклади

Розглянемо виконання тесту для числа Мерсенна .

Отже, число  — просте.

Доведення

Теорема: Нехай  — просте число, причому . Визначимо послідовність таким чином:

Тоді  — просте тоді і тільки тоді, коли .

Доведення теореми засновано на властивостях послідовностей Люка і :

Такі властивості доводяться по індукції:

Лема: Нехай  — просте і , тоді справедливе наступне твердження. Якщо , то .

Доказ леми: Покладемо , . Використовуємо вище описані властивості, щоб отримати значення для і :

, в той час як .

Тим же способом отримаємо:

і

Інакше кажучи,

і ,

звідки випливає твердження леми, якщо взяти .

Далі, розкривається вираз послідовностей за формулою біному Ньютона:

Тепер, якщо ми покладемо , де  — просте число, більше 2, і врахуємо, що кратне за винятком тих випадків, коли і , ми отримаємо:

, .

Якщо теорема Ферма стверджує, що . Тому , тобто . Якщо , то

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

Лема: Якщо  — додатне ціле число, і  — найменше число таке, що , то ми маємо:

тоді і тільки тоді, коли кратне .

Доведення: Зауважимо, що послідовність збігається з послідовністю по модулю , де число взаємно просте з , так як: .

Доведення теореми: По індукції маємо

.

Більш того, з слідує, що . Звідси слід, що і не мають загальних непарних дільників. Якщо , то для і можна записати:

Тепер, якщо , то повинно бути дільником числа , але не повинно ділити , тому . Доведемо, що . Нехай . Числа більше 3, так як непарне і виконується ,  — просте за умовою. Використовуючи раніше доведені леми, отримаємо , де

де . Звідси випливає, що кратне . Покладемо ; . Так як  — парне, . Використовуємо раніше доведені факти і отримаємо ; отже і або . Зауважимо, що  — ступінь двійки. Звідси випливає, що і . Якщо  — складене, то має бути , де і  — прості числа. Подальше розкладання на прості числа, якщо  — непарне, неможливо, тому  — просте.

Навпаки, припустимо, що  — просте. Покажемо, що . Для цього достатньо показати, що , так як .

Так як  — просте, то біноміальний коефіцієнт ділиться на крім тих випадків, коли чи . Отже:

.

Тут , тому за малої теореми Ферма. Нарешті, використовуючи найпростіший випадок квадратичного закону взаємності, покажемо, що , так як і . Це значить, що , так що . [3]

Псевдокод

Lucas–Lehmer(p)
    var s = 4
    var M = 2p — 1
    repeat p — 2 times:
        s = ((s × s) — 2) mod M
    if s = 0 return PRIME else return COMPOSITE

Модифікації

Для чисел виду , де існує модифікація цього тесту, розроблена Хансом Різелем (швед. Hans Riesel). Можливо узагальнення тесту для чисел виду [4]. Також існує більш загальний варіант тест Люка, який застосовний для будь-якого натурального числа , якщо відоме розкладання на прості множники числа .

Застосування

Завдяки тесту Люка — Лемера прості числа Мерсенна утримують лідерство як найбільші відомі прості числа[5]. Саме тест Люка — Лемера лежить в основі проекту розподілених обчислень GIMPS, що шукає нові прості числа Мерсенна.

Див. також

Примітки

  1. Paulo Ribenboim. The Little Book of Bigger Primes. — Springer. — 2004. — С. 78. — (2-ге видання) — ISBN 978-0387201696.
  2. Eric Bach; Jeffrey Shallit. Algorithmic Number Theory, Vol. 1: Efficient Algorithms. — The MIT Press, 1996. — С. 275. — ISBN 978-0262024051.
  3. Donald E. Knuth. The Art of Computer Programming, Volume 2: Seminumerical Algorithms. — Addison-Wesley Professional, 1997. — С. 2. — (2-ге видання) — ISBN 978-0201896848.
  4. H. C. Williams. A class of primality tests for trinomials which includes the Lucas-Lehmer test. (англ.). Архів оригіналу за 23 грудня 2012. Процитовано 28 листопада 2012.
  5. The «Top Ten» Record Primes(англ.).

Література

  • Weisstein, Eric W. Lucas-Lehmer Test(англ.) на сайті Wolfram MathWorld.
  • А.Н.Рудаков. Числа Фібоначчі і простота числа 2127-1 // 4 (третя серія). — Математична просвіта, 2000.
  • Donald E. Knuth. The Art of Computer Programming, Volume 2: Seminumerical Algorithms. — Addison-Wesley Professional, 1997. — С. 389-394. — ISBN 978-0201896848.
  • Paulo Ribenboim. The Little Book of Bigger Primes. — Springer, 2004. — С. 75-80. — ISBN 978-0387201696.
  • Eric Bach; Jeffrey Shallit. Algorithmic Number Theory, Vol. 1: Efficient Algorithms. — The MIT Press, 1996. — С. 273-275. — ISBN 978-0262024051.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.