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

От testwiki
Направо към навигацията Направо към търсенето

Мòдулна аритмèтика e система от алгебрични операции, дефинирани за остатъци при деление на фиксирано цяло положително число; система от аритметиката за цели числа, където числата циклично се „закръглят“ при достигане на определена стойност – модула.

Аритметичните операции с остатъци от числа по модул на фиксирана форма образуват модулната аритметика (аритметика по модул, модуларна аритметика, или часовникова аритметика),[1][2] която се използва широко в математиката, информатиката и криптографията.[3]

Сравняването на две цели числа по модула на естественото число m е математическа операция, чрез която се проверява дали две избрани цели числа дават еднакъв остатък, когато се разделят на m. Всяко цяло число, когато е разделено на m, дава един от m възможни остатъци: число от 0 до m1; това означава, че всички цели числа могат да бъдат разделени на m групи, всяка от които отговаря на определен остатък, когато е разделена на m. Тези групи се наричат ​​класове остатъци по модул m, а целите числа, съдържащи се в тях, се наричат ​​остатъци по модул m.

Съвременният подход към модулната аритметика е разработен от Карл Фридрих Гаус в книгата му Disquisitiones Arithmeticae, публикувана през 1801 г.

Отчитането на времето от този часовник използва аритметика по модул 12. Добавянето на 4 чàса към 9 часà дава 1 часà, тъй като 13 е равно на 1 по модул 12.

Познато използване на модулната аритметика е в
12-часовия часовник, при който денят е разделен на два 12-часови периода. Ако часът е 7:00 сега, тогава 8 часа по-късно ще бъде 3:00. Простото събиране би довело до 7 + 8 = 15, но 15:00 се чете като 3:00 на циферблата на часовника, защото часовниците се „закръглят“ на всеки 12 часа и числото на часа започва от нула, когато достигне 12. Казва се, че 15 съответства на 3 по модул 12, записано като 15 ≡ 3 (mod 12), така че 7 + 8 ≡ 3 (mod 12). По същия начин 8:00 представлява период от 8 часа и два пъти това ще даде 16:00, което се чете като 4:00 на циферблата на часовника, изписано като 2 × 8 ≡ 4 (mod 12).

История

Предпоставката за създаването на теорията на сравненията е възстановяването на трудовете на Диофант, които са публикувани в оригинал и с латински превод, благодарение на Клод Гаспар Баше де Мезириак, през 1621 г. Тяхното изследване e довело Пиер дьо Ферма до открития, които значително изпреварват времето си. Например, в писмо до Бернар де Бесси [4] от 18 октомври 1640 г. той докладва без доказателство теорема, която по-късно става известна с името Малка теорема на Ферма. В съвременната си формулировка теоремата гласи, че ако p е просто число и a е цяло число, което не се дели на p, тогава

ap11(modp) .

Първото доказателство на тази теорема принадлежи на Лайбниц и той открива тази теорема независимо от Фермà не по-късно от 1683 г. и съобщава това с точното доказателство на Бернули. Освен това Лайбниц предлага прототипна формулировка на теоремата на Уилсън.

По-късно изследването на въпроси, свързани с теорията на числата и теорията на сравненията, е продължено от Ойлер, който въвежда квадратичния закон за взаимността и обобщава теоремата на Ферма, установявайки, че

aφ(n)1(modn),

където φ(n) е функцията на Ойлер.

Понятието и символното обозначение на сравненията са въведени от Гаус като важен инструмент за обосноваване на неговата аритметична теория, работата по която той започва през 1797 г. В началото на този период Гаус все още не е запознат с трудовете на своите предшественици, така че резултатите от работата му, изложени в първите три глави на книгата му „Аритметични изследвания“ (1801 г.), по същество вече са били известни, но методите, които той използва за доказателствата, се оказват абсолютно нови и от най-голямо значение за развитието на теорията на числата. Използвайки тези методи, Гаус трансформира цялата натрупана преди него информация, свързана с операциите за сравняване по модул, в последователна теория, която за първи път е представена в същата книга. В допълнение, той изучава сравненията на първа и втора степен, теорията на квадратичните остатъци и свързания с нея квадратичен закон за взаимността. [5]

Съвпадане по модул

Ако две цели числа a и b при деление на цяло число m>1 дават еднакви остатъци, те се наричат съвпадащи (или равноостатъчи) по модул на числото m [6]. Съвпадането по модул се нарича още сходство по модул или конгруенция по модул и се означава

ab(modm).

Скобите означават, че (modm) се отнася за цялото уравнение, а не само за дясната му страна b. Това означение не трябва да се бърка с означението „bmodm“ без скоби, което се отнася до модулната операция: остатъкът от b, когато е разделено на m, т.е. bmodm обозначава уникалното цяло число r, така че Шаблон:Math и rb(modm).

Числата a и b са сходни по модул m, ако тяхната разлика е цяло число k пъти m

ab=km, т. е. се дели на цялото число m>1 без остатък.

Двете определения за съвпадане (сходство) по модул са идентични, което се доказва по следния начин. Отношението на сходство от втората дефиниция може да бъде записано като

a=km+b,

изрично показвайки връзката му с делението с остатък. Въпреки това тук не е необходимо b да е остатъкът при деленето на a на m. По-скоро ab(modm) от първото определение твърди, че a и b имат еднакъв остатък, когато са разделени на m:

a=pm+r,
b=qm+r,

където Шаблон:Math е общият остатък. Като се извадят тези два израза и се зададе k=pq, се получава формулировката във второто определение: ab=km.

Примери:
По модул 12 може да се твърди, че

317(mod12)

защото разликата 38 − 14 = 24 = 2 × 12 е кратна на 12. Еквивалентно, 38 и 14 имат един и същ остатък 2, когато се разделят на 12.

Определението за съвпадане по модул се прилага и за отрицателни стойности. Например:

42(mod6)87(mod5)317(mod7).

Свойства на съвпадането по модул

Основни свойства

За фиксирано естествено число m съвпадането по модул m има следните основни свойства:

По този начин отношение на съвпадане по модул m е отношение на еквивалентност в множеството от цели числа. [7]

Разширени свойства

Ако Шаблон:Math, Шаблон:Math, ... , Шаблон:Math, или ако Шаблон:Math, тогава: [8]

Ако Шаблон:Math за всяко цяло число Шаблон:Math, тогава Шаблон:Math (съвпадане на числа чрез увеличаване на едното или намаляване на другото с едно и също число)

Към всяка част от съвпадането може да се добави цяло число, кратно на модула, т. е., ако числата a и b съвпадат по модул на някакво число m, то и a+t1 съвпада с b+t2 по модул m, където t1 и t2 са произволни цели числа, кратни на m:

(a+t1)(b+t2)(modm).

Ако Шаблон:Math, тогава обикновено е невярно, че Шаблон:Math. Вярно е обаче следното:

Съвпаденията обаче не могат, най-общо казано, да бъдат разделени едно на друго или на други числа. Пример: 1420(mod6), но като се намалят 2 пъти, се получава погрешно съвпадение: 710(mod6). За съкращения на съвпадения има следните правила:

Последното правило може да се използва за връзка между модулна аритметика и деление. Ако Шаблон:Math е делител на Шаблон:Math, тогава Шаблон:Math.

Обратното по модул число се определя от следните правила:

Обратното по модул число Шаблон:Math може да бъде ефективно изчислено чрез решаване на уравнението на Безу Шаблон:Math for Шаблон:Math, Шаблон:Math – използвайки разширения Eвклидов алгоритъм.

По-специално, ако Шаблон:Math е просто число, тогава Шаблон:Math е взаимнопросто с Шаблон:Math за всяко Шаблон:Math, така че Шаблон:Math; следователно Обратното по модул число съществува за всички Шаблон:Math, които не съвпадат с нула по модул Шаблон:Math.

Твърдения

Освен горните свойства, за съвпадането по модул са валидни следните твърдения:

  • всеки две цели числа съвпадат по модул 1;
  • ако числата a и b съвпадат по модул m, а числото d е делител на m, тогава a и b съвпадат по модул d.

Шаблон:Hider

  • Ако числата a и b съвпадат по k модула m1,m2,...,mk, то те съвпадат по модул, равен на най-малкото общо кратно на модулите m1,m2,...,mk.

Шаблон:Hider

Следствие:
За да съвпадат числата a и b по модул m, на който каноническото разложение на прости съмножители има вида
m=i=1dpiαi,

необходимо и достатъчно е условието

ab(modpiαi), където i=1,2,,d. [9]

Усъвършенствани свойства

Някои от по-усъвършенстваните свойства на съвпаданията по модул са следните:

Свързани определения

Класове остатъци

Множеството от всички числа, съвпадащи с a по модул m, т. е. a+km, където k е всяко цяло число, се нарича остатъчен клас или клас на остатъците на a по модул m и обикновено се обозначава [a]m или a¯m. По този начин сходството ab(modm) е еквивалентно на равенството на остатъчните класове [a]m=[b]m и това обяснява защо "=" често се използва вместо "≡" в този контекст. [10]

Всеки остатъчен клас по модул m съдържа точно едно цяло число в диапазона Шаблон:Math. По този начин тези m цели числа са представители на техните съответни остатъчни класове. Обикновено е по-лесно да се работи с отделни цели числа, отколкото с множества от цели числа; най-често разглежданите представители, а не техните остатъчни класове. Всяко число от класа на остатъците се нарича остатък по модул m: по-точно, уникалното цяло число k, такова че Шаблон:Math и Шаблон:Math, се нарича остатък на a по модул m.

Нека за определеност r е остатъкът от деленето на който и да е от представителите на избрания клас на m, тогава всяко число q от този клас остатъци може да бъде представено като q=mt+r, където t е цяло число. Остатъкът, равен на остатъка r (q=r при t=0) се нарича най-малък неотрицателен остатък, а остатъкът ρ (q=ρ), най-малкият по абсолютна стойност, се нарича абсолютно най-малък остатък. За r<m2 се получава ρ=r, в противен случай ρ=rm.
Ако m е четно и r=m2, тогава ρ=m2. Шаблон:Sfn

Тъй като съвпадането по модул m е отношение на еквивалентност на множеството от цели числа , тогава класовете остатъци по модул m са класове на еквивалентност и техният брой е равен на m. Класът на еквивалентност по модул m на цялото число a е множеството от всички цели числа от формàта a+km, където k е всяко цяло число.

Множеството от всички класове остатъци по модул m се означава със m или /m Шаблон:Sfn или /(m). [11]

Операциите събиране и умножение на индуцират съответните операции върху множеството m:

[a]m+[b]m=[a+b]m;
[a]m[b]m=[ab]m.

По отношение на тези операции множеството m е краен пръстен, а за простото число m е крайно поле. [6]

Задачи

1. Да се докаже, че 5 и 26 май са в един и същи ден от седмицата.
Доказателство: За да са двете числа от месеца в един ден от седмицата, трябва да съвпадат по модул 7 и така да се различават с цял брой седмици, т. е. разликата между тях да се дели на 7 без остатък: (26 – 5):7 = 21:7 = 3.

2. Ако 9 май е четвъртък, какъв ден от седмицата е 26 май?
Решение: Сравняват се двете числа по модул 7:
9 = 1 х 7 + 2 ; 26 = 3 х 7 + 5. Вторият остатък е по-голям от първия с 3. Следователно като ден от седмицата 26 май е 3 дни след четвъртък – в неделя.

3. Колко градуса реално е разликата между ъглите 415° и 756°?
Решение: Ъглите се изменят периодично и стойностите им се повтарят през 360°. Двата ъгъла се сравняват по модул 360:
415° = 1.360° + 55° и 415° ≡ 55° (mod 360);
756° = 2.360° + 36° и 756° ≡ 36° (mod 360);
Разликата между ъглите реално е 55° – 36° = 19°.

4. Да се изчисли без калкулатор разликата Шаблон:Math.
Решение: Тригонометричните функции са периодични и се редуцират до стандартни стойности за ъгли 0°, 30°, 45°, 60°, 90°, 180° или 270° чрез сходство по модул, което в случая достига до равенство.
Функцията тангенс е периодична с период 180° и се трансформира по модул 180:
Шаблон:Math = Шаблон:Math = Шаблон:Math = Шаблон:Math ;
Функцията косинус е периодична с период 360° и се трансформира по модул 360:
Шаблон:Math = Шаблон:Math = Шаблон:Math = Шаблон:Math = Шаблон:Math ;
Шаблон:Math = Шаблон:Math = Шаблон:Math.

5. Използването на сходства по модул улеснява получаването на различни признаци за делимост. Задача: Да се изведе признак, че естественото число N се дели на 7. Записва се N във формата 10a+b (т.е. отделя се цифрата на единиците b). Условието, че N се дели на 7, може да бъде записано като: 10a+b0(mod7). Умножава се това сходство по 2:

20a2b0(mod7).

Прибавя се вляво числото 21a, кратно на модула:

a2b0(mod7).

От тук следва следния признак за делимост на 7: трябва да се извади два пъти броя на единиците от броя на десетиците, след което се повтаря тази операция, докато се получи двуцифрено или едноцифрено число; ако то се дели на 7, тогава и даденото число се дели. Например нека N=22624. Алгоритъм за проверка: [12]

N1=226224=2254; N2=22524=217;N3=2127=7

Извод: 22624 се дели на 7.

Източници

  1. Шаблон:Cite book
  2. Шаблон:Cite web
  3. Шаблон:Cite journal
  4. Френски математик, член на Френската академия на науките от 1666 г.
  5. Шаблон:Cite book
  6. 6,0 6,1 Шаблон:Cite book
  7. Сизый С. В. – §4. Теория сравнений // Лекции по теории чисел. — М.: Физматлит, 2008. — 192 с., с=88 — ISBN 978-5-9221-0741-9.
  8. Шаблон:Cite book
  9. Сагалович Ю. Л.Введение в алгебраические коды Шаблон:Webarchive, — 2-е изд. — М.: ИППИ РАН, 2010. — 320 с., — ISBN 978-5-901158-14-2.
  10. Шаблон:Cite book
  11. Шаблон:Cite book
  12. Нестеренко Ю. В. – Теория чисел. — М.: Издательский центр «Академия», 2008. — С. 132—133. — 272 с. — ISBN 9785769546464.