Модульна арифметика

Матеріал з testwiki
Перейти до навігації Перейти до пошуку
Операції з часом на цих годинниках використовують правила арифметики по модулю 12. 9+4 ≡ 1 mod 12.

Мо́дульна арифме́тика — це система арифметики цілих чисел, в якій числа «обертаються навколо» деякого значення — модуля.

Найбільш відомий приклад модульної арифметики — це запис часу в 12-годинному форматі, в якому день ділиться на два 12-годинних періоди. Якщо зараз 9:00, то через 4 години на годиннику буде 1:00. Якщо просто додати, то 9 + 4 = 13, але це неправильна відповідь, тому що на годиннику по досягненні стрілки 12-ї години, замість 12:00 ми отримуємо 00:00. Тому правильна відповідь, що на годиннику буде 1:00.

Аналогічним чином, якщо годинник починає відлік о 12:00 (опівдні) і пройде 21 година, то час буде 9:00 наступного дня, а не 33:00. Оскільки годинник починає новий відлік часу після досягнення 12, то це буде арифметика за модулем 12. 12 відповідає не тільки значенню 12, але також і 0, так що час, який називається «12:00», також може бути названий «0:00», оскільки 0 ≡ 12 mod 12.

Ще один підхід до модульної арифметики пов'язаний з остачами від ділення цілих чисел на певне задане натуральне число. Фактично в ній розглядаються класи еквівалентності певного натурального числа.

У сучасному вигляді модульна арифметика була розвинута Гауссом в Disquisitiones Arithmeticae (1801).

Рівність за модулем

Два цілих числа a і b називаються рівними (конгруентними) за модулем n, якщо при цілочисельному діленні на n вони мають однакові остачі. Рівність чисел a і b за модулем n записують так:

 ab(modn).

Еквівалентні визначення:

  • Різниця a − b ділиться на n націло. Тобто a − b = kn, де k — якесь ціле число.
  • Число a може бути записано у вигляді a = b + kn, де k — якесь ціле число.

Наприклад:

  •  154(mod11).

Справді, 15 − 4 = 11 і 11 очевидно ділиться на 11.

  •  1637(mod7).

Маємо 16 − 37 = −21 і −21 ділиться на 7 націло.

  •  165(mod7).

У цьому разі 16−(−5)=16+5=21 і 21 ділиться на 7.

Властивості, що виконуються для відношення рівності, виконуються також для рівності за модулем.

Якщо a1b1(modn) та a2b2(modn), тоді:

  • (a1+a2)(b1+b2)(modn)
  • (a1a2)(b1b2)(modn)
  • (a1a2)(b1b2)(modn).

Шаблон:Hider

Рівність за модулем як відношення еквівалентності

З визначення рівності за модулем витікають такі властивості:

Тобто відношення рівності за модулем є відношенням еквівалентності на множині цілих чисел . Тоді розбивається на класи еквівалентності.

Клас еквівалентності відношення рівності за модулем n до якого належить число a позначається an.

Оскільки, n0(modn), то додати n, теж саме, що і додати 0. Тому клас числа an={a,a±n,a±2n,a±3n,}={,a2n,an,a,a+n,a+2n,}.

Для прикладу, розглянемо відношення по модулю 2.  ab(mod2), тоді і тільки тоді, коли їх різниця ab парне число. Це співвідношення призводить до двох класів еквівалентності: один клас, що складається з усіх парних чисел, та другий, який складається з усіх непарних чисел. Клас парних чисел позначається, як Шаблон:Math, непарних як Шаблон:Math. Згідно з цим співвідношенням Шаблон:Math, Шаблон:Math та Шаблон:Math належать одному класу — [0]=02={0,±2,±4,±6,}.

Множина класів конгруентності за модулем n позначається: /n (або, /n чи n) і за визначенням це:

/n={an|a}.

Коли n ≠ 0, /n має n елементів, і може бути записано:

/n={0n,1n,2n,,n1n}.

Для цих класів можна задати операції додавання, віднімання, множення:

  • an+bn=(a+b)n
  • anbn=(ab)n
  • anbn=(ab)n.

Обґрунтованість цих означень випливає із властивостей попереднього розділу.

Кільце класів рівності за модулем

Таким чином /n є комутативним кільцем. Наприклад в /24, маємо

1224+2124=924

Деякий елемент mn має обернений елемент тоді й лише тоді коли m i n є взаємно простими числами. Справді, якщо m i n є взаємно простими, то тоді існують a,b такі, що an+bm=1. Звідси:

an+bm1(modn) і як наслідок bm1(modn).

Навпаки, якщо bm1(modn) для деякого b, то an+bm=1 для деякого a, що неможливо, враховуючи взаємну простоту m i n.

Відповідно, якщо n просте число, то /n є полем.

Розв'язування лінійних рівнянь

Шаблон:Wikibooks Лінійне рівняння записується у вигляді

axb(modn).

Розв'язок можна отримати безпосередньо діленням xba(modn) або за допомогою формули

xbaφ(n)1(modn), якщо НСД (a,n)=1, тобто взаємно прості числа.

Функція φ(n) — функція Ейлера, яка дорівнює кількості натуральних чисел, не більших n і взаємно простих з ним.

Якщо НСД (a,n)=1, порівняння або має не єдиний розв'язок, або не має розв'язків. Як легко побачити, порівняння

2x3(mod4)

не має розв'язків на множині натуральних чисел.

Інше порівняння

4x6(mod22)

має два розв'язки

x=7,x=18.

Див. також

Джерела