"Euklids algoritme og kædebrøker" (pdf)
"Euklids algoritme og kædebrøker" (pdf)
"Euklids algoritme og kædebrøker" (pdf)
- 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