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.

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.

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.

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. 

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.

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.

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.

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

Aritmetikk
 Tallteori