27.01.2015 Views

"Euklids algoritme og kædebrøker" (pdf)

"Euklids algoritme og kædebrøker" (pdf)

"Euklids algoritme og kædebrøker" (pdf)

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Euklids</strong> <strong>algoritme</strong> <strong>og</strong> kædebrøker<br />

Michael Knudsen<br />

I denne note vil vi med Z, Q <strong>og</strong> R betegne mængden af henholdsvis de<br />

hele, de rationale <strong>og</strong> de reelle tal. Altså er<br />

{ m<br />

}<br />

Z = {. . . , −2, −1, 0, 1, 2, . . .} <strong>og</strong> Q =<br />

n | m, n ∈ Z, n ≠ 0 ,<br />

<strong>og</strong> vi forudsætter, at de reelle tal er kendt fra gymnasiet. Et reelt tal, der<br />

ikke er et rationalt tal, kaldes irrationalt. Med Z ≥0 betegner vi mængden af<br />

de ikke-negative, hele tal.<br />

Lad d, n ∈ Z være hele tal. Vi siger, at d går op i n, hvis der findes et<br />

q ∈ Z, så n = qd. Eksempelvis går 7 op i 21, da 21 = 3 · 7, men for vilkårlige<br />

d <strong>og</strong> n er det ikke sikkert, at d går op i n. For eksempel går 3 ikke op i 14,<br />

men det er tæt på – vi skal bare lægge en rest til:<br />

14 = 4 · 3 + 2.<br />

Der gælder helt generelt følgende meget vigtige sætning:<br />

Sætning 1.1. Lad d, n ∈ Z med d ≠ 0 være givet. Da findes entydigt<br />

bestemte tal q, r ∈ Z, så<br />

n = qd + r <strong>og</strong> 0 ≤ r < d.<br />

Tallene q <strong>og</strong> r kaldes henholdvis kvotienten <strong>og</strong> resten af n ved division<br />

med d.<br />

Bemærk, at d går op i n, netop hvis resten af n ved division med d er 0.<br />

For eftertiden vil vi for at lette notationen skrive d | n, hvis d går op i n.<br />

Lad nu m, n ∈ Z være hele tal. Vi definerer<br />

{<br />

}<br />

div(m, n) = d ∈ Z ∣ d | m <strong>og</strong> d | n ,<br />

altså mængden af alle de tal, som går op i både m <strong>og</strong> n. Et tal d ∈ div(m, n)<br />

siges at være en fælles divisor i m <strong>og</strong> n.<br />

1


Påstand 1.2. Lad d, n ∈ Z med d ≠ 0, <strong>og</strong> skriv n = qd + r ved division<br />

med rest. Da gælder<br />

div(n, d) = div(d, r).<br />

Bevis. Når man skal vise, at to mængder er ens, er det ofte en god ide at<br />

vise, at den første er indeholdt i den anden, <strong>og</strong> at den anden er indeholdt i<br />

den først – tænk!<br />

Inklusionen ⊆: Lad x ∈ div(n, d). Så gælder x | n <strong>og</strong> x | d. Vi skal vise,<br />

at x ∈ div(d, r), altså at x | d <strong>og</strong> x | r. Det første har vi antaget, <strong>og</strong> da<br />

r = n − qd, gælder x | r, da x | n <strong>og</strong> x | d.<br />

Inklusionen ⊇: Lad nu x ∈ div(d, r). Så gælder x | d <strong>og</strong> x | r. Vi skal nu<br />

vise, at x | n <strong>og</strong> x | d. Det sidste har vi antaget, <strong>og</strong> da n = qd + r, gælder<br />

<strong>og</strong>så x | n, da x | d <strong>og</strong> x | r.<br />

Lad m, n ∈ Z. Den største fælles divisor af m <strong>og</strong> n er det største tal,<br />

som går op i både m on n. Vi skriver kort sfd(m, n) for den største fælles<br />

divisor af m <strong>og</strong> n.<br />

Påstand 1.3. Lad d, n ∈ Z med d ≠ 0, <strong>og</strong> skriv n = qd + r ved division<br />

med rest. Da gælder<br />

sfd(n, d) = sfd(d, r).<br />

Bevis. I følge den foregående påstand er div(n, d) = div(d, r), så specielt er<br />

det største tal, der går op i både n <strong>og</strong> d, <strong>og</strong>så det største tal, som går op i<br />

både d <strong>og</strong> r.<br />

Givet to hele tal, n <strong>og</strong> m, hvordan finder man så deres største fælles<br />

divisor For relativt små tal er det som regel ikke n<strong>og</strong>et problem at gætte<br />

den. Eksempelvis er sfd(13, 8) = 1.<br />

Opgave 1. Beregn tallet sfd(294, 1001). Prøv med andre tal. Er det let<br />

Lad os med et (meget simpelt) eksempel illustrere en metode, som virker<br />

generelt. Lad os vise, at sfd(13, 8) = 1. Vi laver division med rest n<strong>og</strong>le gange.<br />

Først deler vi 13 med 8 <strong>og</strong> får:<br />

13 = 1 · 8 + 5<br />

2


I følge påstanden ovenfor, har vi nu, at<br />

sfd(13, 8) = sfd(8, 5).<br />

Gentages spøgen nu med tallene 8 <strong>og</strong> 5 i stedet for 13 <strong>og</strong> 8, fås<br />

<strong>og</strong> vi har altså<br />

8 = 1 · 5 + 3,<br />

sfd(8, 5) = sfd(5, 3).<br />

Vi fortsætter på denne måde n<strong>og</strong>le gange endnu <strong>og</strong> finder<br />

så vi alt i alt har<br />

5 = 1 · 3 + 2<br />

3 = 1 · 2 + 1<br />

2 = 2 · 1 + 0,<br />

sfd(13, 8) = sfd(8, 5) = sfd(5, 3) = sfd(3, 2) = sfd(2, 1) = sfd(1, 0) = 1.<br />

Opgave 2. Brug ovenstående metode til at beregne sfd(294, 1001). Kan<br />

man bruge metoden til at berenge sfd(m, n) for vilkårlige hele tal m <strong>og</strong> n<br />

Hvorfor stopper metoden efter endeligt mange skridt<br />

Opgave 3. Når vi skal beregnes den største fælles divisor af to tal, laver<br />

vi division med rest et vist antal gange (som i eksemplet ovenfor). Gør rede<br />

for, at den sidste rest ≠ 0, er den største fælles divisor.<br />

Nu er vi vist ved at være godt nok rustede til at give os i kast med<br />

kædebrøker! Vi begynder med et simpelt eksempel. Følgende beregninger<br />

(division med rest) er rare at have ved hånden:<br />

19 = 2 · 8 + 3<br />

8 = 2 · 3 + 2<br />

3 = 1 · 2 + 1<br />

Ved hjælp af ovenstående beregninger finder vi nu, at<br />

19<br />

8 = 2 + 3 8 = 2 + 1 8<br />

3<br />

= 2 + 1<br />

2 + 2 3<br />

= 2 + 1<br />

2 + 1 3<br />

2<br />

= 2 +<br />

1<br />

2 + 1 .<br />

1+ 1 2<br />

Dette kaldes kædebrøken for tallet 19<br />

8 . Tallene<br />

2, 2 + 1 2 , 2 + 1<br />

2 + 1 1<br />

<strong>og</strong> 2 +<br />

1<br />

2 + 1<br />

1+ 1 2<br />

3


kaldes kædebrøkens konvergenter. Skrevet lidt pænere er konvergenterne<br />

2,<br />

5<br />

2 , 7<br />

3<br />

Bemærk, at konvergenterne (læst fra venstre mod højre) kommer nærmere<br />

<strong>og</strong> nærmere 19 8<br />

. Brug eventuelt en lommeregner.<br />

Generelt er en kædebrøk for et rationalt tal en opskrivning af tallet på<br />

formen<br />

q 0 +<br />

<strong>og</strong><br />

1<br />

q 1 +<br />

1<br />

q 2 + 1<br />

···+ 1<br />

qn<br />

hvor q 0 , q 1 , . . . , q n ∈ Z.<br />

Lad os for en stund tro på, at det altid kan lade sig gøre, at skrive et<br />

rationalt som en kædebrøk. Vi skal nok vende tilbage til beviset!<br />

Opgave 4. Find kædebrøken for 23 4 .<br />

Det gik (forhåbentlig) godt med at finde kædebrøken for 23 4<br />

. Lad os nu<br />

se, hvorfor det altid går godt.<br />

19<br />

8 .<br />

Sætning 1.4. Ethvert rationalt tal kan skrives som en kædebrøk.<br />

Bevis. Vi har ovenfor skitseret den metode, man skal bruge til gradvist at<br />

opbygge kædebrøken. Det gik godt i vores eksempel, fordi vi på et tidspunkt<br />

i udregningerne med division med rest fik resten 1.<br />

Ethvert rational tal kan skrives som en uforkortelig brøk. Det vil sige, at<br />

den største fælles divisor af tælleren <strong>og</strong> nævneren er 1. I følge Opgave 3 vil<br />

vi altså på et tidspunkt få 1 som rest.<br />

Opgave 5. Gør rede for, at ethvert tal, der kan skrives som en kædebrøk,<br />

er et rationalt tal.<br />

,<br />

Påstand 1.5. Tallet √ 2 er ikke et rationalt tal.<br />

Bevis. Antag, at √ 2 er et rationalt tal, <strong>og</strong> skriv det som en uforkortelig brøk<br />

√<br />

2 =<br />

a<br />

b ,<br />

hvor a, b ∈ Z, b ≠ 0. Ved at kvadrere på begge sider af lighedstegnet <strong>og</strong><br />

gange over får vi<br />

2b 2 = a 2 ,<br />

4


så 2 går op i a 2 . Det vil sige, at a 2 er et lige tal, men så må <strong>og</strong>så a være lige<br />

(da kvadratet på et ulige tal er ulige). Altså går 2 op i a, så vi kan skrive<br />

a = 2c for et c ∈ Z. Altså gælder<br />

hvilket giver<br />

2b 2 = a 2 = (2c) 2 = 4c 2 ,<br />

b 2 = 2c 2 .<br />

Dette giver, at b 2 er lige, men så må <strong>og</strong>så (med samme argument som ovenfor)<br />

b være lige. Altså har vi vist, at både a <strong>og</strong> b er lige. Så kan brøken a b<br />

forkortes, men det er i modstrid med, at den er uforkortelig. Altså må vores<br />

antagelse om, at √ 2 er et rationalt tal, være forkert.<br />

Vi ved nu, at tallet √ 2 ikke er et rationalt tal, <strong>og</strong> så kan det i følge<br />

Opgave 5 ikke skrives som en kædebrøk ... men det kunne nu være fristende<br />

at prøve alligevel!<br />

Lad os først lige indføre lidt notation. For et reelt tal x ∈ R betegner<br />

vi heltalsdelen af x med [x]. Det vil sige, at [x] er det største hele tal, som<br />

er mindre end eller lig med x. For eksempel er [2, 7] = 2, [−1, 5] = −2 <strong>og</strong><br />

[π] = 3.<br />

Opgave 6. Lad n, d ∈ Z med d ≠ 0, <strong>og</strong> skriv n = qd + r ved hjælp af<br />

division med rest. Gør rede for, at [ n d ] = q.<br />

Inden vi går videre, så lad os lige minde om, at<br />

1<br />

√<br />

2 − 1<br />

=<br />

√<br />

2 + 1<br />

( √ 2 − 1)( √ 2 + 1) = √ 2 + 1 <strong>og</strong> [ √ 2] = 1.<br />

Vi forsøger os nu med følgende fremgangsmåde (der faktisk er den samme<br />

som den vi brugte, da vi lavede kædebrøker for rationale tal – brug Opgave<br />

6):<br />

√ √ √ √ √ 1<br />

1<br />

2 = [ 2] + 2 − [ 2] = 1 + 2 − 1 = 1 +<br />

√ 1<br />

= 1 + √ .<br />

2−1<br />

2 + 1<br />

Vi gentager nu proceduren på √ 2 + 1 – bemærk at [ √ 2 + 1] = 2 – <strong>og</strong> får<br />

√ 1<br />

2 = 1 +<br />

2 + ( √ 2 + 1) − 2 = 1 + 1<br />

1<br />

2 + 1 = 1 +<br />

√<br />

1 2 + 1 .<br />

√<br />

2−1<br />

2+1<br />

Fortsætter vi på ovenstående måde (bemærk, at det er √ 2+1, der dukker<br />

op hver gang), får vi<br />

√ 1<br />

2 = 1 +<br />

1<br />

2 +<br />

2+<br />

1<br />

2+<br />

2+···<br />

1<br />

,<br />

5


som fortsætter i det uendelige. Dette giver ikke umiddelbart mening! Det er<br />

blot en notation, som skal antyde proceduren.<br />

Lad os prøve at kigge lidt på konvergenterne:<br />

1, 1 + 1 2 , 1 + 1<br />

2 + 1 , 1 +<br />

2<br />

Skrevet lidt pænere er disse<br />

1,<br />

1<br />

2 + 1 , 1 +<br />

2+ 1 2<br />

3<br />

2 , 7<br />

5 , 17<br />

12 , 41<br />

29 , . . . .<br />

1<br />

2 + 1<br />

2+ 1<br />

2+ 1 2<br />

, . . . .<br />

Det bemærkelsesværdige er, at konvergenterne nærmer sig √ 2. Prøv eventuelt<br />

at bruge en lommeregner.<br />

Dette er ikke tilfældigt! Faktisk gælder der følgende sætning, hvis bevis<br />

vi udelader.<br />

Sætning 1.6. Lad x ∈ R være et reelt tal, <strong>og</strong> skriv x som en kædebrøk<br />

med konvergenter K i , hvor i ∈ Z ≥0 . Da gælder<br />

lim K n = x.<br />

n→∞<br />

Man kan altså i følge ovenstående sætning benytte kædebrøker til at<br />

finde rationale tilnærmelser til reelle tal. Desværre kan det d<strong>og</strong> være lidt<br />

besværligt at beregne konvergenterne, da der skal sættes på fælles brøkstreg<br />

et betragteligt antal gange. Heldigvis er der en lettere metode, <strong>og</strong> denne er<br />

skræddersyet til at fodre en computer med.<br />

Påstand 1.7. Lad kædebrøken for et reelt tal være givet ved<br />

q 0 +<br />

1<br />

q 1 +<br />

1<br />

q 2 +<br />

1<br />

q 3 +<br />

q 1<br />

4 +···<br />

hvor alle q i ∈ Z, <strong>og</strong> skriv den n’te konvergent K n på formen<br />

K n = A n<br />

B n<br />

.<br />

Sætter vi A −2 = 0, A −1 = 1, B −2 = 1 <strong>og</strong> B −1 = 0, så gælder følgende<br />

formler:<br />

A n = q n A n−1 + A n−2 <strong>og</strong> B n = q n B n−1 + B n−2 .<br />

,<br />

6


Opgave 7. Tjek formlerne (op til et vist trin) i påstanden ovenfor i tilfældet<br />

med √ 2.<br />

Lad os prøve at kigge på kædebrøken for tallet √ 5. Det overlades til<br />

læseren som en øvelse at tjekke, at<br />

√ 1<br />

5 = 2 +<br />

1<br />

4 +<br />

4+<br />

1<br />

4+<br />

4+···<br />

1<br />

For at beregne konvergenterne hørende til kædebrøken, kan det være rart<br />

at stille tallene, der indgår i beregningerne, op i et skema.<br />

n −2 −1 0 1 2 3 4 5<br />

q n 2 4 4 4 4 4<br />

A n 0 1 2 9 38 161 682 2889<br />

B n 1 0 1 4 17 72 305 1292<br />

Kædebrøker har stor anvendelse inden for løsningen af såkaldte diofantiske<br />

ligninger. Det vil sige ligninger, hvor man kræver, at løsningerne skal<br />

være hele tal. Her er et eksempel:<br />

x 2 − 5y 2 = 1.<br />

Kan du finde hele tal, x <strong>og</strong> y, som opfylder ligningen Naturligvis opfylder<br />

x = 1 <strong>og</strong> y = 0 ligningen, men er der andre Prøv dig eventuelt lidt frem<br />

med x = A n <strong>og</strong> y = B n fra eksemplet med √ 5 ovenfor.<br />

En kendt diofantisk ligning er<br />

x 2 − 4729494 y 2 = 1,<br />

der <strong>og</strong>så kendes som Archimedes’ hævn. Oprindeligt stillede Archimedes en<br />

opgave, som handlede om at finde ud af, hvor meget kvæg, der kunne græsse<br />

på en bestemt græsk ø, hvis antallet af de forskellige typer kvæg opfyldte<br />

en række ligninger. Det viser sig, at ligningerne kan reduceres til ligningen<br />

ovenfor, men den er jo heller ikke lige til at løse ... med mindre man kender<br />

til kædebrøker! Faktisk kan ligningen løses efter samme princip som ovenfor,<br />

men det er nu rarest at have en computer til at lave beregningerne.<br />

Den interesserede læser kan læse mere om Archimedes’ hævn (på engelsk<br />

kaldet Archimedes’ cattle problem) på hjemmesiden<br />

http://mathworld.wolfram.com/ArchimedesCattleProblem.html.<br />

.<br />

7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!