Heltalen 0,1,..,n-1 bildar en grupp under räknesättet addition modulu n. Med det menas att man vid addition bortser från multipler av n och bara räknar med den resterande delen. Exempelvis vid modulu 12 så räknas additionen 5+9=14=12*1+2 bara som talet 2. På samma sätt räknas vid modulu 5 additionen 4+4 som 3 och 2+3 som 0. Att det här bildar grupp innebär att additionen fungerar bra, att det finns inverser till alla tal och att det finns ett neutralt element som vid addition inte gör någon skillnad, i det här fallet 0 (noll).
Under många århundranden har strukturer som är hämtade från heltalen studerats och man har upptäckt att de vanliga räknesätten addition och multiplikation för heltal förekommer i fler och fler andra sammanhang. Det här har gett upphov till en oerhört rik och vacker teori som man brukar kalla algebraiska strukturer eller abstrakt algebra. Abstrakt för att det är räknesätten som studeras men de studeras oberoende av vad som fungerar som tal. Exempelvis är det vanligt att räkna med symmetrier istället för heltal som när en regelbunden triangel ger upphov till gruppen S3 med de sex olika symmetrierna: rotation ett eller två steg, tre speglingar och identitetssymmetrin.
För en tid sedan bestämde jag mig att studera den här teorin igen, väldigt grundligt och utgå endast från de vanliga heltalen modulu n. Till min hjälp, för det är oerhört mycket räknande och skrivande, har jag ett datorprogram för algebra (cas - computer algebra system) som kallas Mathematica
Paketet är nyligen uppdelat i moduler för att källkoden skall vara mer 'maintainable'. Vet inte vad man säger på svenska men det är den professionelle programmerarens ledmotiv och dessa moduler bygger på varandra som en våningstårta upp och ner. De har funktionalitet som är minimal, grundläggande, huvudfunktionalitet, hanterar kvotgrupper och den femte undersöker korrespondenssatsen och de tre isomorfisatserna.
Här är en snabb demonstration som ger en vink om hur programmet är uppbyggt. Om du är intresserad så finns källkoden nu på GitHub. Paketen är skrivna utefter den teoribok jag läser och jag har inte alls fokuserat på effektivitet ännu, utan bara gjort första bästa lösning jag kommit att tänka på. Boken heter 'Abstrakt algebra' och är skriven av Per Anders Svensson.
Varje sådan struktur har understrukturer.
Med dessa kan sidoklasser bildas. Att två tal tillhör samma sidoklass innebär att de står i en särskild relation till varandra. De relationerna är här ekvivalensrelationer och ekvivalensrelationer partionerar upp sin mängd fullständigt. Det visar sig också att dessa sidoklasser till en och samma undergrupp själv bildar en grupp som man kallar gruppens kvotgrupp med undergruppen.
Det visar sig att det finns en en-entydig korrespondens mellan undergrupper som innehåller varandra och undergrupper i kvotgruppen för varje undergrupp. Den här så kallade korrespondenssatsen ligger till grund för de tre isomorfisatserna. De tre klassiska isomorfisatser beskriver sedan hur kvotgruppernas struktur reflekterar gruppens och undergruppernas struktur.
Lite extra läsning
När jag började räkna på de här grunderna la jag böcker och teori åt sidan och bara undersökte med öppet sinne och nyfikenhet vad man kan göra med de här talmängderna. Undergrupper visade sig snart men också lite annat. Hur en grupp byggs upp av sina undergrupper illustreras med Hassediagram.
Alla de här grupperna är Abelska vilket är är ett annat sätt att säga att räknaoperationen kommuterar för alla talen dvs att ab=ba för alla tal i gruppen. Det är möjligt att beräkna hur många abelska grupper det finns av en viss ordning dvs storlek.