Modulær aritmetikk

Modulær aritmetikk er basert  på å telle 1,2,3 og så videre opp til et tall n hvor man starter med 1 igjen. Tallet n kalles modulus for denne tellemåten. Med denne endelige tallmengden kan man utføre de fire vanlige regneoperasjonene som dermed definerer en ny aritmetikk.

Ved bruk av en vanlig klokke utfører man ubevisst modulær addisjon og subtraksjon med modulus n = 12. Hvis klokken for eksempel viser 5, vil den vise 2 etter 9 timer. På tilsvarende vis ville den ha vist 8 hvis den hadde blitt avlest 9 timer tidligere. Med matematisk notasjon ville man uttrykke disse to fastsettelsene av tidspunktene som  og . Det betyr at regneoperasjonene gjøres «modulo» tolv, det vil si med modulus 12. Modulær aritmetikk blir derfor noen ganger omtalt som «klokkearitmetikk».

For å angi alle timene i et helt døgn ville man på samme vis bruke en modulus n = 24 for å skille mellom timer om natten og om dagen. Den samme, modulære aritmetikken benyttes også når man angir antall  grader i en vinkel hvor n = 360° benyttes. 

Det var Carl Friedrich Gauss som etablerte modulær aritmetikk som en viktig del av moderne matematikk i sitt store verk Disquisitiones Arithmeticae på begynnelsen av 1800-tallet. Her undersøkte han grunnlaget for konstruksjon av regulære mangekanter. Slike polygoner har samme geometri eller symmetri som en klokke.  I vår tid benyttes modulær aritmetikk innen informatikk som en bestanddel av de viktigste programmeringsspråkene og spiller en sentral rolle i moderne kryptografi. Dessuten inngår den ved bestemmelsen av kontrollsiffer i personnummer samt sjekking av tallene som inngår i ISBN- og IBAN-systemene.

Heltallsdivisjon

Når man er gitt en viss modulus n, kan man for hvert annet heltall x dele dette med n ved bruk av heltallsdivisjon. Resultatet gir da vanligvis en rest r slik at resultatet kan skrives som



hvor heltallet a er kvotienten. Resten bestemmes slik at den oppfyller 0 ≤ r < n. Hvis for eksempel n = 6 og x = 17, så er 17 = 6⋅2 + 5 slik at resten . Når resten er null, sier man at divisjonen «går opp». Da er n en faktor av x. J. Reed og J. Aarnes, Matematikk i vår tid, Universitetsforlaget, Oslo (1967).

I modulær aritmetikk omtaler man resultatet av denne divisjonen som at 17 er 5 modulo 6. Det skrives som 17 mod 6 = 5. I det generelle tilfellet har man da at



Hvis dividenden x økes med et helt antall m av modulusen, vil ikke resten forandres. Derfor har man at



hvor heltallet m også kan være negativt. For eksempel  er -13 mod 5 = (2 - 3⋅5) mod 5 = 2.

For å beregne summen x + y modulo n kan man benytte uttrykket



Det følger fra å skrive x = na + r og y = nb + s der r = x mod n og s = y mod n. Da blir (x + y) mod n = (r + s) mod n som gir formelen. Slik kan også beregningen av produktet xy mod n gjøres enklere når tallen x og y er spesielt store. J.H. Silverman, A Friendly Introduction to Number Theory, Pearson Education, New Jersey (2011). ISBN 0-321-81619-6.

Potenser

En potens av et tall  kan bli veldig stor når eksponenten blir stor og vil da være krevende å regne ut. Men med modulær aritmetikk kan ikke resultatet bli større enn modulus og beregningen er enklere.  Man kan da benytte at



som følger fra å skrive x = an + r  slik at x mod n = r. Ved bruk av binomialformelen for xm vil da kun leddet rm bidra  da alle andre ledd inneholder n som faktor.  Derfor blir også



Dette kan illustreres ved å regne ut for eksempel 59 mod 7. Man kan da benytte at 52 mod 7 = 25 mod 7 = 4 slik at



Nå er 59 = 51 + 4 + 4   slik at man har



På denne måten kan beregning av høye potenser betraktelig forenkles.

Aritmetiske kongruenser

To heltall x og y som gir den samme resten r når de divideres med n, sier å være kongruente med hverandre modulo n. Det skrives som 



Her virker nå modulo-operasjonen på begge sider av ekvivalenstegnet.  Det betyr at x = an + r   og y = bn + r  hvor a og b igjen er heltall. Resten oppfyller 0 ≤ r < n. To tall er dermed kongruente når deres differens kan deles med modulus n. Denne egenskapen kan derfor også defineres ved at  som betyr at x mod n = y mod n. Hvis tallene ikke er kongruente med hverandre, sies de å være «inkongruente» for denne modulusen. R. Courant and H. Robbins, What is Mathematics: An Elementary Approach to Ideas and Methods, Oxford University Press, Oxford (1996). ISBN 978-0-19-510519-3.

Som en eksempel kan man betrakte tallene 5 og 11. Med modulus n = 3 er 5 mod 3 = 2 og 11 mod 3 = 2. Derfor er  5  ≡  11 (mod 3) slik at de er kongruente. Derimot modulo 4 er de to tallene inkongruente med hverandre.

Fra definisjonen følger at kongruenser modulo ett og samme tall kan legges til og trekkes fra hverandre. De kan også multipliseres sammen som om de skulle være vanlige likheter. Det betyr at hvis a ≡ b (mod n) og c ≡ d (mod n), så er



Hver side av en kongruens kan multipliseres med samme tall. Man kan også dividere hver side med samme tall forutsatt at dette tallet er relativt primisk med modulusen.

Eksempel

Hvis modulus n = 5 og man betrakter de to tallene 13 og 16, så er deres sum modulo 5



Når addendene er store, kan man  først redusere dem ved å benytte at 13 ≡ 3 (mod 5) og 16 ≡ 1 (mod 5) slik at 13 + 16  ≡  3 + 1 (mod 5) = 4.

Betrakter man istedet produktet av disse to tallene, er



Men dette resultatet kommer også frem ved å ta produktet mellom de kongruente tallene, 13⋅16  ≡  3⋅1 (mod 5) = 3.

Ved divisjon må man være mer påpasselig. Selv om 45 ≡ 15 (mod 10), så er 9 inkongruent med 3 modulo 10. Derimot er 46  ≡ 18 (mod 7) som betyr at 23 ≡ 9 (mod 7) når man dividerer kongruensen med 2 på begge sider. Det er tillatt når denne faktoren er primisk med modulusen.

Kongruensklasser

Kongruens mellom to tall er en ekvivalensrelasjon for en gitt modulus som gjør det mulig å dele alle heltallene Z opp i ekvivalente klasser. Disse kalles da vanligvis for kongruensklasser eller restklasser. 

Hvis n er modulus, betegner (n) eller n Z den klassen som inneholder tallene



De er alle kongruente med tallet 0. Tilsvarende vil alle tallene som er kongruente med tallet a, tilhøre kongruensklassen (n) + a. Man vil dermed få n forskjellige klasser representert ved tallene {0, 1, 2, 3, .. , n - 1}.

Hver slik konkruensklasse kan nå betraktes som et nytt, matematisk objekt og kan betegnes ved det tallet som representerer det. Når for eksempel n = 3, har man de tre klassene 0, 1 og 2. De kan kombineres ved addisjon ved at et representativt tall fra hver klasse adderes modulo n. Med n = 3 vil da 1 + 1 = 2 og 1 + 2 = 0. Klassene utgjør derfor en abelsk gruppe under addisjon hvor klassen 0 = (n) er enhetselementet. De danner på denne måten faktorgruppen Z/(n) =  Z/n Z. Ofte skrives dette mer kompakt som Zn da restklassene også er en syklisk gruppe med n element.

Enheter og nulldivisorer

Man kan også multiplisere sammen kongruensklasser ved å modulært multiplisere representanter for hver av klassene. For eksempel når modulus n = 6, blir



Under multiplikasjon utgjør derfor alle restklassene en matematisk ring med 1 = (n) + 1 som enhetselement. Den inneholder n  element og kan bli oppdelt i enheter og nulldivisorer. En enhet er definert ved å ha en invers. Det betyr at den er relativt primisk til modulus n. Deres antall er derfor gitt ved Eulers totientfunksjon φ(n). Resten av elementene er nulldivisorer.S. MacLane and G. Birkhoff, Algebra, MacMillan Publishing Co., New York (1979). ISBN 0-02-978830-7. 

For eksempel, for n = 6 er 1 og 5 enheter, mens 0, 2, 3, 4 er nulldivisorer. Det kan man se fra at 2⋅3 = 3⋅4 = 0. På samme måte inneholder Z12 enhetene 1, 5, 7 og 11. De resterende 8 elementene er nulldivisorer. Produktet av to enheter er en ny enhet illustrert ved 5⋅7 = 11 i Z12. Sammen danner de en abelsk gruppe som kalles enhetsgruppen og betegnes (Z/nZ)× med φ(n) element. 

I det spesielle tilfelle at modulus er et primtall p, er 0 den eneste nulldivisor i ringen. Da har hvert element a en multiplikativ invers a-1 = 1/a som oppfyller at a⋅a-1 = 1. I såfall går ringen Z/pZ over til å bli en endelig tallkropp og betegnes som Fp eller GF(p). Velger man for eksempel  p = 7, er 2⋅4 = 1 slik at 2-1 = 1/2 = 4 og derfor 3/2 = 3⋅4 = 5. Videre er 1/3 = 5 slik at 1/5 = 3, mens 6 er sin egen invers da 6⋅6 = 1.
Slike tallkropper er av stor betydningen innen kryptografi. A. Ash and R. Gross, Fearless Symmetry: Exposing the Hidden Patterns of Numbers, Princeton University Press, New Jersey (2006). ISBN 0-691-12492-2.

Fermats lille teorem

Den endelige tallkroppen Fp  inneholder p element. Ser man bort fra elementet 0, danner de resterende p - 1  elementene en endelig gruppe hvor elementene kombineres ved multiplikasjon og har 1 som enhetselement. Denne betegnes vanligvis som  (Fp)× eller GF×(p).

Hvis man betrakter et element a, vil det gi p - 1 forskjellige element når det multipliseres med seg selv. Tilsammen utgjør de en syklisk gruppe. Dette kan illustereres for p = 5 ved å betrakte for eksempel elementet 2. Da er 2⋅2 = 22 = 4,  23 = 4⋅2 = 3,  24 = 3⋅2 = 1. Hadde man i stedet valgt a = 3 eller 4, ville igjen 34 =  44 = 1. Dette skjer alltid når p er et primtall slik at gruppen blir syklisk. 

Generelt kan man da betrakte et vilkårlig element a i gruppen med en viss orden k. Denne er definert ved at ak = 1. Ifølge Lagranges teorem er dette tallet k en faktor i det totale antall gruppeelement. Det betyr at p - 1 = k m hvor m et et eller annet heltall. Dermed har man med en gang at



Det representative tallet a i konjugasjonsklassen oppfyller derfor



der a ikke skal være delbar med p. For eksempel med p = 7 er 26 = 64 ≡ 1 mod 7. Dette er Fermats lille teorem som har stor betydning i tallteori.

Wilsons teorem

John Wilson var student ved Universitetet i Cambridge rundt år 1770 da en formulerte et nytt teorem i modulær aritmetikk. Det ble bevist av Lagrange noen få år senere og gjelder når modulus p er et primtall. Da er



når det uttrykkes ved fakultetsfunksjonen n! = 1⋅2⋅3⋅...⋅n. Alternativt kan man si at (p - 1)! + 1 er delelig med p når p er et primtall. Har man for eksempel p = 5, så finner man 4! = 24. Nå er 24 + 1 = 25 som er deilig med 5 i overensstemmelse med teoremet. O. Ore, Number Theory and its History, Dover Publications, New York (1988). ISBN 0-486-65620-9.

Et enkelt bevis kan baseres på at restklassene {1, 2, 3, ... , p-1} er elementer i gruppen (Fp)×. Da hvert element a av disse har sin egen invers a-1, kan produktet 2⋅3⋅ ... ⋅p - 2 omskrives som (p - 3)/2 produkt av delprodukt på formen  a⋅a-1 = 1 som dermed også blir verdien til hele produktet. Resultatet er da



hvor p - 1 ≡  -1 (mod p) som gir innholdet av teoremet.

Som en konkret illustrasjon av denne argumentasjonen, kan man betrakte p = 11. Da finner man ved direkte utregning de inverse elementene 2-1 = 6, 3-1 = 4, 5-1 = 9 og 7-1 = 8 slik at 



På lignende måte kan man bevise at for en ikke-primisk modulus n > 4 vil (n - 1)! ≡ 0 (mod n). I det spesielle tilfellet  at n = 4, blir 3! = 6  ≡ 2 (mod 4). Rent praktisk betyr dette at hvis (n - 1)! er delelig med n > 4, så er n et sammensatt tall.

Alternativt bevis

Wilsons teorem følger også ganske direkte fra Fermats lille teorem. Det sier at ligningen



er oppfylt for alle  . Fra algebraens fundamentalteorem følger da at man må ha sammenhengen



Ved å sette x = p vil produktet på høyre side bli (p - 1)!. På venstre side vil man stå igjen med -1 da p p - 1 er null modulo p.

Primitive røtter

Hvert element a i enhetsgruppen  (Z/nZ)× er relativt primisk med modulus n, det vil si at største felles faktor  gcd(a,n) = 1. Det betyr at det totale antall element gruppen inneholder, er gitt ved totientfunksjonen φ(n). Når n er et primtall, er φ(n) = n - 1. Eulers teorem sier da at for hvert element a må man da ha at



Dette kravet vil generelt være oppfylt når ar ≡ 1 (mod n) der  heltallet r er en faktor i tallet φ(n). Man sier da at elementet a har orden r  for modulus n. Elementet a = 1 har alltid orden r = 1 uavhengig av størrelsen til modulus. Alle element i gruppen som har den maksimale orden rmax =  φ(n), kalles primitive røtter. Denne betegnelsen kommer fra tilsvarende løsninger av sirkeldelingsligningen. Hvert slikt element vil generere alle de andre elementene i gruppen ved at det multipliseres mange nok ganger med seg selv. Det kalles derfor også ofte for en «generator» og gruppen er syklisk.

Når n = 3, består gruppen av φ(3) = 3 - 1 = 2 element som er {1, 2}. Nå er 22 = 4 ≡ 1 (mod 3) slik at 2 er en primitive rot. Likedan for n = 4 består gruppen av de to elementene 1 og 3 hvorav 3 er primitiv. For n = 5 inneholder gruppen φ(5) = 5 - 1 = 4 element som er {1, 2, 3, 4}. I dette tilfelle er både 2 og 3 primitive røtter, men ikke 4 da  42 = 16 ≡ 1 (mod 5).  

Hvis g er en primitiv rot, vil den inverse



også være en primitiv rot. For eksempel når n = 7, kan man sjekke at 3 er en primitiv rot. Det inverse elementet er 3-1 = 36 - 1 mod 7 = 243 mod 7 = 5. Av de seks elementene {1, 2, 3, 4, 5, 6} er det bare 3 og 5 som er primitive for denne modulus. Når n = 8, er ingen av elementene {1, 3, 5, 7} primitive.

Primitive røtter finnes for alle moduli n = 2, 4, pk og 2pk der primtallet p > 2 og k er et naturlig tall. Det finnes ingen systematisk fremgangsmåte for å identifisere de primitive røttene bortsett fra ved direkte utregning. M.R. Schroeder, Number Theory in Science and Communication, Springer-Verlag, Berlin (1984). ISBN 3-540-12164-1.

Lineære kongruenser

En eller flere polynomligning kan også løses innen rammen av modulær aritmetikk. De kalles da «kongruensrelasjoner» eller ganske enkelt for kongruenser. Avhengig av polynomenes grad, er de enkleste slike relasjoner lineære eller eventuelt kvadratiske kongruenser. I det spesielle tilfellet at modulus er et primtall p, tilsvarer dette å finne  løsninger av ligningene innen tallkroppen Fp = Z/p Z.

Det enkleste tilfellet er en ligning med en ukjent. Den skrives som



hvor a og c er heltall. Denne relasjonen omtales som en lineær kongruens. Eventuelle løsninger kan finnes fra den ekvivalente ligningen



for ett eller flere heltall y. Denne kongruensen er da ekvivalent med en diofantisk ligning.

Løsningen av denne ligningen kan finnes ved bruk av Euklids algoritme og avhenger av den største felles divisor m = gcd(a,n). Når denne samtidig er en faktor i konstanten c, så har kongruensen m inkongruente løsninger i intervallet {0, 1, 2, 3, ..., n - 1}. Hvis det derimot ikke er tilfelle, finnes det ingen løsninger.

Som et eksempel kan man betrakte den lineære kongruensen



Her er m = gcd(4,10) = 2 som også er en faktor i c = 6. Derfor finnes det to løsninger som er x = 4 og x = 9. Hadde man istedet  her hatt c = 7, vil det ikke vært noen løsninger.

Når a og n er relativt primiske, er m = 1 og kongruensen har bare en løsning. Det er tilfellet når modulus n = p er et primtall og den lineære kongruensen kan skrives som ligningen



i tallkroppen Fp. Løsningen er da formelt gitt som x = a-1⋅c. Har man for eksempel p = 7, er løsningen av 4x ≡ 6 (mod 7) gitt ved x = 5 fordi 4-1 = 2 og 2⋅6 = 5 i F7. På samme vis finner man at 16x ≡ 5 (mod 29) har løsningen x = 13. Når p er stor, er likevel fremgangsmåten med Euklids algoritme den raskeste.

Se også

 Kvadratisk rest

Referanser

Eksterne lenker

 E.W. Weisstein, Modular Arithmetic, Wolfram MathWorld
 Khan Academy, An Introduction to Modular Math, pedagogisk læreverk
 Encyclopediaofmath, Congruence, generell oversikt
 Cut-the-Knot, Modular Arithmetic, spesielt om kongruensklasser

Kategori:Aritmetikk
Kategori: Tallteori