Тест на простоту Поклінґтона

Матеріал з testwiki
Версія від 16:57, 21 липня 2022, створена imported>Alessot (+шаблон)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Тест на простоту Поклінґтона (Шаблон:Lang-en) — тест на простоту розроблений Генрі Кабурн Поклінґтоном і Деріком Генрі Лемером для визначення чи є число n простим. На виході тесту або доведення простоти, або неможливість доведення.

Лема

Нехай n>1. Якщо для кожного простого дільника q для n1 існує ціле таке, що

  1. an11(modn),
  2. a(n1)/q≢1(modn);

тоді n — просте.

Позначення: a|b означає, що a ділить b.

Доведення: Для того, щоб показати, що n просте нам потрібно лише показати, що ϕ(n)=n1, або простіше, що (n1)|ϕ(n). Припустимо це не так, тоді існує просте q і показник r>0 такий, що qr|(n1), але не ділить ϕ(n). Для цього цілого q ми маємо мати ціле, що задовольняє попереднім умовам. Тепер нехай m буде порядком a за модулем n, тоді m|(n1) (перша умова), але не ділить (n1)/q (друга умова). Отже qr ділить m, яке ділить ϕ(n) — протиріччя, яке доводить лему.

Теорема Поклінґтона

Теорема Поклінґтона (Шаблон:Lang-en) (1914): Нехай n1=qkR, де q — просте, яке не ділить R. Якщо існує ціле таке, що an11(modn) і gcd(a(n1)/q1,n)=1, тоді кожен простий дільник p для n має вигляд qkr+1.

Доведення: Нехай p — довільний простий дільник n, і нехай m буде порядком a за модулем p. Як і в лемі, m|(n1)=qkR (перша умова для a), але не ділить (n1)/q=qk1R (друга умова); отже qk|m. Звісно, m|(p1) і звідси висновок.

Вислід

Вислідом застосування теореми Поклінґтона до кожного простого степеневого дільника n (плюс трошки роботи) є:

Теорема: Припустимо, що n1=F×R (тобто F|(n1) ), де F>R, gcd(F,R)=1 і відома факторизація F=j=1tqjej. Якщо існує ціле a, що задовольняє:

  1. an11(modn);
  2. gcd(a(n1)/qj1,n)=1 для кожного j,1jt,

тоді кожен простий дільник p для n конгруентний 1 за модулем F. З цього випливає, що якщо F>n1, тоді n є простим.

Кількість перевірок

Нехай n=RF+1 буде непарним простим з F>n1 і gcd(R,F)=1. І нехай різними простими дільниками для F будуть q1,q2,,qt. Тоді ймовірність, що випадково обрана база a, 1an1, задовольняє обом умовам: an1(modn); і gcd(a(n1)/qj1,n)=1 для кожного j, 1jt, становить j=1t(11/qj)1j=1t1/qj.

Отже, якщо відома факторизація дільника F>n1, тоді для перевірки на простоту, можна просто обирати випадкові цілі в інтервалі [2,n2] доки на знайдеться таке, що задовольняє умовам 1 і 2, тобто n просте. Якщо таке a не знайшли після розумної кількості ітерацій,[1] тоді n імовірно складене і це можна перевірити через застосування ймовірнісного тесту на простоту.

Примітки

Шаблон:Reflist

Джерела

Шаблон:Алгоритми теорії чисел

  1. За кількість ітерацій можна взяти T, де PT(12)100, і де P=1j=1t(11/qj).