Rationella tal

Vi tänker oss vanligen de rationella tal som kvoter mellan två heltal A och B:

A/B
Men vi skall föra fram en mer abstrakt teori genom att i stället bara betrakta "/" som en abstrakt parbildnings operation: Här har vi en definition, som inte innehåller begreppet division. Men att ~ kallas en ekvivalensrelation, dvs handlar om "lika värden" antyder att paret A/B ändå har ett värde! För att se detta skriver vi följande exempel:
A/B ~ Q/1
Definitionen av ~ betyder då att A=B*Q, och Q är det sökta värdet av kvoten A/B. Värdet kommer då fram som en 'invers multiplikation': Q är det tal, som multiplicerat med B blir A. Egentligen är detta den enda definition av division vi har. Det finns då ingen "rättfram" algoritm för division, utan det enda vi har, är möjligheten att gissa och testa. Låt då Q0 vara en gissning av Q. Om vi gissar fel, så får vi relationen:
A = B*Q0 + något
och vi kallar detta "något" för R0, som vi kallar resten. Vi kan nu ledas till ett bättre svar genom att dividera R0 med B, och resultatet kallar vi Q1. På samma sätt får vi fler samband:
R0 = B*Q1 + R1

R1 = B*Q2 + R2

R2 = B*Q3 + R3

R3 = B*Q4 + R4

Om vi gissar väl, så kan vi hoppas på att nästa Ri blir mindre än det föregående, åtminstone för det mesta. Vi kan sätta in det efterföljande sambandet i det föregående, och dessutom bryta ut B:
A = B*(Q0+Q1+Q2+Q3 +Q4) + R4
Svaret är nu, att vi har en gissning, som är summan av alla Qi och att felet är det sista R:et, alltså R4. Om resten R4 är tillräckligt liten, så har vi för praktiskt bruk löst problemet.

Jag har använt den här algoritmen för att dividera i ett datorsystem, och den fungerar. Där har man ju också uppgiften att hitta på ett sätt att gissa. (Datorer gissar inte, de kräver algoritmer). Jag har provat att ersätta divisionen med skift, ett lämpligt antal steg. Om B är större än 2n men mindre än 2n+1, så kan man ersätta divisionen med högerskift n steg. Vid ett tillfälle har jag ersatt division med 10 med 102/1024, vilket blir en multiplikation med 102 följ av högerskift 10 steg (1024 = 210).

Nu kan ju resten ofta nog inte bli 0, och det beror på att vi hittills har tänkt oss A, B och Q som heltal, och det är ju sällan som divisionen mellan A och B går jämnt ut.

Då löser vi i stället till exempel problemet 10000*A/B. Det har lättare att gå ut ganska väl. Men det Q vi får fram har nu blivit 10000 gånger för stort. Men med den notation vi har för tal (decimalbråk), så är en division med 10000 lätt att göra. Man flyttar upp decimalkommat (-punkten?) 4 steg. Det är ju nämligen så att decimalnotationen 1,0753 betyder just 10753/10000.

Denna notation med decimalbråk introducerades 1598 av belgaren Simon Stevin från Brugge. Den har ett visst arv tillbaka till arabisk matematik, men Simon Stevin introducerar den i alla fall i västerlandet. Hans notation var något krångligare, men den rationaliserades snabbt.

Den uppställning vi lär oss i skolan, innebär att vi vi multiplicerar med 10 i varje steg, i stället för att multiplicera med 10000 (eller med ännu större tal) på en gång. En lärdom härifrån gäller felgissningar. Om man gissar fel, så tar man gärna fram suddgummit, men det sliter på pappret. Har man gissat fel, så kan man lika gärna fortsätta, som om ingenting har hänt. Proceduren löser alla sådana problem ändå, men nu kan olika Qi blir negativa eller tvåsiffriga, och då är det inte lika enkelt att summera alla Qi (men inte särskilt svårt heller).

I datorer har man binära tal, vilket innebär att om man följer "skolmetoden", så skall man multiplicera och dividera med 2 varje gång, och dessutom har man bara två gissningar att välja mellan, nämligen 0 och 1. Gissar man 0, så händer ingenting, så man gissar bara på 1. Är det fel, så får man ett negativt Ri, och då sätter man en växel, så man försöker få nästa Ri att närma sig 0 underifrån genom addition. Denna divisionsalgoritm går tillbaka till John von Neumann, och den används i datorer, som har "hårdvarumässig" division. Den realiseras alltså med hårdvara.

Nu kan vi möjligen fastslå, att division handlar om att finna det decimalbråk Q, som löser A=B*Q. I själva verket duger ju uttrycket A/B, men vi får svårt att rangordna olika kvoter, om de inte har samma nämnare B.

Vi kommer senare att se att det finns en sats, som säger att mellan två reella tal finns det alltid ett rationellt tal. Man kan ju då utgå från ett första reellt tal, och sedan låta det andra vara ett mycket näraliggande tal. Men det rationella talet ligger ju då närmare det första reella talet än vad det andra reella talet gör. Satsen säger då att det första reella talet kan approximeras med det rationella med godtycklig nogrannhet.

Idén om utveckling av rationella tal som decimalbråk ger oss kanske en känsla för detta. Vi kan tänka oss de reella talen, som decimalbråk med oändligt många decimaler. Om vi skapar ett rationellt tal som ett decimalbråk med ändligt många decimaler, så kan vi alltid skapa ett rationellt tal, som lyckas tränga sig mellan de båda reella talen, genom att lägga på fler och fler decimaler. De reella talen skiljer sig ju åt vid någon viss decimal, och vi behöver bara sträcka ut det rationella talets utveckling just dit.

En annan sats säger att ett rationellt tal alltid har en periodisk decimalbråksutveckling. Efter en inledande transient har vi så småningom en sifferserie, som upprepar sig i det oändliga. Om vi lyckas se detta, så har vi genom att ange transienten och perioden en slags "exakt" representation av det rationella talet. Därmed ändå inte sagt att vi har en metod att skilja rationella tal från irrationella tal. Om vi efter lång tid, inte har hittat någon period, så vet vi ändå inte om vi kommer att hitta någon, om vi fortsätter att leta. Och om vi har hittat en period, så kanske den försvinner igen så småningom, och något helt annat händer.

De gamla egyptierna använde rationella tal, men av någon anledning accepterade de bara rationella tal med täljaren 1, alltså tal som 1/B. Övriga rationella tal skapade de som summor av olika 1/B. Då är ju 2/3 lätt omskrivet som 1/3 + 1/3. Men de föredrog likheten 2/3=1/2+1/6. De uppfattade detta som mera estetiskt, eftersom de olika termerna avtog i storlek. Så småningom fick prästerna i uppgift att göra listor över estetiska sätt att göra sådana omskrivningar.

Egyptierna är också kända för insatser inom multiplikationens område. De romerska siffrorna, som går tillbaka till motsvarande grekiska siffror, går rimligt lätt att addera, men att multiplicera dem är en utmaning. Men grekerna lånade då in en metod kallad egyptisk multiplikation.

Säg att man vill beräkna x*y. Om man dubblerar x och halverar y, så får man samma resultat: 2*x*y/2 = x*y. Så kan vi fortsätta, och då kan man kanske hoppas att man till slut dividerar ner y till 1, och så ju resultatet klart som det flerfaldigt dubblerade x. Men man kommer inte till 1! Så snart man på vägen får ett udda tal, så får man in halvor och annat otyg. Då stryker man en etta från y, och så kan man forsätta att halvera. Då hamnar man ju på 1 till slut, men man tillför ett fel varje gång man gör så här. Lösningen är att man bokför alla dessa fel, och rättar till svaret på slutet.

Det här är en fin gammal metod, men man kan inse att man gör precis det här, när man multiplicerar binära tal i datorer.

Fullständighet?

Länge tänkte man sig att de hela talen och de rationella talen skulle fylla alla de behov av tal man hade. Men så upptäckte man att ett tal, som man hade stort behov av, nämligen roten ur 2 inte kunde representeras som ett rationellt tal. Detta hände på Pythagoras tid, mer än 500 år före Kristi födelse. Det skulle ta mer än 2000 år att lösa detta problem (i slutet av 1800-talet). Det som då kommer fram är en utvidgninga av de rationella talen till de reella talen.


till innehåll