Как найти первообразный корень числа

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 7 февраля 2020 года; проверки требует 21 правка.

Первообразный корень по модулю m ― целое число g такое, что

{displaystyle g^{varphi (m)}equiv 1{pmod {m}}}

и

{displaystyle g^{ell }not equiv 1{pmod {m}}} при {displaystyle 1leq ell <varphi (m),}

где varphi(m) ― функция Эйлера. Другими словами, первообразный корень — это образующий элемент мультипликативной группы кольца вычетов по модулю m.

Чтобы не проверять все ell от 1 до varphi(m), достаточно проверить три условия:

  1. Является ли g числом взаимно простым с m, и если нет – то это не первообразный корень.
  2. Так как varphi(m) – всегда чётное число для всех {displaystyle m>2}, то varphi(m) имеет как минимум один простой делитель – простое число 2, следовательно, для того, чтобы отсеять значительное количество не-корней, достаточно проверить {displaystyle g^{varphi (m)/2}not equiv 1{pmod {m}}} для числа, подходящего на первообразный корень по модулю m.[1] Если результат +1 equiv m , то g – не корень, в ином случае результат -1 equiv m, когда g – это возможно первообразный корень.
  3. Далее следует убедиться, что {displaystyle g^{ell }not equiv 1{pmod {m}}} для всех {displaystyle ell ={frac {varphi (m)}{p}}}, где p – простой делитель числа varphi(m), полученный в результате его факторизации.

Свойства[править | править код]

Существование[править | править код]

Первообразные корни существуют только по модулям m вида

{displaystyle m=2,4,p^{a},2p^{a}},

где p>2 ― простое число, {displaystyle ageqslant 1} ― натуральное. Только в этих случаях мультипликативная группа кольца вычетов по модулю m является циклической группой порядка varphi(m).

Количество[править | править код]

Если по модулю m существует первообразный корень g, то всего существует varphi(varphi(m)) различных первообразных корней по модулю m, причём все они имеют вид g^{k}, где {displaystyle 1leq k<varphi (m)} и {displaystyle (k,varphi (m))=1}.

Индекс числа по модулю[править | править код]

Для первообразного корня g его степени {displaystyle g^{varphi (m)}=1,g,dots g^{varphi (m)-1}} несравнимы между собой по модулю m и образуют приведенную систему вычетов по модулю m. Поэтому для каждого числа a, взаимно простого с m, найдется показатель {displaystyle ell ,0leq ell <varphi (m)}, такой, что

{displaystyle g^{ell }equiv a{pmod {m}}.}

Такое число ell называется индексом числа a по основанию g.

Минимальный корень[править | править код]

Исследования Виноградова показали, что существует такая константа C, что для всякого простого p существует первообразный корень {displaystyle g<C{sqrt {p}}}. Другими словами, для простых модулей p минимальный первообразный корень имеет порядок {displaystyle O({sqrt {p}})}.
Математик Виктор Шуп[en] из Университета Торонто показал, что если «Обобщённая гипотеза Римана» верна, то первообразный корень есть среди первых {displaystyle O(log ^{6}{p})} чисел натурального ряда[2].

История[править | править код]

Первообразные корни для простых модулей p были введены Эйлером, но существование первообразных корней для любых простых модулей p было доказано лишь Гауссом в «Арифметических исследованиях» (1801 год).

Примеры[править | править код]

Число 3 является первообразным корнем по модулю 7. Чтобы в этом убедиться, достаточно каждое число от 1 до 6 представить как некоторую степень тройки по модулю 7:

{displaystyle 3^{1}equiv 3 {pmod {7}}}
{displaystyle 3^{2}equiv 2 {pmod {7}}}
{displaystyle 3^{3}equiv 6 {pmod {7}}}
{displaystyle 3^{4}equiv 4 {pmod {7}}}
{displaystyle 3^{5}equiv 5 {pmod {7}}}
{displaystyle 3^{6}equiv 1 {pmod {7}}}

Примеры наименьших первообразных корней по модулю m (последовательность A046145 в OEIS):

Модуль m 2 3 4 5 6 7 8 9 10 11 12 13 14
Первообразный корень 1 2 3 2 5 3 2 3 2 2 3

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

  • Гипотеза Артина
  • Дискретное логарифмирование
  • Показатель числа по модулю

Примечания[править | править код]

  1. Primitive Root – Competitive Programming Algorithms. cp-algorithms.com. Дата обращения: 27 октября 2020. Архивировано 24 октября 2020 года.
  2. Bach, Eric; Shallit, Jeffrey. Algorithmic Number Theory (Vol I: Efficient Algorithms). — Cambridge: The MIT Press, 1996. — P. 254. — ISBN 978-0-262-02405-1.

Литература[править | править код]

  • Виноградов И. М. Глава 6. Первообразные корни и индексы // Основы теории чисел. — 1952. — 182 с.
  • Нестеренко Ю. В. Глава 7. Первообразные корни и индексы // Теория чисел. — М.: «Академия», 2008. — 464 с.

Ссылки[править | править код]

  • «Первообразные корни» на сайте MAXimal Архивная копия от 1 декабря 2011 на Wayback Machine
  • Weisstein, Eric W. Primitive Root (англ.) на сайте Wolfram MathWorld.

Первообразный корень по модулю {displaystyle m} ― целое число {displaystyle g} такое, что

{displaystyle g^{phi (m)}equiv 1mod m}

и

{displaystyle g^{ell }not equiv 1mod m} при {displaystyle 1leq ell leq phi (m)-1}.

Где {displaystyle phi (m)} ― функция Эйлера.

Иначе говоря, первообразный корень — порождающая мультипликативной группы кольца вычетов по модулю {displaystyle m}.

Для первообразного корня {displaystyle g} его степени {displaystyle g^{0}=1,g,...,g^{phi (m)-1}} несравнимы между собой по модулю {displaystyle m} и образуют приведенную систему вычетов по модулю {displaystyle m}.
Таким образом, для каждого числа {displaystyle a}, взаимно простого с {displaystyle m}, найдется
показатель {displaystyle ell } ({displaystyle 0leq ell leq phi (m)-1}), для которого

{displaystyle g^{ell }equiv amod m}.

Первообразные корни существуют не для всех модулей, а только для
модулей {displaystyle m} вида

{displaystyle m=2,4,p^{a},2p^{a}},

где {displaystyle p>2} ― простое число.
В этих случаях мультипликативные группы приведенных классов вычетов по модулю {displaystyle m} устроены наиболее просто: они являются циклическими группами порядка {displaystyle phi (m)}.
С понятием первообразного корня по модулю {displaystyle m} тесно связано понятие индекса числа по модулю {displaystyle m}.

История

Первообразные корни для простых модулей {displaystyle p} были введены Эйлером, но существование первообразного корней для любых простых модулей {displaystyle p} было доказано лишь Гауссом в 1801.

Пример

Проверим, является ли число 3 первообразным корнем по модулю 7.
Если это так, то каждое число от 1 до 6 должно быть представлено
остатком от деления некоторой степени тройки на 7,
действительно, перебором убеждаемся:

{displaystyle 3^{1}equiv 3 {pmod {7}}}
{displaystyle 3^{2}equiv 2 {pmod {7}}}
{displaystyle 3^{3}equiv 6 {pmod {7}}}
{displaystyle 3^{4}equiv 4 {pmod {7}}}
{displaystyle 3^{5}equiv 5 {pmod {7}}}
36 = 1 (mod 7)

Примеры наименьших первообразных корней по модулю m:

m 2 3 4 5 6 7 8 9 10 11 12
первообразный корнь mod m 1 2 3 2 5 3 2 3 2

hu:Primitív gyök
pl:Pierwiastek pierwotny
ta:ஏது மூலம், மாடுலோ p
vi:Căn nguyên thủy modulo n

В настоящем пункте
будем рассматривать число n,
причем n—1=* – каноническое разложение на простые
сомножители.

Теорема

On(a)=n—1
1)an—1≡1(mod
n);

2)
,1(mod
n).

Доказательство:

Пусть On(a)=n—1.
Тогда (1) выполняется в силу определения
порядка элемента в группе. Кроме того,
,
1 ≤<n—1=
On(a),
откуда в силу определения порядка
элемента, выполняется (2).

Пусть теперь
выполнены (1) и (2). Покажем, что On(a)=n—1.

В силу (1), On(a)(n—1).
В силу (2), On(a)
не делит
.
Значит,On(a)=n—1.

Результатами
только что доказанной теоремы можно
пользоваться для нахождения
порождающего элемента группы
Up,
причем проверять стоит только второй
пункт, так как первый для простого
модуля выполняется автоматически
согласно теореме Ферма. Кроме того,
можно вывести правило:
если a1,
a2
не являются порождающими элементами
группы Up,
то a1a2
также не является порождающим элементом
Up.
Отсюда делаем вывод о том, что наименьший
порождающий элемент группы Up
– простое число.

Пример

p=71.
p—1=70=2·5·7.

Для того чтобы a
являлся порождающим элементом, необходимо
и достаточно, чтобы выполнялись условия:
a101(mod
n),
a141(mod
n),
a351(mod
n).

Будем испытывать
числа из U71.
Вместо ab
mod
71 для краткости будем писать ab.

2: 210
=30, 214
=54, 235=1.
2 не является порождающим элементом.

3: 310
=48, 314
=54, 335=1.
3 не является порождающим элементом.

5: 510
= 1.
5 не является порождающим
элементом.

7: 710
=45, 714
=54, 735=70.
7 – порождающий элемент.

Итак, наименьший
порождающий элемент группы U71
(или первообразный корень по модулю
71) есть 7.

6.5. Существование и количество первообразных корней.

Первообразные
корни существуют не для всякого модуля.
Действительно, как было показано в
Примере 2 п.1, не существует первообразных
корней по модулю 8.

Теорема 1

Первообразные
корни по модулю m
существуют
m=2,
4, pα
или 2pα,
где p
– простое нечетное число.

Теорема 2

Количество
первообразных корней по модулю m,
если они существуют, есть φ(φ(m)).

Пример:

Определить
количество первообразных корней по
модулю 10.

10 = 2·5=2р.
Первообразные корни существуют. Найдем
их количество.

φ(φ(10))=φ(4)=2.

Проверим результат.
U10={1,
3, 7, 9}

O10(1)=1;

32=9,
33=7,
34=1.
O10(3)=4=φ(10).
3 – первообразный корень.

72=9,
73=3,
74=1.
O10(7)=4=φ(10).
7 – первообразный корень.

92=1.
O10(9)=2.

Действительно,
нашлись два первообразных корня по
модулю 10.

Теорема 3

Пусть с=φ(m),
q1,
q2,
… , qk
– различные простые делители с.
Тогда g:
(g,m)=1
– первообразный корень по модулю m
не выполняется ни одно из сравнений,i=1,2,…,k.

Теорема, доказанная
в предыдущем пункте, является частным
случаем данной теоремы при простом n.

6.6. Дискретные логарифмы.

Если g
– первообразный корень по модулю m
(порождающий элемент Um),
то, если γ пробегает полную систему
вычетов по модулю φ(m),
то gγ
пробегает приведенную систему вычетов
по модулю m.

Для чисел a:
(a,m)=1
введем понятие об индексе, или о
дискретном логарифме.

Если agγ
(mod
m),
то γ называется индексом,
или дискретным
логарифмом

числа а
по основанию g
по модулю m.

В теории чисел
принято употреблять слово «индекс» и
писать γ=indga,
но в криптографии применяют сочетание
«дискретный логарифм» и пишут γ=logga.
Поскольку на протяжении настоящего
пособия не раз встретится упоминание
о так называемой задаче дискретного
логарифмирования, будем употреблять
последний вариант названия и написания.
Тем более, что дискретные логарифмы
обладают некоторыми свойствами
логарифмов непрерывных:

Свойство 1:
Дискретный логарифм разнозначен в
полной системе вычетов по модулю φ(m).

Свойство 2:
loggabhlogga+loggb+…+loggh
(mod
φ(m)).

Свойство 3:
loggannlogga(mod
φ(m)).

Доказательство
этих свойств не представляет сложности
и является прямым следствием определений
дискретного логарифма и первообразного
корня.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Как найти первообразный корень ?



Профи

(599),
закрыт



11 лет назад

Alexсашка

Ученик

(161)


12 лет назад

Ты понял правильно, но дело в том, что у числа по модулю p есть много первообразных корней. вот например для p = 17 это числа 3,10,5,11,14,7,12,6. как это посчитать: вот ты нашел первый первообразный корень, для данного случая g=3. Далее возводишь 3 в степени от 1 до F(p), где F функция эйлера. берешь, ясен пень по модулю p. вот получил строчку из чисел – степеней тройки по mod p. затем зачеркиваешь все числа в этом ряду под четными номерами, а также числа, не взаимно простые с F(p). все числа не зачеркнутые будут твоими искомыми первообразными корнями. я долго ржал над: “а затем найти первое число ОТ ПОСЛЕ единицы”. вот ты грамотей!:)

Источник: Семинарист

Егор КрасовЗнаток (491)

2 года назад

я долго ржал над: “числа, не ВЗАИМНО ПРОСТЫЕ с F(p)” и “для p = 17 это числа 3,10,5,11,14,7,12,6” ну ты и грамотей, чел из 2011:)

Первообразный корень по модулю m ― целое число g такое, что

[math]displaystyle{ g^{varphi(m)} equiv 1 pmod m }[/math],

где [math]displaystyle{ varphi(m) }[/math] ― функция Эйлера, при этом для любого меньшего числа [math]displaystyle{ 1le n lt varphi(m), }[/math] [math]displaystyle{ g^{n} notequiv 1 pmod m }[/math]. Последовательные степени числа g, начиная с [math]displaystyle{ g^{0} }[/math], образуют приведённую систему вычетов по модулю m. В терминах теории колец первообразный корень — это порождающий элемент мультипликативной группы кольца вычетов по модулю m.

Свойства

Существование

Первообразные корни существуют только по модулям [math]displaystyle{ m }[/math] вида

[math]displaystyle{ m=2,4,p^a,2p^a }[/math],

где [math]displaystyle{ pgt 2 }[/math] ― простое число, [math]displaystyle{ ageqslant1 }[/math] ― целое. Только в этих случаях мультипликативная группа кольца вычетов по модулю m является циклической группой порядка [math]displaystyle{ varphi(m) }[/math].

Индекс числа по модулю

Для первообразного корня g его степени g0=1, g, …, gφ(m) − 1 несравнимы между собой по модулю m и образуют приведенную систему вычетов по модулю m. Поэтому для каждого числа a, взаимно простого с m, найдется показатель ℓ, 0 ⩽ ℓ ⩽ φ(m) − 1, такой, что

[math]displaystyle{ g^{ell} equiv a pmod m. }[/math]

Такое число ℓ называется индексом числа a по основанию g.

Количество

Если по модулю m существует первообразный корень g, то всего существует φ(φ(m)) различных первообразных корней по модулю m, причём все они имеют вид [math]displaystyle{ g^k }[/math], где [math]displaystyle{ 1 le k le varphi(m) – 1 }[/math] и [math]displaystyle{ (k, varphi(m)) = 1 }[/math].

Оценка минимального корня

Исследования Виноградова показали, что существует такая константа [math]displaystyle{ C }[/math], что для всякого простого [math]displaystyle{ p }[/math] существует первообразный корень [math]displaystyle{ glt Csqrt{p} }[/math]. Другими словами, для простых модулей [math]displaystyle{ p }[/math] минимальный первообразный корень может быть оценён как [math]displaystyle{ O(sqrt{p}) }[/math].
Математик Виктор Шуп[en] из Университета Торонто показал, что если «Обобщённая гипотеза Римана» верна, то первообразный корень есть среди первых [math]displaystyle{ O(log^6 {p}) }[/math] чисел натурального ряда[1].

История

Первообразные корни для простых модулей [math]displaystyle{ p }[/math] были введены Эйлером, но существование первообразных корней для любых простых модулей [math]displaystyle{ p }[/math] было доказано лишь Гауссом в «Арифметических исследованиях» (1801 год).

Примеры

Число 3 является первообразным корнем по модулю 7. Чтобы в этом убедиться, достаточно каждое число от 1 до 6 представить как некоторую степень тройки по модулю 7:

[math]displaystyle{ 3^1 equiv 3 pmod 7 }[/math]
[math]displaystyle{ 3^2 equiv 2 pmod 7 }[/math]
[math]displaystyle{ 3^3 equiv 6 pmod 7 }[/math]
[math]displaystyle{ 3^4 equiv 4 pmod 7 }[/math]
[math]displaystyle{ 3^5 equiv 5 pmod 7 }[/math]
[math]displaystyle{ 3^6 equiv 1 pmod 7 }[/math]

Примеры наименьших первообразных корней по модулю m (последовательность A046145 в OEIS):

Модуль m 2 3 4 5 6 7 8 9 10 11 12 13 14
Первообразный корень 1 2 3 2 5 3 2 3 2 2 3

См. также

  • Гипотеза Артина
  • Дискретное логарифмирование
  • Показатель числа по модулю

Примечания

  1. Bach, Eric; Shallit, Jeffrey. Algorithmic Number Theory (Vol I: Efficient Algorithms). — Cambridge: The MIT Press, 1996. — P. 254. — ISBN 978-0-262-02405-1.

Литература

  • Виноградов И. М. Глава 6. Первообразные корни и индексы // Основы теории чисел. — 1952. — 182 с.
  • Нестеренко Ю. В. Глава 7. Первообразные корни и индексы // Теория чисел. — М.: «Академия», 2008. — 464 с.

Ссылки

  • «Первообразные корни» на сайте MAXimal Архивная копия от 1 декабря 2011 на Wayback Machine
  • Weisstein, Eric W. Primitive Root (англ.) на сайте Wolfram MathWorld.

Добавить комментарий