Visa Latvala ja Pekka Smolander
Matematiikan laitos, Joensuun yliopisto
Artikkelin tarkoituksena on tutustuttaa lukija modulaariseen yhteen- ja kertolaskuun. Nämä ovat ominaisuuksiltaan reaalilukujen yhteen- ja kertolaskun kaltaisia laskutoimituksia äärellisessä joukossa. Modulaaristen laskutoimitusten tarkasteluun on löydettävissä ainakin kaksi hyvää syytä: Ensinnäkin kyseiset laskutoimitukset ja yleisemmin äärelliset kunnat ovat keskeisessä roolissa modernissa tiedonsuojauksessa, ks. esimerkiksi [5, Luku 7]. Toiseksi modulaariset laskutaulukot ovat hyödyllisiä algebran yliopisto-opetuksen näkökulmasta, sillä ne antavat konkreettisia esimerkkejä, joiden avulla lähestyä algebrallisten struktuurien samanlaisuuden eli isomorfian käsitettä. Lukiolaiselle taulukot antavat esimerkin ei-standardista laskuopista, niitä voi tutkia ilman mitään tietoa abstraktista algebrasta.
Tässä esityksessä keskitytään modulaariseen kertolaskuun sen vuoksi, että yhteenlaskutaulukoita on niiden äärimmäisen säännöllisyyden vuoksi helppo muodostaa kynällä ja paperilla. Sen sijaan jo neljää alkiota suurempien kertolaskutaulukoiden muodostaminen kynällä ja paperilla alkaa olla työläs tehtävä. Tämä lienee keskeinen syy siihen, ettei ohessa esiteltäviä yleisiä kertolaskutaulukoita juuri löydy klassisista algebran oppikirjoista. Viimeisessä luvussa annetaan Maple-proseduuri, jota käyttäen laskutaulukoita voi muodostaa nappia painamalla.
Olkoon
luonnollinen luku. Kokonaisluvun
jakojäännös modulo
on ehdoista
Esimerkki. Luvun jakojäännös modulo 7 on
, sillä
. Luvun
jakojäännös modulo
on
, sillä
.
Modulaarinen yhteen- ja kertolasku määritellään kaikkien
mahdollisten jakojäännösten modulo joukossa
Esimerkki. Laskemalla jakojäännökset modulo 4 todetaan,
että yhteen- ja kertolaskutaulukot ovat muotoa
Kysymys. Millä tavalla luvun 0 esiintyminen eroaa toisistaan kertolaskutaulukoissa modulo 4 ja 5? Kyse on yleisestä ilmiöstä, joka liittyy siihen, että 5 on alkuluku, mutta 4 ei.
Edellisestä esimerkistä näkyy sääntö, jonka mukaan
yhteenlaskutaulukot rakentuvat. Tässä esityksessä keskitytäänkin
tarkastelemaan kertolaskutaulukoita, koska ne eivät rakennu
yksinkertaisen säännön mukaisesti ja ovat siten vaikeammin
esitettävissä. On kuitenkin korostettava, että yhteenlaskutaulukot
ovat teoreettisesti erittäin tärkeitä. Esimerkiksi äärelliset
Abelin ryhmät voidaan karakterisoida niiden avulla
([2, Theorem 10.7],
tai [1, Theorem 1.22]). Toisaalta yhteen- ja
kertolasku yhdessä muodostavat tärkeän esimerkin äärellisestä
kunnasta tapauksessa, jossa on alkuluku. Mainittakoon myös,
että kirjallisuudessa joukon
yhteenlaskutaulukolle
käytetään tavanomaisesti merkintöjä
ja
.
Voidaan osoittaa, että ja
ovat aina vaihdannaisia
ja liitännäisiä. Nämä ominaisuudet periytyvät kokonaislukujen
vastaavista ominaisuuksista ([2, Theorem 2.7]).
Vaihdannaisuus näkyy taulukoissa siten, että taulukot ovat
symmetrisiä päälävistäjän suhteen.
Kertolasku ei yleisesti muodosta ryhmää joukossa
Koska tarkoituksena on hyödyntää kertolaskutaulukoita äärellisten
ryhmien isomorfiatarkasteluissa, rajoitetaan joukkoa siten,
että kertolaskun käänteisalkiovaatimus saadaan voimaan. Tämä
suoritetaan siten, että joukosta
poimitaan taulukkoon
mukaan vain ne jakojäännökset
, joille
Taulukossa esitystä on yksinkertaistettu siten, että kerrottavien
alkioiden vaaka- ja pystyrivit samoin kuin kertolaskumerkki
on jätetty pois. Kerrottavat alkiot esiintyvät joka
tapauksessa matriisin ensimmäisellä vaaka- ja pystyrivillä koska 1
on aina mukana taulukossa ja
kaikilla
.
Kertolaskun osalta käytetään jatkossa kaikkialla tätä
yksinkertaistettya matriisiesitystä.
Edellisestä taulukosta huomataan, että joukon jokainen
luku toteuttaa yhtälön
. Tämä on erikoinen algebrallinen
ominaisuus, joka ei yleisesti päde joukoille
. Ominaisuuteen
palataan viimeistä edellisessä luvussa.
Määritelmä.Eulerin funktio on sellainen kuvaus
, että
ilmoittaa niiden
lukujen
lukumäärän, joille
.
Siis ilmoittaa kuinka monta lukua joukossa
on. Voidaan osoittaa ([5, Theorem 6.5]),
että funktiolle
pätee kanoninen kaava
Tässä luvussa tarkastellaan lyhyesti matemaattisia perusteluja
sille, miksi muodostaa ryhmän joukossa
. Tämä ei
periaatteessa edellytä tietoja, jotka eivät tulisi vastaan lukion
lukuteorian syventävällä kurssilla, katso esimerkiksi [3].
Jos luku tuntuu liian teoreettiselta, sen voi ohittaa ja palata
asiaan tarvittaessa myöhemmin.
Kokonaisluku on alkuluku, jos luvulla
ei ole
muita positiivisia tekijöitä kuin 1 ja
. Lukuja
sanotaan keskenään jaottomiksi, jos
lukujen
ja
suurin yhteinen tekijä
on 1.
Käytännössä luvut todistetaan usein keskenään jaottomiksi seuraavaa
aputulosta käyttäen ([5, Theorem 2.2]):
Apulause 1. Kokonaisluvut ja
ovat keskenään jaottomia,
jos ja vain jos on olemassa
siten, että
Aiemmin on jo mainittu, että on liitännäinen ja
vaihdannainen joukossa
. On kuitenkin osoitettava, että
kertolasku
on laskutoimitus joukossa
Käänteisalkion olemassolokysymys palautuu yksinkertaisen lineaarisen kongruenssiyhtälön ratkaisemiseen ([5, Theorem 3.10]):
Apulause 2. Olkoon
ja
. Tällöin
kongruenssiyhtälöllä
Olkoon ja olkoon
kongruenssin
On osoitettu, että pari
on ryhmä, sillä
kertolasku
on liitännäinen joukossa
, luku
on laskutoimituksen
neutraalialkio joukossa
ja
on alkion
käänteisalkio laskutoimituksessa
.
Luvussa 2 todettiin, että ilmoittaa ryhmän
alkioiden lukumäärän. Syy siihen, miksi
kertolaskutaulukot ovat käyttökelpoisia isomorfiatarkasteluissa
piilee siinä, että Eulerin funktio ei ole injektio. Esimerkiksi
Siis eräs silmiinpistävä peruste modulaaristen kertolaskutaulukoiden rakenteiden erilaisuudelle on se, että taulukoissa on eri määrä lukuja 1 päädiagonaalilla. Muita perusteita on löydettävissä muunlaisten algebrallisten ominaisuuksien avulla.
Huomautus. Voidaan osoittaa, että on olemassa vain kaksi
neljän alkion ryhmärakennetta. Taulukot (1) ovat
esimerkkejä Kleinin neliryhmästä. Taulukot (2) ovat
puolestaan esimerkkejä neljän alkion syklisestä ryhmästä
.
Tehtävä. Yhtälö pätee arvoilla
. Tulosta kertolaskutaulut joukoissa
,
,
,
,
Luvun 5
Maple-proseduurilla ja selvitä, kuinka monta rakenteeltaan
erilaista näiden viiden taulukon joukossa on!
Maple-proseduuri, joka muodostaa listan ryhmän alkioista:
ryhma:=proc(m) local p,R,n,j: with(numtheory): p:=phi(m): R:=array(1..p): j:=0: for n to m-1 do if gcd(n,m)=1 then j:=j+1: R[j]:=n: fi: od: evalm(R): end:
Maple-proseduuri, joka muodostaa ryhmän kertolaskutaulukon:
kertotaulu:=proc(m) local p,T,R,i,j: with(numtheory): p:=phi(m): T:=array(1..p,1..p): R:=ryhma(m): for i to p do for j to p do T[i,j]:=R[i]*R[j] mod m: od: od: evalm(T) end: