![[ Datorn i utbildningen ]](jpgs/diu6.jpg)
Detta är ett redigerat utdrag ur originalartikeln, som egentligen behandlade programmering och presenterade ett program (i Modula-2) vilket beräknade tal av Mersennetyp och s k Perfekta tal (som är besläktade med Mersennetalen).
Alltsedan urminnes tider har människan fascinerats av tal och talföljder med mer eller mindre säregna egenskaper. Vissa av dessa "magiska tal" har ett ringa talteoretiskt intresse. Detta gäller dock inte primtalen, som faktiskt intar en hedersplats inom talteorin.
Det mer vetenskapliga intresset för primtal vaknade under antiken och de flesta matematiskt intresserade har nog hört talas om Erathostenes primtalssåll och Euklides bevis för att det finns oändligt många primtal. Från denna tid och fram till idag har en lång rad matematiker (och "amatörer") kämpat med att försöka röja primtalens alla hemligheter. Den populärvetenskapliga litteraturen ger många belägg för detta - se t ex E T Bells artikel "Matematikens drottning" i band 4 av det klassiska samlingsverket "Sigma" (brukar finnas på de flesta skolbibliotek).
Var kommer då datorerna in i sammanhanget? Det är ingalunda så att deras intåg på arenan medfört något talteoretiskt "genombrott". Vad jag vet har inga fundamentala talteoretiska problem "lösts" eller "bevisats" med datorer. Däremot har de gjort det möjligt att testa talteoretiska hypoteser och tillämpa talteoretiska satser på problemställningar av en storleksordning och i en omfattning som tidigare var otänkbar.
Till de problemområden där datoranvändningen firat stora triumfer hör bestämning av primtal, liksom det besläktade problemet att finna faktorer till stora tal som inte är primtal.
Mersennetalen, som uppkallats efter amatörmatematikern M Mersenne, definieras enligt 2n - 1. De har anknytningar till talteorin i allmänhet och primtalsteorin i synnerhet.
De största kända primtalen är av mersennetyp, men långt ifrån alla mersennetal är primtal. Med exponenten 4 erhålls t ex 15, som är ett sammansatt tal. Detta förhållande gäller f ö för samtliga jämna exponenter större än 2, eftersom exponenten då kan skrivas som 2j och mersennetalet faktoruppdelas enligt modellen 22j - 1 = (2j + 1)(2j - 1).
Resultatet kan generaliseras: Om exponenten är sammansatt är även motsvarande mersennetal sammansatt.
För att ett mersennetal ska kunna utgöra ett primtal måste alltså exponenten vara ett primtal. Inte heller detta villkor är dock tillräckligt. Exempelvis är 211 - 1 (= 2047) inget primtal, ty 2047 = 23*89.
Ett tag trodde man att alla mersennetal med mersenneprimtal som exponenter var primtal, vilket stämmer för 27 - 1, 231 - 1 och 2127 - 1. Eftersom 213 - 1 (8191) är ett primtal borde enligt denna hypotes också 28191 - 1 (2466-siffrigt!) vara det. Denna fromma illusion brast när man kunde undersöka saken med dator.
Flera liknande primtalshypoteser har sett dagens ljus, men samtliga har kunnat förpassas till papperskorgen. Det finns således ingen allmän tumregel eller "formel", med vilken man kan vaska fram mersenneprimtal.
Vad är det då som gör mersenneprimtalen så speciella? Jo, en viktig anledning är att det trots allt är "relativt lätt" att avgöra om ett mersennetal är ett primtal eller inte.
Bortsett från några specialfall (de tal som slutar på 0, 5 eller är jämna, liksom de vars siffersumma är jämnt delbar med 3, kan t ex inte vara primtal) finns inga "enkla" sätt att avgöra om ett godtyckligt tal är ett primtal eller inte. Även om det i det allmänna fallet finns bättre metoder än att tillgripa testdivision med samtliga primtal upp till kvadratroten ur talet, så krävs ofta ett enormt räknearbete för att kontrollera primtalsegenskapen. Om detta mindre trevliga perspektiv skriver matematikern L E Dickson (1874-1954):
För att avgöra huruvida ett tal med 15 eller 20 siffror är ett primtal eller ej, skulle all tid vara otillräcklig, hur mycket man än utnyttjade allt som redan är känt.
Även om Dicksons spådom fått stryka på foten i och med att vi med datorerna fått räkneredskap som man inte kunde drömma om för ett halvsekel sedan, kvarstår faktum att det, även med den kraftfullaste superdator till förfogande, i praktiken är ogörligt att primtalstesta tal bestående av tusentals siffror.
För mersennetal är läget annorlunda. På dessa kan man nämligen applicera ett speciellt kriterium, som amatörmatematikern E Lucas uppställde i slutet av 1800-talet:
Bilda talföljden l[0] = 4, l[i+1] = (l[i]2 - 2) MOD (2p - 1)
För p > 2 är 2p - 1 ett primtal om och endast om l[p-2] = 0, dvs om mersennetalet går jämnt upp i termen med ordningsnumret p-2.
Också denna metod kräver ett mycket stort räknearbete när vi har att göra med mersennetal som består av tiotusentals (och ännu fler) siffror, men i motsats till de algoritmer som måste användas i det allmänna fallet för att avgöra om ett tal är primtal eller inte, är den praktiskt utförbar.
Före datoråldern (dvs fram till början av 50-talet) kände man till 11 mersenneprimtal, av vilka det största var 2127 - 1 (39-siffrigt) och man visste inte om det existerade några fler primtal i denna familj. Idag (=1989, se anmärkningen nedan) är antalet 31 och det största 2216091 - 1, upptäckt 1985 med en Cray superdator (enligt 1988 års upplaga av Guinness rekordbok).
I originalartikeln som ovan ges i utdrag skrev jag bl a:
Ingen av oss lär hamna i "Guiness rekordbok" genom att låta en persondator stå i veckor/månader/år och tugga fram "nya" enorma mersenneprimtal, ty själva primtalstesten kräver superdatorprestanda.
Ovanstående skrevs hösten 1989 och var sant vid den tidpunkten. Idag är situationen annorlunda och tusentals persondatorer världen över är inbegripna i ett internationellt samarbetsprojekt som systematiskt söker efter mersenneprimtal.
Projektet, som kallas "The GREAT Internet Mersenne Prime Search", förkortat GIMPS, påbörjades i början av 1996 och har som målsättningen att fram till år 2000 undersöka alla intressanta exponenter upp till över 5 miljoner. Detta projekt har möjliggjorts av den snabba utvecklingen av persondatorerna i kombination med spridningen av Internet som gör det möjligt att samordna beräkningskapaciteten från tiotusentals datorer.
GIMPS-projektet har fram till idag upptäckt 13 mersenneprimtal: 21398269 - 1, 22976221 - 1, 23021377 - 1, 26972593 - 1, 213466917 - 1, 220996011 - 1, 224036583 -1, 225964951 -1, 230402457 -1, 232582657-1, 237156667-1, 242643801-1 och 243112609-1 (det största består av nära 13 miljoner siffror!).
Tabellen nedan listar samtliga kända mersenneprimtal (46 st).
Om du vill veta mer om GIMPS och det aktuella forskningsläget kan du klicka på knappen nedan.
| Nr | Exponenter | Upptäcktsår | Upptäckare |
|---|---|---|---|
| 1-5 | 2,3,5,7,13 | okänt | okänt |
| 6-7 | 17,19 | 1588 | Cataldi |
| 8 | 31 | 1750 | Euler |
| 9 | 61 | 1883 | Pervouchine |
| 10 | 89 | 1911 | Powers |
| 11 | 107 | 1914 | Powers |
| 12 | 127 | 1876 | Lucas |
| 13-14 | 521,607 | 1952 | Robinson |
| 15-17 | 1279,2203,2281 | 1952 | Lehmer |
| 18 | 3217 | 1957 | Riesel |
| 19-20 | 4253,4423 | 1961 | Hurwitz & Selfridge |
| 21-23 | 9689,9941,11213 | 1963 | Gillies |
| 24 | 19937 | 1971 | Tuckerman |
| 25 | 21701 | 1978 | Noll & Nickel |
| 26 | 23209 | 1979 | Noll |
| 27 | 44497 | 1979 | Slowinski & Nelson |
| 28 | 86243 | 1982 | Slowinski |
| 29 | 110503 | 1988 | Colquitt & Welsh jr. |
| 30 | 132049 | 1983 | Slowinski |
| 31 | 216091 | 1985 | Slowinski |
| 32 | 756839 | 1992 | Slowinski & Gage |
| 33 | 859433 | 1994 | Slowinski & Gage |
| 34 | 1257787 | 1996 | Slowinski & Gage |
| 35 | 1398269 | 1996 | GIMPS/Armengaud |
| 36 | 2976221 | 1997 | GIMPS/Spence |
| 37 | 3021377 | 1998 | GIMPS/Clarkson |
| 38 | 6972593 | 1999 | GIMPS/Hajratwala |
| 39 | 13466917 | 2001 | GIMPS/Cameron |
| 40 | 20996011 | 2003 | GIMPS/Shafer |
| 41 | 24036583 | 2004 | GIMPS/Findley |
| 42 | 25964951 | 2005 | GIMPS/Nowak |
| 43 | 30402457 | 2005 | GIMPS/Cooper & Boone |
| 44 | 32582657 | 2006 | GIMPS/Cooper & Boone |
| 45 | 37156667 | 2008 | GIMPS/Hans-Michael Elvenich |
| 46 | 42643801 | 2009 | GIMPS/Odd Magnar Strindmo |
| 47 | 43112609 | 2008 | GIMPS/Edson Smith [UCLA] |
Copyright © 1998 Martin Fahlgren
