« IT Conversations: Stephen Wolfram | Main | Prenumeration på google-grupper och lite andra googlesaker »
augusti 25, 2005
Talklockor: Något om primtal och sammansatta tal
[Not: Ett primtal är ett tal som endast går jämnt ut vid division med sig själv och 1. Alla andra tal är sammansatta. Både 0 och 1 är lite lustiga i sammanhanget: tekniskt sett uppfyller talet 1 villkoret för primtal, men av hävd anses det inte vara ett sådant. Så 2 är det första primtalet, sedan 3, 5, 7, 11 osv. 0 är ännu mer speciellt eftersom man inte får/kan dela med 0.]
Introduktion
Jag började nyss bläddra i boken Dr Riemann's Zeros som handlar om Riemannhypotesen, ett av de få kvarvarande klassiska matematiska problemen). Målgruppen för boken är icke-matematiker, och saker förklaras verkligen från grunden. T.ex. finns det appendix för ett flertal olika begrepp. Klart lovvärt.
Modeller för primtal och sammansatta tal
Ett av bokens sätt (modell) att beskriva primtalen och de sammansatta talen är att primtalen motsvarar atomer (är odelbara) medan de övriga talen - de sammansatta - motsvarar molekyler som byggs upp av primtalen.
Även om det egentligen inte är något fel på denna bild (förutom att atomer inte är odelbara) så är jag inte riktigt nöjd med den, främst eftersom det - enligt min mening - komplicerar bilden av talen, och gör det kanske svårare än vad det behöver vara. (Det är en annan sak att primtal/sammansatta tal även har denna atomära/sammansatta egenskap.)
Någon gång på 80-talet satt jag med en enkel miniräknare och anteckningsblock och funderade på denna typ av tal och hittade då en annan bild som jag tycker är naturligare för hur talen "fungerar". Till skillnad från atom/molekylmodellen såg jag inte primtalen som de primära utan de blev mer som en logisk (kon)sekvens av en annan egenskap (som förklaras nedan).
Jag ska här visa två metoder att se primtalen och de sammansatta talen som gör att det kanske inte blir så konstigt, utan att det faktiskt hänger ihop på ett trevligt sätt. Det som följer är i någon mening självklart för en matematisk insatt, och för inte matematiken framåt. T.ex. kan man med detta inte lösa Riemann-problemet eller faktorisera större primtal. Men eventuellt kan det avhjälpa vissa icke-matematikers rädslor för primtal och andra matematiska djur. (För säkerhets skull bör nämnas att jag inte är matematiker, men det var länge sedan jag förlorade min matematiska oskuld...)
"Talklockor"
Det sätt jag nu ibland ser talen är att de är uppbyggda av "klockor" som snurrar runt, runt med "ett tick per tal" (ett klockslag per tal). Det speciella med dessa klockor är att de alla har olika storlek, olika urtavlor. De första talen, från 0 till 5 har urtavlorna:
0: har urtavlan (0, dvs alltid 0)
1: har urtavlan (1, dvs alltid 1)
2: har urtavlan (0,1),
3: har urtavlan (0,1,2),
4: har urtavlan (0,1,2,3)
5: har urtavlan (0,1,2,3,4)
...
Generellt har talet n urtavlan (0,1,2,3,...n-2, n-1)
. Precis som för en vanlig klocka så börjar man om igen från 0 när det behövs, så att för 5-klockan gäller 4 + 1 = 0
. 5-klockan skapar alltså av följande sekvens: 0,1,2,3,4,0,1,2,3,4,0,.....
(Både 0 och 1 är som ovan sagt lite konstiga varelser och är med för fullständighets skull både här och nedan.)
Modulo-operatorn
Det finns faktiskt något som ibland kallas för "klockmatematik" och som fungerar precis enligt denna princip: i stället för att fortsätta en sekvens i all oändlighet börjar man om från början när man kommer till urtavlans topp igen. Den matematiska operation kallas bl.a. för modulo-operation (förkortad mod
här) och dess resultat är resten vid en division av ett tal med ett annat.
Exempel: mod(10,3) = 3 och 1 i rest
. mod(10,5) = 0
, eftersom 10 delat med 5 går jämnt ut (ingen rest).
Så här ser hela 10-klockan ut för modulo-operationen (för talen mindre än 10).
10 mod 1 = 0
10 mod 2 = 0
10 mod 3 = 1
10 mod 4 = 2
10 mod 5 = 0
10 mod 6 = 4
10 mod 7 = 3
10 mod 8 = 2
10 mod 9 = 1
10 mod 10 = 0
Not: För mod(m, n) och n > m så är resultatet m, t.ex. mod(10,21) är 10.
Ser man mod(10)-sekvensen, 0,0,1,2,0,4,3,2,1
, verkar det inte vara så mycket till struktur i talen. (Det finns naturligtvis en struktur, men mer om detta en annan regnig dag. Här är dock en ledtråd: de sista 5 talen är alltid en fallande serie av tal, ... 4,3,2,1,0 . Talen som kommer före beter sig lite mer intrikat.)
Modulo-tabellen
Det blir mer överskådligt om man gör en tabell för modulo-operationen, med mod(radtal, kolumntal). Talet 0 innebär att det inte finns någon rest vid division, står det 1 innebär det att resten var 1 vid divisionen etc.
Exempel: mod(10,3) = 1
. Här ser man 1 där 10-raden och 6-kolumnen korsas. Och mod(12, 6) = 0
, som sig bör (eftersom 12 / 6 är 2 och ingen rest). De fetade raderna motsvarar primtalen, och som vi kommer till mycket snart.
___1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
0
1: 0 1
2: 0 0 2
3: 0 1 0 3
4: 0 0 1 0 4
5: 0 1 2 1 0 5
6: 0 0 0 2 1 0 6
7: 0 1 1 3 2 1 0 7
8: 0 0 2 0 3 2 1 0 8
9: 0 1 0 1 4 3 2 1 0 9
10: 0 0 1 2 0 4 3 2 1 0 10
11: 0 1 2 3 1 5 4 3 2 1 0 11
12: 0 0 0 0 2 0 5 4 3 2 1 0 12
13: 0 1 1 1 3 1 6 5 4 3 2 1 0 13
14: 0 0 2 2 4 2 0 6 5 4 3 2 1 0 14
15: 0 1 0 3 0 3 1 7 6 5 4 3 2 1 0 15
16: 0 0 1 0 1 4 2 0 7 6 5 4 3 2 1 0 16
17: 0 1 2 1 2 5 3 1 8 7 6 5 4 3 2 1 0 17
18: 0 0 0 2 3 0 4 2 0 8 7 6 5 4 3 2 1 0 18
19: 0 1 1 3 4 1 5 3 1 9 8 7 6 5 4 3 2 1 0 19
20: 0 0 2 0 0 2 6 4 2 0 9 8 7 6 5 4 3 2 1 0 20
Kolumnerna är alltså klocksekvenserna: Kolumnen för 6 ger klocktalen för 6, dvs 0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,..
: en evigt snurrande klocka.
Primtalen i en modulo-tabell
Nu kan vi äntligen börja prata om primtal.
Ett tal är ett primtal om talets rad "råkar" vara så beskaffad att alla klockorna (kolumner) är något annat än 0 för kolumnerna som motsvarar mindre tal än radtalet, förutom för 1-kolumnen och talets egen kolumn. Det sistnämnda är helt som det ska eftersom definitionen av ett primtal är att det endast är jämt delbart med sig själv och 1.
Sammanfattning: Ett tal är ett primtal då dess rad endast består endast av 0:or förutom för 1-kolumnen och talets egen kolumn (för kolumntal mindre än detta tal).
Ser man primtalen endast var för sig och utan sina sammasatta kompisar kan strukturen bli svår att överblicka. Ser man dem däremot inbakade på ovanstående sätt - i dessa eviga klockor som snurrar - känns det (tycker i alla fall jag) betydligt mer naturligt.
En annan klock-tabell: jämna divisioner
Här är en annan tabell som inte är lika naturlig, men som bygger på en liknande klock-princip. Här använder vi jämna divisioner enligt principen att om ett tal (raden) är jämt delbart med ett kolumntal skrivs resultatet av divisionen ut annars skrivs 0.
T.ex. division med 2 ger följande:
1 delat med 2 går inte jämt ut => 0
2 delat med 2 är 1 => 1
3 delat med 2 går inte jämt => 0
4 delat med 2 ger 2 => 2
5 delat med 2 går inte jämt => 0
6 delat med 2 ger 3 => 3
osv
Återigen ser vi en "klockeffekt" i kolumnerna:
För kolumnen 1 är det 1, 2, 3, 4, 5
För kolumnen 2 är det 0, 1, 0, 2, 0, 3
För 3 är det 0, 0, 1, 0, 0, 2, 0, 0, 3
...
Kolumnstrukturen för ett tal t: först kommer t-1 0:or sedan ett tal i konsekutivt i serien 1, 2, 3, sedan t-1 0:or, sedan nästa konsekutiva heltal etc.
Primtalen (återigen sett radvis) får vi då det endast finns 0:or på rad, förutom för kolumnerna 1 respektive t-kolumnen (dvs talets egen kolumn). Primtalen är de fetmarkerade i nedanstående tabell.
___1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
1: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2: 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3: 3 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4: 4 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5: 5 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6: 6 3 2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7: 7 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8: 8 4 0 2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9: 9 0 3 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10: 10 5 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11: 11 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12: 12 6 4 3 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13: 13 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14: 14 7 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15: 15 0 5 0 3 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16: 16 8 0 4 0 0 0 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17: 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
18: 18 9 6 0 0 3 0 0 2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
19: 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
20: 20 10 0 5 4 0 0 0 0 2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
21: 21 0 7 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
22: 22 11 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
23: 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
24: 24 12 8 6 0 4 0 3 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
25: 25 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
26: 26 13 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
27: 27 0 9 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
28: 28 14 0 7 0 0 4 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
29: 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
30: 30 15 10 0 6 5 0 0 0 3 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Jag har för övrigt tidigare skrivit lite om diagonalerna i denna typ av tabell, se vidare
Diagonalserier.
Slutord
Återigen: Ovanstående är inget som helst matematiskt genombrott, men kanske kan det skapa något bättre förståelse kring talen.
Posted by hakank at augusti 25, 2005 08:59 EM Posted to Matematik