Varför räknar vi som vi gör? Om vårt talsystems historia. Anders Källén Matematikcentrum, LTH den här artikeln ska vi diskutera vårt talsystem ur ett kulturhistoriskt perspektiv. Vi ska se hur man genom tiderna har försökt komma på hur man både ska kunna beteckna tal, och räkna med dem. Det var en lång process att komma dit vi är idag, med ett positionssystem, som bl.a. innebar att man förstod betydelsen av nolla. Men det system vi har, med reella tal som oändliga decimalutvecklingar, har sina filosofiska problem: vad menas med oändligt många decimaler? Kan man någonsin räkna ut sådana tal? I Introduktion Matematik var ingenting människan uppfann för att jäklas med små barn. Matematiken var något som uppkom av nödvändighet när människor började bilda samhällen med specialiserade yrken. Att övergå från att vara jägare-samlare till att bli bofast och odla marken innebar att man behövde lära sig tänka framåt och ställa frågor av typen: hur mycket säd måste jag spara till nästa utsäde. När är det dags för nästa såning? Tidigt utvecklades en speciell samhällsklass, prästerna, vars roll kanske framför allt var att hålla reda på årstiderna, så att man visste när man skulle så, och när det var dags att skörda. Detta krävde att man studerade och beskrev himlavalvet1 . Sedan började man bygga de stora monumenten (som pyramiderna i Egypten), med sina både rent ingenjörsmässiga problem, men också logistiska, problem, med att ge föda och husrum till stora mängder av olika sorters arbetare. Men det var få som behövde kunna räkna, och tumregler var vanliga för att lösa olika uppgifter. Nya utmaningar vid medeltidens slut ledde till ett behov av förbättrade räknemetoder. Med den gryende kapitalismen kom både ett behov att kunna räkna med ränta på ränta och att kunna handla på långa avstånd. Fram tills 1400-talet hade man mest seglat i nord-sydlig riktning och utmed kuster, och då gick det att orientera sig någorlunda med hjälp av landmärken och solen. På de stora haven krävdes något nytt, och det blev navigering efter stjärnorna. Men det krävde att kaptenen, eller någon annan, kunde räkna, för att med hjälp av medtagna stjärnkartorna kunna positionsbestämma sig. En annan drivkraft var artilleriets inträde i krigen, med långskjutande kanoner, vilket krävde att man kunde beräkna laddning och vinkel för att få rätt nedslagsplats. Eller i varje fall konstruera vägledande tabeller. I samband med detta började man också mäta världen. Men under hela denna resa, från det att människan blev bofast till för några hundra år sedan, var det komplicerat att räkna med de fyra räknesätten. Man måste skilja mellan att räkna och att dokumentera resultatet - alltså skriva ner talen. Räknandet gjordes ofta med mekaniska hjälpmedel - kulramar och liknande - och resultatet skrevs sedan ner i olika symboler som användes som siffror. Men att räkna 1 med kulramar har sina begränsningar, fr.a. att man Box 1 Ur Samuel Pepys dagbok från 1662 bara kan hålla sig inom ett visst talområde. Men det För att illustrerar statusen på multiplikation kan vi gjorde också räknandet till en rent mekanisk aktivita följande utdrag ur Samuel Pepys dagbok från år tet, som kunde utföras utan att man behövde förstå juli 1662. talens egenskaper. De första som försökte förstå2 talen var grekerna. Grekerna var ett resande och handlande folk, som tog till sig av andra kulturers kunskap och dokumenterade den. I någon mening offentliggjorde de andras yrkeshemligheter. Men de var också ett diskussionsglatt folk, och införde ett nytt begrepp inom matematiken - beviset. När en matematisk teknik togs hem behövde man kunna övertyga sina medmänniskor om att den fungerade3 . T.ex. kände både babylonier och egypter till Pytagoras sats, den användes till att konstruerar räta vinklar, men det var troligen grekerna som tyckte den behövde ett bevis. Under hela denna tid, och långt framöver, fanns det många olika sätt att räkna på. Ofta räknade man olika saker på olika sätt (vi räknar t.ex. ägg i tjog och tid och vinklar i 60-delar) och ofta gjordes dokumentationen av tal i form av bokstäver (grekerna använde inte bara hela sitt alfabet, utan två olika generationer av alfabet för att dokumentera tal, romarna ett fåtal latinska bokstäver, fr.a. I,V,X,L,M,D,C). Men på 600-talet spred sig ett nytt folk över världen som, likt grekerna, var villiga att lära sig av de kulturer de kom i kontakt med (nu genom erövring istället för handel) – araberna. Eller snarare muslimerna, eftersom vi pratar om spridningen av Koranen. Araberna var kanske det folk (förutom sumererna och babylonierna) som kom att ha mest betydelse för den egentliga räknekonsten4 . De hämtade och organiserade dåtidens kunskap, och införde i den processen det decimala talsystem vi idag använder. Det var uppfunnet ett millenium tidigare av indier, och möjliggjorde två fundamentala saker: alla tal, stora som små, går att beskriva med ett fåtal symboler, och det går att faktiskt räkna med talen. Dock tog det lång tid, ända fram till skarven mellan medeltid och nutid, innan detta sätt att räkna hade slagit igenom i stor skala i Europa. “Den 4de. Snart kommer mr Cooper, som är styrman på Royal Charles och som jag ämnar lära mig matematik av. Jag skall börja idag med honom, eftersom han är en mycket duktig karl och jag förmodar att han låter sig nöja med ganska litet. Efter en timmes samvaro med honom och sysslande med aritmetik (det första jag griper mig an med är multiplikationstabellen) skildes vi åt till i morgon. Den 9de. Upp klockan fyra och läste flitigt på min multiplikationstabell, som är det svåraste jag stött på i aritmetiken.” Samuel Pepys är för oss kanske mest känd som författaren till en av alla tiders mest fascinerande och avslöjande dagböcker. När han skrev passusen ovan var han 29 år gammal och hade bakom sig en god utbildning från bland annat universitetet i Cambridge och han var i början av en karriär som slutligen skulle föra honom till höga poster i det engelska samhället, där han bland annat kom att organisera den engelska flotta som sedan kom att behärska haven i århundraden. Småstensaritmetik Det vi kallar de naturliga talen, alltså 1, 2, 3, . . ., användes troligen från början för att besvara frågan “Hur många?”. Frågan i sig själv kräver ett abstrakt tänkande som många tror skiljer oss från andra djur: vi kan se att fem kor och fem hundar har den gemensamma egenskapen att de är fem till antalet. Vill vi skriva ner detta abstrakta tal, kan vi illustrera det med 5 streck. Människan har troligen betecknat tal med streck ganska länge, även om hon kanske inte förstod det abstrakta begreppet. 1960 hittade man i Ishango i Kongo en benbit som är 20 000 år gammal som innehåller tre rader med skurna jack. Två av I denna artikel ska vi se lite på hur forna tiders raderna summerar sig till 60, det tredje till 48. Ett folk räknade, vilka deras utmaningar var, i syfte att sådant ben kan knappast ha uppkomma av en slump, förstå det kraftfulla i vårt talsystem. Men vi ska men vad man kan ha räknat kan vi bara gissa. också se vilka svårigheter det för med sig och vilka Artonhundratalsmatematikern Leopold Kronecker sa matematiska metoder som uppfanns för att bemästra en gång (på tyska) att de naturliga talen är Guds dess svåraste gren: multiplikation. Att räkna sysslade verk, allt annat är människoverk. De naturliga talen endast ett fåtal med, och speciellt inte fint folk, vilket finns oberoende av om vi har gett dem namn eller illustreras av Samuel Pepys dagbok i Box 1. Han inte. På samma sätt finns de fyra räknesätten oberohade studerat vid universitetet i Cambridge utan att ende av vilka namn vi gett de olika talen, eller hur kunna multiplicera! vi skriver dem. Vi kan utföra beräkningar konkret Varför räknar vi som vi gör? Om vårt talsystems historia. •epost: [email protected] page 2 of 13 Box 2 Hur kilskriften troligen uppkom Det vi menar med skrift utvecklades för första gången i Sumer från fjärde till andra årtusendet före Kristi födelse. Det första kända tecknen vi hittar är lertecken som representerar varor man lagrat eller handlat. Från början representerade en symbol t.ex. ett får eller en viss mängd säd, men strax dök det upp symboler (t.ex. ett klot, en kon, en cylinder eller en pyramid) för att representera olika mycket av speciella saker (en kon var t.ex. en liten mängd säd, medan ett klot var en stor mängd säd). Antalet tecken gav den men mer exakta mängden. Med tiden tillkom fler tecken, och efter ytterligare en tid en form av standardisering av dem, vilket gjorde dem väl lämpade för bokföring. Man kunde använda en samling tecken för att dokumentera en lovad, framtida transaktion, eller lagra den i ett arkiv som ett bevis för en genomförd transaktion. Av säkerhetsskäl, för att dessa symboler skulle kunna fungera som dokumentation för en transaktion, lade man tecknen från början i en lerpåse. För att slippa öppna påsen när man ville veta innehållet, markerade man symbolen också på utsidan av denna lerpåse, ofta i förenklad form. Notera att eftersom olika symboler representera olika saker fanns ännu inte de abstrakta begrepp som tal representerar. Vid ungefär 3000 f.Kr. hade dessa markeringar utvecklats till ett komplicerat system av tecken med vars hjälp man kunde registrerar stora mängder varor. Under de följande 500 åren kom kilskriften att utvecklas. Man hade då insett att lerpåsen var onödig, det räckte med symbolen på utsidan av den, och den kunde placeras på en lertavla: tecknen ristades i leran med ett skrivstift (stylus), varefter leran soltorkades eller brändes. med hjälp av en hög småsten. Addition svarar mot att lägga ihop två högar, subtraktion mot att ta bort lika mycket som finns i en mindre hög från en större, multiplikation mot att göra flera lika stora högar och sedan lägga ihop dem till en och, slutligen, svarar division mot att dela upp en given hög i ett antal lika stor högar (så långt som möjligt – det kan bli lite över). Vi kallar detta sätt att “räkna” för småstensaritmetik. Poängen med det är att vi vill skilja själva de aritmetiska operationerna från det sätt vi beskriver tal på. Medan jägar-samlar folk säkert inte hade något egentligt behov av att räkna i någon nämnvärd skala, förändrades detta när människan blev bofast och började bygga samhällen – det vi kallade civilisationen. När gemensamma resurser ska samlas in efter förmåga och fördelas efter behov, när skatt ska beta- Varför räknar vi som vi gör? Om vårt talsystems historia. las för att finansiera en icke-arbetande samhällsklass (t.ex. präster), när gemensamma byggprojekt ska genomföras etc, behöver man både kunna räkna och skriva ner resultatet. T.ex. behövde man veta hur mycket utsäde man behövde spara för nästa års skörd, och det i sin tur beror av hur stor areal som ska sås. Kanske skrivkonsten just ur behovet att dokumentera tal, se Box 2. I praktiken dyker tal upp i två olika skepnader: som antal och som mätetal. De förra beskrivs med de naturliga talen, de senare mäter sådana saker som hur långt något är, eller hur stor en area är. I det fallet handlar det om att jämföra t.ex. en längd med en standardlängd. Som bekant fanns det många olika sätt att mäta längder på: aln, fot etc. Den stora skillnaden mellan antal och mätetal är att de förra alltid är exakta, de senare mäts bara till en viss precision. En verklig längd är aldrig ett exakt tal utan bara mätt på någon mm när, eller tusendels mm eller med någon annan osäkerhet. Olika saker mättes dessutom ofta i olika enheter, såsom säd i tunnor (ett tunnland är en så stor area som skulle få en tunna säd som utsäde) och honung i mark. Att tänka på tal som mätetal ger oss en annan bild av addition: som två på varandra förflyttningar. Om vi först förflyttar oss a längdenheter i en viss riktning och sedan ytterligare b längdenheter i samma riktning, har vi totalt förflyttat oss a + b längdenheter i den riktningen. Här är vi dock mest intresserade av hur man utförde de olika räknesätten på heltal, när man inte hade hjälp av hur man skrev talen. Lägg märke till att bråk kan överföras till heltal genom att vi räknar antalet delar: t.ex. är 5 27 detsamma som 37 sjundedelar. Sjundedelar är en sorts referensstorhet och talet som intresserar oss5 är 37. Vi ska nu titta närmare på vad det innebär att multiplicera och dividera med metoder som är baserade på småstensaritmetik, men är mer effektiva än att flytta stenar. Men för dessa illustrationer behöver vi kunna namnge talen, och vi väljer att göra det på det sätt vi är vana vid, i decimal form. Vi ska dock inte använda denna betecknings speciella egenskaper; vi kunde ha använt vilket beteckningssätt som helst här. I det antika Egypten fanns en metod för multiplikation som byggde på addition, men i form av fördubblingar och halveringar. För att illustrera metoden väljer vi att multiplicera talen 35 och 174. Vi gör då så att vi bildar en serie med fördubblingar av det ena talet, och en annan serie med halveringar av det andra (dessa operationer är relativt lätta att •epost: [email protected] page 3 of 13 Box 3 Egyptisk multiplikation och division Den egyptiska metoden att multiplicera talen 35 och 174 kan beskrivas som i nedanstående tabell. Decimalt 174 35 348 17 696 8 1392 4 2784 2 5568 1 Rest 1 1 0 0 0 1 Binärt 10101110 101011100 1010111000 10101110000 101011100000 1010111000000 100011 10001 1000 100 10 1 De två kolonnerna till vänster visar hur det ser ut i våra vanliga, decimala, tal. Först fördubblingsserien, sedan halveringsserien. Den tredje kolonnen visar vilken rest vi får vid halvering. Om vi läser denna nerifrån och upp har vi fått den binära beskrivningen av talet 35: 35 = 32 + 2 + 1 = 100011 i binärt talsystem. Det vi har är alltså att 174 · 35 = 174(25 + 2 + 1) = 25 · 174 + 2 · 174 + 174 = 5568 + 348 + 174. Binärt är detta oerhört enkelt. Fördubbling innebär att lägga till en nolla i slutet, och halveringssekvens behöver inte utföras eftersom den binära framställningen av 35 redan talar om vilka tal som ska adderas, nämligen göra i huvudet). I det senare fallet slänger vi bort alla rester. I vårt fall får vi de två sviterna halvering: 35 17 8 4 2 1 fördubbling: 174 348 696 1392 2784 5568 Sedan stryker vi de kolonner i vilka halveringssekvensen är ett jämnt tal (vilket är de ställen där vi inte fick någon rest vid halveringen). Kvar får vi då 35 174 17 348 1 5568 varefter vi summerar de kvarvarande talen i fördubblingsserien: 174 + 348 + 5568 = 6090. Förklaringen för varför detta fungerar finns i Box 3. Denna metod användes på den ryska landsbygden till långt in på 1900-talet för multiplikation. Att skriva resultatet för division var länge svårt. I många kulturer fanns beteckningar för vissa speciella bråk, men inte alla. I Egypten skrev man t.ex. alla bråk som en summa av s.k. stambråk, typ 18/35 = 1/2 + 1/70; varje term i högerledet skulle ha ett i täljaren (så man skrev inte ut den). Ett problem var att det bara fanns beteckningar för ett fåtal stambråk, så alla bråk gick inte att skriva. = 1011111001010, Det har länge funnits ett annat sätt att beskriva bråk på, som är naturligt eftersom det egentligen är helt oberoende av hur man betecknar tal. Låt oss som exempel dividera 1954 med 181. Det första vi gör är att se efter hur många gånger 181 går i 1954 och vilken rest vi får. I modern notation har vi att 1954 = 10 · 181 + 144, vilket betyder att vilket är den binära framställningen av det decimala talet 6090. 1954 144 1 = 10 + = 10 + 181 . 181 181 144 Division gick till på ett motsvarande sätt. I våra beteckningar, om vi ska dividera 368 med 35, skriver vi först upp fördubblingssviten för 35 tills vi får ett tal som är större än 368. Den är 35, 70, 140, 280. Vi har nu följande två sviter: Gör nu samma operation med 181 och 144, vilken är 188 = 144 + 37. Det följer att 188/144 = 1 + 37/144 och stoppar vi in det ovan får vi en likhet till: 1010111000000 + 101011100 + 10101110 1 35 2 70 22 140 23 280 Vi vill nu se hur vi kan skriva 368 som en summa av talen i den andra sviten. Vi subtraherar nu 280 från 368 och får 88. Nästa tal från sviten som vi nu kan subtrahera är 70, och kvar blir då 18. Alltså: 368 = 280+70+18, vilket betyder att heltalsdelen är 8+2 = 10 och resten 18. Notera att divisionsproblemet är att hitta lösningen på ekvationen 35x = 368, och det man gör är att skriva ut x binärt och identifiera vilka potenser av två som ska vara med. 1954 144 1 1 = 10 + = 10 + 181 = 10 + 37 . 181 181 1 + 144 144 Om vi fortsätter på den inslagna vägen får vi 1 10 + 1+ 1 3+ 1 = 10 + 1 3+ 1 = 10 + 1+ 4 33 1 1+ •epost: [email protected] 1+ . 1 3+ Varför räknar vi som vi gör? Om vårt talsystems historia. 1 1+ 33 37 1 8+ 1 4 page 4 of 13 Box 4 Euklides algoritm och diofantiska ekvationer Om a och b är två naturliga tal, betecknar vi med (a, b) den största gemensamma nämnaren. Detta är det största tal som är sådant att dividerar vi a och b med detta, så blir det ingen rest (divisionen går jämnt upp). Denna bestäms genom Euklides algoritm, som vi kan illustrera genom att beräkna (1954, 181). De räkningar vi gjorde när bestämde kedjebråket för 1954/181 visar att 1954 = 10 · 181 + 144; 144 = 3 · 37 + 33; 181 = 144 + 37; 37 = 33 + 4; 33 = 8 · 4 + 1 Från den första divisionen ser nu talet (1954,181) delar även 144, vilket vi kan skriva (1954, 181) = (181, 144). Den andra ekvationen visar sedan att (181, 144) = (144, 37). Fortsätter vi ser vi att (1954, 181) = (181, 144) = (144, 37) = (37, 33) = (33, 4) = 1. Den största gemensamma delaren är alltså 1. Man säger då att talen är relativt prima. En intressant observation är att vi nu kan gå baklänges i detta: 1 = 33 − 8 · 4 = 33 − 8 · (37 − 33) = 9 · 33 − 8 · 37 = 9(144 − 3 · 37) − 8 · 37 = 9 · 144 − 35 · 37 = 9 · 144 − 35(181 − 144) = 44 · 144 − 35 · 181 = 44(1954 − 10 · 181) − 35 · 181 = 1954 · 44 − 181 · 475. Det betyder att vi har hittat en heltalslösning till ekvationen 1954x + 181y = 1, nämligen x = 44, y = −475. En ekvation på formen ax + by = c, där a, b, c är heltal, till vilken vi söker heltalslösningar x, y, kallas en linjär diofantisk ekvation, och vi har just lärt oss hur man hittar en lösning när c är en multipel av (a, b). Om så inte är fallet finns inga lösningar. Ett sådant uttryck kallas ett kedjebråk, och är ett alternativt sätt att skriva ett bråk. Vi ser att det är konstruerat av den typ av stambråk som egypterna använde. Metoden visar att varje rationellt tal kan skrivas som ett (ändligt) kedjebråk. Uppkomsten av vårt talsystem Att dokumentera stora tal med individuella streck är omständligt. För snabbare identifiering av talet är det därför naturligt att gruppera strecken, och ge grupperna speciella symboler. Detta har gjorts på olika sätt i olika kulturer, men det vanligaste har varit att grupperingarna har hängt ihop med våra händer, vanligtvis i 10-tal eller, som hos romarna, i 5-tal6 . Sumererna och Babylonierna hade två tecken: ett för ett och ett för 10. Egyptierna hade symboler för talen 1 (ett papyrusblad), 10 (en båge bildad av ett dubbelvikt blad), 100 (en repslinga), 1000 (lotusblomma), 10 000 (orm), 100 000 (grodlarv) och 1 miljon (en skrivare med armarna uppåtsträckta). Grekerna använde i princip sitt vanliga alfabet, och det romerska systemet med I=1, V=5, X=10, L=50, C=100, D=500 och M=1000 är välkänt. Man skrevs sedan ett tal genom att man upprepade antalet tecken ett visst antal gånger. Romarna skrev vårt tal 505 som DV, medan det för egyptierna var 5 bågar med dubbelvikta blad och 5 papyrusblad. Att skriva talen med symboler på detta sätt har två konsekvenser: (1) man behöver andra medel för att göra beräkningar och (2) man kan i praktiken bara beskriva tal inom ett visst område. Det beror på att skrivsättet egentligen inte skiljer sig från småstensaritmetikens sätt att beskriva ett tal: visa upp det antal stenar som definierar talet. För att råda bot på detta behövs några revolutionerande idéer. Den första av dessa idéer fanns redan hos dem som uppfann tal i skrift: babylonierna och deras föregångare sumererna. Visserligen använde de olika sätt för att räkna olika saker, men vissa av dessa räknades i grupper om 60. Man hade visserligen bara symboler för 1 och 10, man grupperade resultatet så att man kunde skriva mycket större tal. Vad man väsentligen gjorde var att skapa fack, och låta facken beteckna en-tal, 60-tal, 3600-tal etc. Men man hade ingen referenspunkt, så man visste inte om 35 (skrivet i kilskrift) betydde 3 · 60 + 5 = 185, eller 3 · 602 + 5 · 60 = 11100, eller kanske t.o.m. 3 + 5/60. Sammanhanget fick avgöra vilket som låg vid handen. Dock förekom ibland en lucka för att illustrera, vad vi skulle skriva, 305, en lucka som dock måste varit lätt att missa vid avläsning. Räkningarna vi just genomfört kan också användas till att bestämma det största tal som delar både 1954 och 181 (och visar att detta är ett). Detta diskuteras När det babylonska sättet att skriva tal exporterades utvecklades det i olika riktning i väster och i öster. I i Box 4 väst blev det till bokstavssystem, där man tog fasta på hur upprepning av symboler beskriver ett tal. Varför räknar vi som vi gör? Om vårt talsystems historia. •epost: [email protected] page 5 of 13 Något förenklat kan man säga att medan man i väst tog fasta på systemet att låta olika symboler beteckna olika antal, tog kineserna mer fasta på positionsaspekten av sättet att skriva. Fast vad man egentligen gjorde var att bygga en motsvarighet till kulram som i all sin enkelhet kom att få revolutionerande begreppsmässiga konsekvenser. Räknebrädet ifråga var gjort av trä och rutat som ett stort schackbräde. I dessa rutor placerade man räknestavar, ca 1 dm långa. Ett tal utgjorde en rad, och antalet stavar i den rutan längst till höger betecknade antalet en-tal, antalet stavar i rutan till vänster om den antalet 10-tal etc. Om man skulle addera två tal lade man dem under varandra, och lade ihop stavarna i rutorna som låg under varandra. Varje gång man fick ihop 10 stavar tog man en och lade i facket till vänster och lade undan de övriga 9. Precis som vi adderar. Men vad man också gjorde var att man lät slutresultatet på brädet vara dokumentationen av talet. (För att minska antalet stavar som behövdes i en ruta lät man 1-5 betecknas av samma antal stavar, men 69 beskrevs med hjälp av en vägrätt liggande stav kompletterad med några lodräta.) Notera att vår nolla motsvarades av ett tomt fack. Från kinesernas räknebräde till vårt sätt att skriva talen är en väldigt kort resa. Men det var (troligen) indierna som sådär 500 f.Kr. uppfann det talsystem vi idag använder. Om vi utgår ifrån kinesernas räknebräde så införde indierna två viktiga uppfinningar: 1. För att snabbare kunna bestämma antalet streck i ett fack, la de dem enligt mönster som påminner lite om hur våra siffror ser ut på en digitalklocka. Dessa utvecklades sedan till våra siffror 1,2,3,4,5,6,7,8,9. 2. De införde en speciell symbol för ett tomt fack: nollan. att förstå Nirvana. Det som åstadkommits med detta var alltså dels att hur stora tal som helst kan beskrivas, men också att man kan räkna direkt med talen, användande papper och penna, istället för att behöva ett mekaniskt hjälpmedel. Beteckningssättet betyder att talsviten ak ak−1 . . . , a1 a0 är det tal vi får om vi beräknar ak 10k + ak−1 10k−1 + . . . a1 10 + a0 . Här är varje ai ett av talen 0, 1, . . . , 9. Även om detta sätt att skriva tal möjliggör att vi kan skriva upp hur stora tal som helst, och gör addition relativt enkelt (enligt samma princip som det kinesiska räknebrädet), så är det inte direkt anpassat till att enkelt utföra multiplikationer (eller divisioner). Och är det svårt att räkna blir det ofta fel, vilket kunde leda till att fartyg gick på grund, eller att arméer svalt. Steget att införa nollan som siffra är inte speciellt självklart. Det gjordes en gång i gamla världen, av indierna, och en gång i nya världen, av Mayaindianerna. Symbolen för noll betyder på hinduiska tom, så det var mer en verbal beskrivning från början, men med tiden upptäckte man att den behövde ha rollen som en siffra. Det är inte det att grekerna inte funderade kring nollan, men deras problem var hur ingenting skulle kunna vara ett tal, och kom fram till att det vore en paradox om så var fallet. Eftersom “ingenting inte kan vara någonting” kan inte saker som siffran noll (eller vakuum) existera. Men indiernas uppfinning tog mer än tusen år att komma väster-ut, och för detta krävdes muslimsk jihad. Araben Al-Khwarizmi var den förste som i skrift (år 825) försökte förklara decimalsystemet. Boken har ingen titelsida, men i arabiska bibliotekskataloger kallas den “Boken om addition och subtraktion med indiska metoder”. Den är en sammanfattande, förklarande och förfinande framställning av tidigare vetande, främst av indiskt ursprung. Efter en ingående redogörelse för decimalsystemet och bruket av nolltecknet beskriver han vad han kallar hinduiska metoder för de grundläggande aritmetiska operationerna. Addition och subtraktion utför han som vi gör det, multiplikation med en metod som kan kallas nät-metoden som i allt väsentligt är samma metod som vi använder, fast är lite annorlunda uppställd. Nätmetoden som beskrivs i Box 5, beskrevs först av Al-Khwarizmi och populariserades i Europa av skotten John Napier under 1500-talet7 . Därmed var vårt sätt att skriva talen uppfunnit, det s.k. decimalsystemet. Decum är latin för tio, som utgör basen för metoden. Det är ett positionssystem, där positionen av ett tal talar om hur mycket det bidrar med. 3:an i 305 bidrar med 3 hundratal, medan 3:an i 35 endast bidrar med 3 tiotal. Härigenom kan man också skriva hur stora tal som helst. Vilket för övrigt var indiernas stora drivkraften, eftersom de var besatta av stora tal, och gav många av dem speciella namn. Så var t.ex. en rajju det avstånd en gudomlighet tillryggalade om han flög i sex månader med en hastighet av en miljon kilometer per ögonblinkning (av storleksordningen Så medan det decimala talsystemet erövrade de mus216.5 ljusår). Hinduerna behövde förstå stora tal för limska länderna, förblev det förhärskande siffersystemet i det kristna Europa långt in på medeltiden Varför räknar vi som vi gör? Om vårt talsystems historia. •epost: [email protected] page 6 of 13 Box 5 Nätmetoden för multiplikation Som illustration på den s.k. nätmetoden för multiplikation gör vi samma som vi gjorde i Box 3, alltså 35 · 174. En nödvändig förutsättning för multiplikation i decimalsystemet är att man kan multiplikationstabellen. De delar av den vi behöver är 1 3 5 7 21 35 4 12 20 3 5 7 2 3 0 3 5 0 5 10 4 1 1 9 3 2 2 5 ak 10k + . . . + a0 + a−1 10−1 + . . . + a−m 10−m . Detta får betydelse vid t.ex. ränteräkning. Det vi gör nu är att vi drar den bakåtvända diagonalen i var och en av de nio rutorna i multiplikationstabellen. Sedan skriver vi varje tio-tal ovanför diagonalen, och entalet nedanför. Sedan drar vi ut diagonalerna till en rad under den nedersta. Slutligen adderar vi talen på diagonalen 1 0 helst som det decimala systemet kan skriva ner exakt, utan även så små tal vill, genom att använda negativa potenser av 10, med en decimalpunkt för att markera var entalssiffran står. Vi har alltså att talet ak . . . a1 a0 .a−1 . . . a−m är talet 5 0 0 Vi ser att vi fick 10 i andra position. Vi splittrar den genom att lägga tiotalssiffran till positionen till vänster och behålla endast entalssiffran. Slutresultate är 6090, precis som tidigare. John Napier anammade denna metod, som var känd sedan tidigare, och konstruerade en sorts kulram för multiplikation. Hans metod, Napier’s ben, förebådade hans senare uppfinning av logaritmerna. Napiers ben kan lätt göras av pappersremsor (eller trästavar). För ändamålet behövs tio remsor, ungefär en decimeter långa och ett par centimeter breda. Remsorna förses med linjer och siffror på samma sätt som ovan. Varje remsa svarar mot en rad i multiplikationstabellen. Sedan förfar man ungefär som ovan. Genom att gå i omvänd ordning kan man dividera. Exempel 0.1. Betrakta följande problem: du ska låna ut 100 kr till 13% ränta i 5 år, hur mycket ska då betalas tillbaka? På en kulram har man ändligt många positioner till sitt förfogande för dessa räkningar. Som illustration bestämmer vi oss för att räkna i hela kronor. Om vi ska räkna ut 13% av ett heltal, multiplicerar vi med 13 och tar bort de två sista siffrorna. Det betyder att räkningarna blir Efter 1 år 2 år 3 år 4 år 5 år 100 + 0.13 · 100 = 113 kr 113 + 0.13 · 113 = 113 + 14 = 127 kr 127 + 0.13 · 127 = 143 kr 143 + 0.13 · 143 = 161 kr 161 + 0.13 · 161 = 181 kr Om vi räknar decimalt däremot, kan vi utan vidare hålla reda på alla decimaler. Våra räkningar blir därför Efter 1 år 2 år 3 år 4 år 5 år 100 + 0.13 · 100 = 113 kr 113 + 0.13 · 113 = 113 + 14.69 = 127.69 kr 127.69 + 0.13 · 127.69 = 144.28970 kr 163.047361 kr 184.24351793 kr vilket innebär en förtjänst på 184.24 − 181 = 3.24 kr. Naturligtvis kan vi räkna i ören på kulramen istället, och då blir skillnaden mindre. Men principen är att det romerska. Den man som kom att betyda mest kulramen bara kan hantera relativt små tal rimligt för att införa det decimala systemet i den kristna exakt. världen var Leonardo Fibonacci. Han var son till en italiensk diplomat från Pisa i Italien och bodde Som kuriosa kan vi notera att Fibonacci tog över i hamnstaden Bejaia (Bougie) i nuvarande Algeri- arabernas sätt att skriva talen direkt. I språk som et som tonåring. Här kom han i kontakt med de skrivs med det romerska alfabetet skrivs orden från muslimska handelsmännens sätt att räkna, och insåg vänster till höger, vilket är tvärtemot hur araberna dess värde för beräkningar. Han tog därför med sig skriver. Det betyder att araberna läser lägsta siffran siffersystemet hem till Italien och skrev 1202 en bok, först och högsta sist, medan det är tvärtom för oss. ’Konsten att räkna’ (Liber abaci ), som riktade sig Trots de rent ekonomiska fördelarna med det detill italienska handelsmän. I den förklarade han hur cimala systemet i merkantil räkning (inte bara det gav handelmännen rent ekonomiska vinster att ränteräkning, utan också valutaväxlingar), fann det räkna decimalt istället för på kulram. Att det är medeltida Europa i århundraden det decimala systeså beror på att det är inte bara hur stora tal som mets beteckningssätt så mystiskt och svårt att man Varför räknar vi som vi gör? Om vårt talsystems historia. •epost: [email protected] page 7 of 13 fördömde det som ett djävulens påfund och trodde Box 6 Datorer är som kulramar att de som använde de nya metoderna var trollkarlar Införandet av datorer för numerisk räkning innebär eller bedragare. Till exempel förbjöd Florens köpmän ett återinförande av kulramarnas begränsningar. Siff1299 användandet av arabiska siffror. Spridningen ror lagras i datorer binärt, där siffrorna (0 och 1) och acceptansen för de arabiska siffrorna fick emellerkallas bitar. Fysiskt kan detta lagras som en elekttid hjälp av Gutenbergs tryckpress, och blev allmänt risk omkopplare. Lägger man 8 sådana bitar i en rad får man en byte, och med en byte kan vi t.ex. kända i Europa under 1400-talet. I mitten av 1500beskriva alla heltal mellan 0 och 28 − 1 = 255. Vi talet var de i allmänt bruk, och de romerska siffrorna kan sedan addera två sådana heltal genom att lägga förpassades till speciella områden såsom urtavlor och dem bredvid varandra och använda principen för ordningstal på kungar. Att räkna med positionssystem Ett positionssystem måste inte ha basen 10. Om vi låter b vara basen, så betecknar talet ak ak−1 . . . , a1 a0 talet ak bk + ak−1 bk−1 + . . . a1 b + a0 . Om vi t.ex. väljer talet 305 i bas 8, så betecknar det det decimala talet 3 · 82 + 0 · 8 + 5 = 197. Vi skriver detta som 3058 = 19710 . Omvänt, har vi att 30510 = 4618 . För att se det, notera först att 305/8 ger resten 1. Därav a0 = 1. Sedan ger (305 − 1)/82 resten 6, vilket betyder att a1 = 6. Slutligen blir 305−1−6·8 = 4·82 . Om man arbetar i bas b behöver man b siffror, 0, 1, . . . , b−1. För en bas b > 10 betyder det att vi måste uppfinna nya “siffror”. T.ex. har det hexadecimala systemet bas b = 16, med de felande sex “siffrorna” A, B, C, D, E, F . När vi multiplicerar i ett positionssystem med bas b, behöver man lära sig en multiplikationstabell som består av b(b − 1)/2 element (även om en del, som multiplikation med noll eller ett, är väldigt enkla). Detta gör att sådana här system är egentligen inte direkt anpassade till att enkelt utföra multiplikationer (eller divisioner). binär addition. Vi behöver för detta fyra register: 2 för talen 0 och 1, ett för resultatet och ett för minnesiffrorna. Ett problem är att om man adderar för stora tal kan man får fel resultat, eftersom vi bara har en byte till vårt förfogande. Addition av 232 och 64 tillgår t.ex. så att 11101000 och 1000000 adderas, vilket ger 00101000, eftersom den sista minnessiffran inte får plats. Men detta är den binära beskrivningen av talet 40, så vi har alltstå att 232+64 = 40 (vilket är 232+64-255). En annan observation är att vi kanske inte vill använda de 256 talen från 0 till 255, utan vi vill ha tillgång till negativa tal. Då kan vi låta första biten bestämmer om det är plus (0) eller minus (1), och sedan låter vi de återstående 27 − 1 = 127 bitarna beskriva storleken (absolutbeloppet): på så sätt kan vi beskriva alla tal mellan −127 och 127 (vilket bara är 255 tal, och det beror på att det finns både ett +0 och ett −0). Genom att använda flera bytes kan vi få 16-bitars tal, 32-bitars tal, 64-bitars tal, etc. Härigenom kan vi utöka antalet heltal vi kan räkna med, men oavsett val måste det bli ändligt många tal som vi kan manipulera - vi kan inte räkna hur långt som helst. Men det är en annan bas som successivt håller på att ersätta bas 10. Det är bas 2, som definierar det binära talsystemet. Igen handlar det om representation av tal, men representation i datorer. Då har det visat sig väldigt praktiskt att använda det binära talsystemet som bara består av ettor och nollor. En etta kan fysiskt representeras av att något är på, medan nollan är att det är av. Att addera binära tal blir väldigt lätt: man lägger upp dem i två rader och jämför positionerna. Om det är precis en etta i en position, blir resultatet en etta. Två nollor eller två ettor ger en nolla, men i det senare fallet lägger man till en etta på nästa position (minnessiffra). Multiplikationstabellen är också mycket enkel: från bas 2 till bas 4, och sedan från bas 4 till bas 8 osv. Decimaltalet 174 kan binärt skrivas 10101110. Det betyder att 174 = 27 + 25 + 23 + 22 + 2 = 2·43 +2·42 +3·4+2. I basen 4 skrivs alltså decimaltalet 174 som 2232, (alltså 17410 = 22324 ) vilket vi direkt kan se genom att skriva det binära talet i grupper som (10)(10)(11)(10) = 2232 (eftersom binärt 10 är 2 i basen 4 och binärt 11 är 3 i basen 4). På samma sätt blir 174 (10)(101)(110) = 256 i basen 8 och (1010)(1110)=(10)(14)=AE i bas 16, där mellanledet betecknar bas 10. Det senare kan vi få från bas 4 representationen genom (22)(32) också. Varför räknar vi som vi gör? Om vårt talsystems historia. •epost: [email protected] Ett tal som representerar ett mätetal beskrivs i ett positionssystem med basen b på samma sätt som heltalen, genom att använda negativa potenser av b, med 0 · 0 = 1 · 0 = 0 · 1 = 0, 1 · 1 = 1. en decimalpunkt för att markera var entalssiffran står. En annan sak att observera är hur lätt det är att gå Vi har alltså att talet ak ak−1 . . . , a1 a0 .a−1 . . . a−m är page 8 of 13 Box 7 En Gulf-krigs katastrof för amerikanarna talet ak bk +ak−1 bk−1 +. . . a1 b+a0 +a−1 b−1 +. . . a−m b−m . Även om alla heltal kan skrivas på detta sätt, gäller inte detsamma med bråk, vilket kanske är överraskande. För att ovanstående tal ska vara ett bråk måste det ha formen N/bm där N är ett heltal. Om vi förkortar med den största gemensamma nämnaren ser vi att ett bråk kan skrivas med en (ändlig) decimalutveckling i basen b precis om bråkets nämnare delar någon potens av b. Men att bråk är väldefinierade tal som inte kan skrivas med ändligt många siffror i form av ett positionssystem innebär att något fattas. Vi kan ge en approximation av 1/7 till vilken precision vi vill, men vi kan inte skriva ner det exakt med ändligt många siffror. Istället gäller t.ex. att 1/7 = 0.142857142857142857 . . . med en oändlig upprepning av sekvensen 142857, och för att få likhet måste vi ta med oändligt många termer. Vilket skapar ett filosofiskt problem kring just vad oändligheten är. Vi kan visserligen beskriva hur talet skrivs decimalt exakt (eftersom det är en periodisk upprepning), men den faktiska summeringen av oändligt många termer är inte självklart. Allmänt gäller att ett bråk alltid svarar mot decimalutvecklingar som är periodiska. Omvänt är en decimalutveckling som är periodisk alltid ett bråk. Om vi t.ex. vill veta vilket bråk x = 0.142857142857142857 . . . svarar mot, observerar vi att multiplicerar vi det med 106 får vi ett tal som kan skrivas 142857.142857142857142857 = 142857 + x. Med andra ord: 106 x = 142857 + x, och alltså x = 142857/(106 − 1). Vi kan nu notera att 106 − 1 = 7 · 142857, varför x = 1/7. Motsvarande gäller i andra baser, men det är olika bråk som är ändliga respektive periodiska. T.ex. gäller att om vi utvecklar 0.1 binärt så har vi den periodiska sviten Den 25 februari 1991, under första Gulfkriget, misslyckades ett batteri av amerikanska patriot missiler att skjuta ner en inkommande irakisk Scud missil. Den slog ner i en amerikansk armé-barrack och dödade 28 soldater. En granskning av orsaken till misslyckandet visade att det berodde på att 0.1 inte är ett binärt bråk. För att kunna fånga in Scud:en behövde batteriet bestämma dess hastighet och tidpunkten den senast sågs på radarn. För att hålla reda på tiden räknade systemet tiondels sekunder. För att kunna beräkna Scud:ens nästa position måste både tid och hastighet uttryckas som reella tal. Patriotsystemet byggde på register om 24 bitar, så översättningen av tid från ett heltal till ett reellt tal kan inte få högre precision and vad som ryms i 24 bitar. Det innebär t.ex. att talet 1/10 lagras som det approximativa talet 0.00011001100110011001100. Skillnaden mellan 0.1 och detta tal är ungefär 0.00000009510 . Systemet hade varit operationellt ca 100 timmar. På den tiden har tidsfelet accumulerats till 0.34 sekunder. En Scud färdas med en hastighet av nästan 1700 m/s, och kommer därför mer än en halv kilometer på den tiden. Den var därför utanför Patriot-systemets synfält, och kunde därmed inte hittas. Lägg märke till att felet berodde på översättningen av ett heltal till ett reellt tal; heltalsgeneratorn hade korrekt ordning på tiden. hitta det av talen 2.1, 2.2, . . . , 2.9 som är det största som har en kvadrat som är mindre än 5. Vi finner att det är 2.2, ty 2.2 = 4.84 < 5 men 2.3 = 5.29 > 5. Sedan fortsätter vi på det sättet och bygger på med √ decimaler 5 = 2.2361.... Dock får vi inte någonsin exakt 5, hur många decimaler vi än bygger på, men vi kan komma så nära vi vill. För att bestämma decimaltalet till en kvadratrot till den precision vi vill kan vi gå tillväga på följande sätt. Låt oss bestämma det tal a som är sådant 2 att √ a = 5. Beteckningen för detta positiva tal är 5 och det beräknas med successiv approximation. Vi börjar med att konstatera att 2 < a < 3, ty 22 = 4 < 5 och 32 = 9 > 5. Sedan gäller det att Slutsatsen av detta är att vi på något sätt måste låta inte bara ändliga decimalutvecklingar utan också oändliga sådana definiera tal – annars kan vi inte få med alla tal. Men detta leder till en del paradoxer eftersom oändligheten inte är ett helt problemfritt koncept. Men vi gör så, och då har vi definierat alla reella tal. De är alla tal som godtyckligt väl kan approximeras med ändliga decimalutvecklingar. Bland dessa finns två typer av tal: de som har periodiska decimalutvecklingar och de som inte har det. De förra utgör bråken, också kallade de rationella talen, medan de senare utgör de irrationella talen. Att det finns irrationella tal är egentligen självklart, det är inte svårt att tänka ut ett sätt att definiera ett tal vars decimalutveckling inte blir periodisk. Men irrationella tal finns mycket närmre oss. Varför räknar vi som vi gör? Om vårt talsystems historia. •epost: [email protected] 1/10 = 0.00011001100110011001100 . . . Det faktum att vi även här har en oändlig utveckling ställer till med en del problem, se Box 7. page 9 of 13 √ Ett enkelt exempel är 2, alltså det (positiva) tal Box 8 Hur man konstruerar ett kedjebFråk av ett vars kvadrat är 2. Man inser lätt att detta tal är rationellt tal √ lite större än ett, varför man kan skriva 2 = 1 + a. Hur konstruerar man då ett kedjebråk till ett godTalet a har en speciell egenskap, ty tyckligt reellt tal, som t.ex. π. Principen är enkel. √ 1 1 2+1 =√ = = 2 + a. a 2−1 2−1 √ Om vi därför utvecklar √ 2 i ett kedjebråk får vi 1 1 2=1+ =1+ =1+ 1/a 2+a =1+ Det följer att jebråket √ √ 1 Om x är ett reellt tal, låt r(x) vara vad som blir kvar om man tar bort heltalsdelen. Då bildar vi kedjebråket för x genom att först definiera en svit av tal xn = 1/r(xn−1 ), n = 1, 2, . . . , utifrån x0 = x, och sedan bilda talet . 1 [x1 ] + 1 2+ 1/a 1 1 [x0 ] + 1 [x2 ] + [x3 ] + 1 [x4 ] + 1 ... där [xn ] står för heltalsdelen av xn . Som illustration tar vi π. Vi har då [x0 ] = 3 och eftersom r(π) = 0.1415927 . . . får vi att x1 = 7.0625133 . . . och alltså [x1 ] = 7. De närmast följande talen bir 1 2+ 2+a 2 definieras av det oändliga kedx2 = 15.996594, x3 = 1.0034172, x4 = 292.63459, 1 2=1+ 2+ 1 . 1 2+ 2 + ... Eftersom rationella tal definierar ändliga kedjebråk, √ ser vi att 2 är ett irrationellt tal. Genom att bara ta med ändligt många steg i processen får vi olika √ rationella approximationer till 2. x5 = 1.5758184, x6 = 1.7366585 varför motsvarande heltalsdelar blir 15, 1, 292, 1, 1. Det betyder att 1 π =3+ 7+ 1 15 + Varför räknar vi som vi gör? Om vårt talsystems historia. 1 1+ 1 292 + Så ett annat sätt att beskriva irrationella tal är alltså som oändliga kedjebråk. Algoritmen för hur detta görs beskrivs i Box 8. Vi antydde ovan att det inte är så att varje oändlig decimalutveckling entydigt definierar de irrationella talen. För att det ska gälla måste vi plocka bort en speciell typ av decimalutvecklingar, vilka är av intresse i sig själva. För att illustrera det, betrakta problemet att gå en sträcka som vi sätter till 1 längdenhet. Vi måste då först gå 9/10 av denna. Därefter 9/10 av det som återstår. Sedan 9/10 av återstoden, osv. Det betyder att den sträcka vi går är 0.9999..., där det är oändligt många nior. Men detta är detsamma som att gå hela sträckan, dvs 0.9999... = 1! Men det betyder att tal som slutar på oändligt många 9:or också kan skrivas på ett annat sätt, om vi höjer siffran innan den första av dessa 9:or med ett och fortsätter med nollor. Detta problem har inget med bas 10 att göra. För det binära talsystemet blir t.ex. 0.1111111... = 1, för det tertiära blir 0.222222... = 1 osv. . 1 1+ 1 1 1 + ... Vi vet att π är ett irrationellt tal, så detta är ett oändligt kedjebråk. Emellertid ger detta oss en svit av användbara rationella approximationer 22 333 355 = 3.1428571, = 3.1415094, = 3.1415929. 7 106 113 Den sista approximationen här är nästan osannolikt nära det sanna värdet på π. Datorn och binära tal På grund av deras betydelse är det all anledning att titta lite närmare på de binära talen. Eftersom vi bara har två siffror att använda blir sådana tal längre än de decimala talen, lite mer än tre gånger så långa (eftersom 10 är lite mer än 23 = 8). Men att räkna med dem är väldigt mekaniskt – det handlar egentligen bara om att på olika sätt använda •epost: [email protected] page 10 of 13 fördubblingar liksom i den egyptiska multiplikatio- och nen. Och fördubblingar görs genom att förskjuta hela 0111 1111 1111 1111 .... 1111 talet ett steg åt vänster (genom att lägga till en nolla om vi pratar heltal). Detta gör att vi kan använda vilket svarar mot talen 2−1023 ≈ 1.112537 × 10−308 binära tal när vi tänker i termer av ja/nej. 1024 = (2 − 2−52 )21024 ≈ 3.595386 × Varför multiplikation endast är en fråga om addition och3081.111 . . . 1 × 2 kan vi illustrera genom att återigen multiplicera 35 10 . Men man får inte med noll, eftersom manoch 174, vilka binärt är 100011 respektiv 10101110. tissa per definition börja med en icke-lagrad etta. Låt oss multiplicera dem med den uppställning vi Istället har man avsatt de två mest extrema exponentvärdena till att betyda speciella saker, inkludekänner: rande nollan. Men dessa undantag lämnar vi därhän i denna diskussion. 10101110 100011 10101110 101011100 0000000000 00000000000 000000000000 1010111000000 10101110 101011100 1010111000000 1000001010 1010111000000 1011111001010 Istället tittar vi in på hur datorn sedan utför de fyra räknesätten. De är i princip alla reducerade till addition, vilket i sin tur är enkelt. Men innan vi gör det poängterar vi att det finns en lucka mellan två konsekutiva tal. För små tal, med exponent noll, är luckan = 2−55 ≈ 2.2310−16 . Detta betyder att 1 + = 1 för datorn i den meningen att den inte kan se skillnad på dessa tal. Om oändligheten och gränsvärden Låt oss nu återvända till definitionen av de reella talen. Vi har sett att dessa är alla oändliga decimalutvecklingar, med ett viktigt undantag: om den Detta är den binära beskrivningen av 6090. Vi ser slutar med oändligt många 9:or så ska man istället här att multiplikationen bara består av additioner. öka på sista icke-9-siffran ett steg och sluta med bara Hur kan man då få datorn att representera andra nollor (dessa två är samma tal, så man behåller bara tal? Det görs som flyttal, och då i regel med 64 bitars ett). Men vad menas då med oändligt många? enligt den s.k. IEEE 754 standarden som fungerar Oändligt många är faktiskt inte ett trivialt eller så att man skriver talet som ett normerat binärt tal motsägelsefritt begrepp. Vi betecknar det med ∞, med 52 bitar till höger om binärpunkten (motsvarar och det är då risk att man tror att det är ett tal. 15-16 decimala siffror) som Det är det inte! Vi vet att det finns oändligt många e udda tal, och det är väl självklart att det finns fler s1.b1 b2 b3 . . . b52 × 2 heltal än udda tal? Så det måste finnas olika sorters där exponenten e måste vara i intervallet −1023 till oändligheter. +1024. Sedan lagras det i 64 bitar genom Tror man, tills man börjar fundera kring vad det betyder att två mängder har lika många element. Det betyder att man kan para ihop elementen i de (1 + 11 + 52 bitar = 64 bitar). Här är e11 e10 . . . e1 två mängderna två och två på så sätt att det inte blir heltalet e + 1023 lagrat i 11 bitar. Den första siffran något över i någon av mängderna. På samma sätt finns det lika många tal som är jämna kvadrater som 1 lagras inte. Talet ett representeras därför av det finns heltal osv. Terminologiskt säger man att 0011 1111 1111 0000 0000 0000 .... 0000 0000 två mängder har samma kardinaltal (vilket betyder lika många element) om det finns en bijektion mellan (63) (240) (0) (0) dem. Kardinaltalet för de naturliga talen är att de I princip skulle talområdet (för positiva tal) markeras är uppräkneligt många. Ett sätt att illustrerara det paradoxala med oändligt av representationerna många saker är Hilbert’s hotell som har oändligt 0000 0000 0000 0000... 0000 många rum. Ett sådant hotell har alltid plats till en se11 e10 . . . e1 b1 b2 . . . b52 Varför räknar vi som vi gör? Om vårt talsystems historia. •epost: [email protected] page 11 of 13 ny grupp gäster. Om det är fullt, och det kommer en ny gäst, så flyttar man bara den gäst som fått rum 1 till rum 2, den som bodde där till rum 3 osv. Då får alla rum, inklusive den nya gästen som får ta rum 1. Det betyder att ∞ + a = ∞ för alla tal a. Faktum är att hotellet är mer användbart än så: om det kommer ett sällskap med oändligt (men uppräkneligt) många gäster så får de också plats: flytta den gäst som är rum k nu till rum 2k, k = 1, 2, . . .. Då blir alla rum med udda nummer lediga. Man placerar sedan de nya gästerna där, efter någon uppräkning av dem. Vi har allså att ∞ + ∞ = ∞. Faktum är att de rationella talen är också uppräkneligt många (kan du tänka ut ett sätt att räkna upp dem?). Trots att det finns ofantligt många av dem, så många att vilka två vi än väljer, så finns det alltid ett annat emellan dem (mellan bråken a/b och c/d finns alltid talet (a + c)/(b + d)). Vi kan uttrycka det som att om vi tittar i en aldrig så liten omgivning till ett rationell tal, så hittar vi alltid oändligt många rationella tal där. Generellt sätt gäller att det mellan två givna tal alltid finns andra tal. Exempelvis finns mellan a och b alltid det aritmetiska medelvärde (a + b)/2, liksom det geomet√ riska medelvärdet ab. (Och många andra. Detta kan användas som ett argument till varför 1 = 0.9999999. Om det nämligen gällde att 0.99999.... < 1, skulle det finnas ett tal däremellan, men hur skulle vi skriva det?) det finns fler än uppräkneligt många irrationella tal. Kardinaltalet för de irrationella talen (och därmed de reella talen) är därför högre än kardinaltalet för de naturliga talen. Sedan är det en intressant fråga om det finns någon delmängd av de reella talen som också är icke-uppräknelig men har ett lägre kardinaltal än de reella talen, den s.k. kontinuumhypotesen. Vi återvänder nu till där vi började detta avsnitt, dvs med observationerna att för det binära talsystemet blir t.ex. 0.1111111... = 1, för det tertiära blir 0.222222... = 1 osv. Uttryckta i vårt vanliga decimala talsystem är dessa påståenden 1 1 1 + ( )2 + . . . + ( )n + . . . = 1, 2 2 2 respektive 2 2 2 + ( )2 + . . . + ( )n + . . . = 1. 3 3 3 Den första av dessa har den geometriska innebörden att för att gå en sträcka, måste jag först gå halva sträckan, sedan hälften av det som återstår, osv. Grekerna funderade mycket på denna tolkning: man borde ju aldrig komma fram. Detta är innebörden av den berömda paradoxen om Akilles och sköldpaddan. Logiskt sett, tyckte grekerna, kan man aldrig komma fram eftersom man har oändligt många halveringar att göra. Och det är något paradoxalt med det hela: antag att vi tänder och släcker en lampa på följande sätt: efter 1/2 minut tänder vi den, därefter släcker vi den efter 1/4 för att åter tända den efter 1/8 minut osv. Vi är färdiga med det hela efter 1 minut, men är lampan tänd eller släckt? Men trots det finns det på ett linjestycke plats för de irrationella talen också. Och de är ännu fler, nämligen icke-uppräkneligt många. För att se det kan vi först påminna oss att vi vet att rationella tal har periodiska utvecklingar i vilken bas vi än väljer, och detta är vad som definierar dem. En enkel, men genial, idé Noteringar av Cantor från 1800-talet talar om varför det finns oändligt många irrationella tal. Enklast är det att genomföra resonemanget i det binära talsystemet, 1. T.ex. förebådade Sirius uppdykande över horisonten i Egypten att Nilen snart skulle svämma över därför att där har varje siffra en komplementärsiffra 2. Kanske inte rätt ord. Vad grekerna lyckades bäst med (0 har 1 och 1 har 0 som komplementärsiffra). Antag att det finns uppräkneligt många irrationella tal mellan 0 och 1, och skriv ner en uppräkning av dem. Vi ska nu definiera ett nytt binärt tal genom att låta den i:te siffran i listan över talen vara komplementet till den siffra som står på den i:te platsen i det i:te talets binära utveckling. Detta ger oss ett nytt tal, och detta tal kan inte vara något av de som finns i uppräkningen (det skiljer sig med säkerhet på åtminstone en plats). Men detta ger en motsägelse: vi antog att vi kunde räkna upp alla talen, men fann ett som inte kommer med i uppräkningen. Alltså måste det grundläggande antagandet vara fel, d.v.s Varför räknar vi som vi gör? Om vårt talsystems historia. var att skapa en mystik kring talen, och matematik i allmänhet. 3. Därigenom uppkom matematikens speciella syntax: den med kopplade påståenden (satser) som kräver ordentligt strukturerade bevis. 4. I Grekland utfördes beräkningsarbetet av slavar. 5. Detta innebär att vi försöker hitta en gemensam grundenhet som vi kan mäta allt i, i form av naturliga tal. I antiken var det underförstått att detta alltid gick att göra för mätetal, tills grekerna till sin stora chock upptäckte att det inte var fallet. 6. 20-tal (fingrar och tår) hos bl.a. Maya-indianer och danskar •epost: [email protected] page 12 of 13 7. John Napier var en fanatisk skotsk protestant som hade två passioner i livet:, han ville krossa katolicismen och han ville avskaffa beräkningsarbete i dess dåvarande from och ersätta den med ett rationellt system som var så enkelt att vem som helst kunde klara det. Ur den senare passionen kom två betydelsefulla resultat: Napier’s ben, som mekaniserade multiplikation och division en hel del, och de oerhört viktiga logaritmerna, som är en annan historia. Varför räknar vi som vi gör? Om vårt talsystems historia. •epost: [email protected] page 13 of 13