You are on page 1of 66

01017 Del 2: Diskret matematik

Version 1.0: Peter Beelen

Version 2.0: Christian Henriksen

Version 2.1: Johan Rosenkilde

5. oktober 2021
2
Indhold

1 Grundbegreber i Kombinatorik 5
1.1 Sumreglen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Produktregel . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Arrangementer . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Kombinationer . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Flere opgaver . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6 Ekstra materiale: Tilbagelægning . . . . . . . . . . . . . . . . 16

2 Rekursive denitioner 19
2.1 De Rekursive snakker hele tiden om sig selv . . . . . . . . . . 19
2.2 Flere eksempler på rekursive denitioner . . . . . . . . . . . . 22
2.3 Flere opgaver . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4 Ekstra: Rekursion og software . . . . . . . . . . . . . . . . . . 25

3 Induktionsbeviser 27
3.1 Princippet om matematisk induktion . . . . . . . . . . . . . . 27
3.2 Den stærke version af princippet om induktion . . . . . . . . 35

4 Euklids algoritme 37
4.1 Største fælles divisor . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Euklids algoritme . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3 Mindste fælles multiplum . . . . . . . . . . . . . . . . . . . . 44
4.4 Flere opgaver . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5 Ekstra-opgaver (ikke del af pensum) . . . . . . . . . . . . . . 45

5 Moduloregning 47
5.1 Kongruenser . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 Kongruensligninger . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3 Den kinesiske restklassesætning . . . . . . . . . . . . . . . . . 54

6 Polynomier 59
6.1 Polynomier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3
4 INDHOLD
Kapitel 1

Grundbegreber i Kombinatorik
Kombinatorik går grundlæggende ud på at bestemme et antal. Det kunne for
eksempel være antallet af forskellige elementer i en mængde A. Dette antal
betegner vi med |A|. For eksempel er

|∅| = 0,
|{x1 }| = 1 og

|{x1 , x2 }| = 2,

når vi antager at x1 6= x2 . (Hvis x1 = x2 gælder {x1 , x2 } = {x1 }, en mængde


med kun et element.)

Opgave 1.1 Angiv |{2, 7, 5, 2}|.

1.1 Sumreglen
Nogle gange kan man bryde det at tælle en mængde op i nogle mere overkom-
melige delopgaver, nemlig at tælle nogle delmængder af mængden og lægge
antallene sammen. For eksempel har et kortspil med en joker
13 spar,
13 hjerter,
13 ruder,
13 klør og
1 joker
Det giver i alt 53 kort.

Sumregel: Hvis vi kan vælge mellem k1 muligheder eller k2 andre


muligheder, . . . , eller kn andre muligheder, så har vi i alt

k1 + k2 + · · · + kn

muligheder at vælge i mellem.

5
6 KAPITEL 1. GRUNDBEGREBER I KOMBINATORIK

I eksemplet med kortspillet kan vi spørge, på hvor mange måder man kan
trække et kort. Vi kan trække enten en spar (13 muligheder), eller en herter
(13 muligheder), eller en ruder (13 muligheder), eller en klør (13 muligheder)
eller en joker (en mulighed). Det giver i alt 53 muligheder. Så der er 53 kort.
Det er vigtigt at vi kan vælge mellem andre muligheder. Hvis vi for
eksempel vil tælle antallet af kort der enten er ruder eller esser, så er der
ganske vist 13 ruder og 4 esser, men der er kun 16 kort der enten er ruder
eller esser. Det hænger sammen med, at når vi tæller de 13 ruder, så tæller
vi ruder es, og når vi taller esserne tæller vi også ruder es. Så hvis vi bare
lægger 13 og 4 sammen har vi talt ruder es med to gange.
Måske bliver det mere klart hvad vi mener med andre muligheder hvis vi
taler om mængder, og antallet af elementer i mængder. To mængder A1 og
A2 uden overlap, altså to mængder således at A1 ∩ A2 = ∅ kaldes disjunkte.
Et system af mængder A1 , A2 , . . . , An kaldes parvis disjunkte, hvis hvert par
Ai , Aj med i 6= j er disjunkte. Formuleret med mængder bliver sumreglen
som følger.

Sætning 1.1
Hvis A1 , A2 , . . . , An er parvis disjunkte, så er

|A1 ∪ A2 ∪ · · · ∪ An | = |A1 | + |A2 | + · · · + |An |.

Opgave 1.2 Et yselskab yver til destinationer i Danmark, Norge


og Sverige (og ingen andre steder). Det yver til
3 destinationer i Danmark,
2 destinationer i Norge og
4 destinationer i Sverige.
Angiv det totale antal destinationer.
P
Før vi går videre, tager vi lige et lille sidespring og indfører sumtegnet .
Summen |A1 | + |A2 | + · · · + |An |, kan skrives kortere ved hjælp af sumtegnet,
man kan nemlig skrive den som

n
X
|Ak |.
k=1

For hele tal m og n betegner man med

n
X
f (k)
k=m

summen af leddene f (k) hvor k går fra m til n, altså f (m) + f (m + 1) +


· · · + f (n). For eksempel er

4
X
k 2 = 22 + 32 + 42 = 29,
k=2
1.1. SUMREGLEN 7

5
X
1 = 1 + 1 + 1 + 1 + 1 = 5,
k=1
og
n
X
Xk = X0 + X1 + · · · + Xn .
k=0
Specielt gælder der altså

n
X
|Ak | = |A1 | + |A2 | + · · · + |An |.
k=1

Hvis den nedre grænse er større end den øvre grænse, så sætter man
summen til 0. For eksempel er

2
X
k = 0.
k=3

Opgave 1.3
P2
k=0 k .
Beregn

Man regner gange ud før sumtegnet. Så der gælder

3
X
2 · k = 2 · 1 + 2 · 2 + 2 · 3 = 12.
k=1

Til gengæld regner man plus ud efter sumtegnet. Derfor gælder

3 3
!
X X
k+2= k + 2 = (1 + 2 + 3) + 2 = 8.
k=1 k=1

Som vi er vant til, kan vi bruge parenteser til at ændre rækkefølgen:

3
X
(k + 2) = (1 + 2) + (2 + 2) + (3 + 2) = 12.
k=1

Opgave 1.4 Beregn


3
X
(2k + 1).
k=1

Opgave 1.5 Beregn


3
X
2k + 1.
k=1

Sumreglen fortæller os hvordan vi kan regne antallet af forskellige mæng-


der ud af en mængde, hvis vi kan dele den op i ikke overlappende delmængder.
Hvad hvis man har en foreningsmængde hvor der er overlap? Man kan stadig
godt sige noget.
8 KAPITEL 1. GRUNDBEGREBER I KOMBINATORIK

Eksempel 1.1 Lad os vende tilbage til eksemplet med antallet af


kort der enten var ruder eller esser. Hvis vi slår en streg ud for alle
ruder (13 streger), og slår en streg ud for alle esser (re streger), og
så fjerner en streg fra de kort der både er ruder og esser (det vil sige
fjerner en streg), så har vi nu sat netop en streg ud for alle kort der
netop er ruder eller esser. Derfor er der 13 + 4 − 1 = 16 kort der enten
er ruder eller esser.

Der gælder

Sætning 1.2

|A ∪ B| = |A| + |B| − |A ∩ B|

og

|A ∪ B ∪ C| = |A| + |B| + |C|


− |A ∩ B| − |A ∩ C| − |B ∩ C|
+ |A ∩ B ∩ C|.

Opgave 1.6 Lad os sige at vi har to terninger, en rød og en blå. Vi


regner det at slå 1 med den røde terning og 2 med den blå, for et andet
udfald end det at slå 2 med den røde terning, og 1 med den blå. Brug
Sætning 1.2 til at beregne antallet af måder man kan slå (mindst) en
sekser med de to terninger.

Eksempel 1.2 Lad os antage at vi har en rød, en grøn og en blå


terning, og vi regner det at slå (1, 1, 2) forskelligt fra det at slå (2, 1, 1)
for eksempel. På hvor mange måder kan man så slå et par seksere?
Vi indfører tre mængder, A er mængden af terningslag hvor de
røde og grønne terning slår seks, B mængden af terningslag hvor den
røde og blå terning slår slår seks og C mængden af terningslag hvor
den grønne og blå terning slår seks. Der gælder så at |A| = 6 idet
den røde og grønne terning skal slå 6, mens den blå terning kan slå
hvad som helst. Tilsvarende er |B| = |C| = 6. Der gælder også at
A ∩ B = A ∩ C = B ∩ C = A ∩ B ∩ C , de re fællesmængder består
nemlig af det ene slag, at alle terninger slår 6. Bruger vi Sætning 1.2
får vi

|A ∪ B ∪ C| = 6 + 6 + 6
−1−1−1
+ 1.

Der er altså 16 forskellige måder.

Opgave 1.7 I en studiegruppe på 7 studerende følger alle mindst et af


fagene, Matematik 1 (M1), Diskret Matematik (DM) og Introduktion
til Programmering (IP). Angiv hvor mange der følger alle tre fag, hvis
der er 6 der følger M1, 5 der følger DM, 4 der følger IP, 4 der følger
1.2. PRODUKTREGEL 9

både M1 og DM, 3 der følger både M1 og IP, og 3 der følger DM og


IP.

Hvordan kan vi vide at Sætning 1.2 passer? Det ved vi fordi vi kan bevise
den. Vi kan nøjes med at vise den anden ligning i sætningen, nemlig

|A ∪ B ∪ C| = |A| + |B| + |C|


− |A ∩ B| − |A ∩ C| − |B ∩ C|
+ |A ∩ B ∩ C|,

for den første ligning i sætningen følger nemlig af den anden ved at sætte
C = ∅. Vi forestiller os at vi skriver alle elementerne i A∪B ∪C op. Vi sætter
så en streg ud for alle elementerne i A, så en streg ud for alle elementerne i
B , og så ud for alle elementerne i C . Derefter fjerner vi en streg ud for alle
elementerne i A ∩ B , så fjerner vi en streg ud for alle elementerne i A ∩ C ,
så fjerner vi en streg ud for alle elementerne i B ∩ C . Endelig sætter vi en
streg ud for alle elementerne i A ∩ B ∩ C . Hermed er der sat

|A| + |B| + |C|


− |A ∩ B| − |A ∩ C| − |B ∩ C|
+ |A ∩ B ∩ C|

streger der ikke er visket ud igen. Hvis vi kan vise at der står netop en streg
ud for alle elementerne i A ∪ B ∪ C så må ligningen gælde.
Et element i A ∪ B ∪ C kan 1) lægge i præcis en af mængderne A, B
eller C, eller 2) lægge i præcis to af mængderne, eller 3) lægge i alle tre. I
tilfælde 1) har vi sat en streg ud for elementerne og ikke gjort mere, så der
er præcis en streg ud for elementet. I tilfælde 2) har vi først sat to streger
ud for elementet, men vi har også fjernet en streg ud for elementet, så der
er en streg tilbage. I tilfælde 3) sætter vi først tre streger ud for elementet,
så fjerne vi tre streger fra elementet, og til sidst tilføjer vi en enkelt streg.
Derfor ender der med også i dette tilfælde at være en enkelt streg ud for
elementet. Og hermed har vi bevist sætningen.

1.2 Produktregel
Vi starter med et eksempel.

Eksempel 1.3 En restaurant har 3 forskellige forretter og 4 forskelli-


ge hovedretter. Hvor mange menuer bestående af en forret efterfulgt af
en hovedret kan man sammensætte? Vi deler mængden af menuer op
i tre grupper. Gruppe A1 er dem som bruger den første forret, gruppe
A2 dem som bruger den anden forret og gruppe A3 dem som bruger
den den tredjeforret. I hver af de tre grupper A1 , A2 og A3 er der 4
forskellige elementer, svarende til hver hovedret. Derfor er der i følge
sumreglen 4 + 4 + 4 = 3 · 4 = 12 forskellige menuer.
10 KAPITEL 1. GRUNDBEGREBER I KOMBINATORIK

Eksempel 1.4 Restauranten indfører nu også 2 desserter. Hvor man-


ge menuer bestående af en forret, en hovedret og en dessert kan re-
stauranten tilbyde? Vi kan dele menuerne op i to grupper. Dem som
dessert 1 som dessert, og dem som har dessert 2 som dessert. Vi ved
fra sidste eksempel af begge disse grupper har 12 sammensætninger af
forret og hovedret. Derfor siger sumreglen at der er 12+12 = 12·2 = 24
muligheder.
Der er altså 3·4·2 menuer.

Produktreglen: Hvis vi har et valg mellem k1 muligheder, et andet


valg mellem k2 muligheder, . . ., et n'te valg mellem kn muligheder, så er
der
k1 · k2 · · · · · kn
mulige måder at foretage de n valg på.

Opgave 1.8 Vi har 3 hatte, 17 par bukser og 13 bluser. Bestem hvor


mange kombinationer af hatte, bukser og bluser vi kan møde op i.

For at bruge produktreglen er det vigtigt at antallet af valgmuligheder i


et givet delvalg ikke afhænger af de øvrige valg. Hvad vi vælger i mellem må
godt variere, men antallet af valg må ikke variere.

Eksempel 1.5 Se på en mængde A = {x1 , x2 , x3 } med 3 forskellige


elementer. Vi bestemmer hvor mange forskellige delmængder af A der
ndes. Man kan bestemme en delmængde ved at angive hvorvidt x1 er
med eller ej (2 muligheder), hvorvidt x2 er med eller ej (2 muligheder),
og hvorvidt x3 er med eller ej (2 muligheder). Derfor er der 2·2·2=
23 = 8 forskellige delmængder af A.
Vi kan illustrere eksemplet med et tælletræ, hvor for eksempel x1 betyder
at x1 er med, mens x̂1 betyder at x1 ikke skal tages med.

x3 {x1 , x2 , x3 }
x2 x̂3 {x1 , x2 }
x̂2 x3 {x1 , x3 }
x1 x̂3
{x1 }
x̂1 x3 {x2 , x3 }
x2
x̂3
{x2 }
x̂2
x3 {x3 }
x̂3

Opgave 1.9 Lad A være en mængde med |A| = n. Bestem hvor man-
ge forskellige delmængder af A der ndes.
Opgave 1.10 Udtryk |A × B| ved |A| og |B|.
1.3. ARRANGEMENTER 11

1.3 Arrangementer
Lad os se på en mængde med 3 forskellige elementer {x1 , x2 , x3 }. Vi vil nu
bestemme i hvor mange rækkefølger de kan arrangeres i.
En rækkefølge kan bestemmes ved at foretage 3 valg. Først skal vi vælge
3 elementer at vælge imellem. Så skal vi
hvilket element der skal først. Her er
vælge hvilket element der skal være nummer to. Her er 2 elementer tilbage at
vælge imellem. Endelig skal vi vælge hvilket element der skal være nummer
tre. Her er der kun 1 element tilbage at vælge. Ifølge produktreglen er der
derfor 3·2·1 rækkefølger.
Generelt kan n forskellige elementer arrangeres i n · (n − 1) · (n − 2) · · · 1
rækkefølger. Så når n=1 er der 1 rækkefølge, når n = 2 er der 2 · 1 ræk-
kefølger, når n=3 er der 3 · 2 · 1 rækkefølger. Det er praktisk at have en
notation for antallet af rækkefølger. Til dette bruger man fakultetsfunktionen
(udråbstegnet).

Denition 1.3
Antallet af rækkefølger man kan arrangere n forskellige elementer i be-
tegnes n!. Man sætter desuden 0! = 1.

Vi kan lave en lille tabel over de første værdier af fakultetsfunktionen.

0! = 1
1! = 1
2! = 2 · 1 = 2
3! = 3 · 2 · 1 = 6
4! = 4 · 3 · 2 · 1 = 24
5! = 5 · 4 · 3 · 2 · 1 = 120
6! = 6 · 5 · 4 · 3 · 2 · 1 = 720
... = ...

Opgave 1.11 Bestem 7!.


Eksempel 1.6 I et hundredemeterløb deltager 6 atleter. Vi bestem-
mer hvor mange rækkefølger de 6 løbere kan komme i mål på, når vi
ser bort fra muligheden at to atleter kommer i mål præcist samtidigt,
eller at nogle af løberne ikke gennemfører.
Siden der er 6 løbere, er der 6! = 720 forskellige rækkefølger.
Hvad så hvis man kun interesseret i hvem der får 1., 2. og 3.-
pladsen? Førstepladsen kan gå til 6 forskellige løbere, så er der 5 for-
skellige tilbage der kan få 2.-pladsen, og dernæst er der 4 forskellige der
kan få 3.-pladsen. Ifølge produktreglen er der 6 · 5 · 4 = 120 muligheder.
Hvis man har 6 forskellige kugler i en skål, og skal vælge 3 ud, og række-
følgen betyder noget er der ifølge produktreglen 6 · 5 · 4 måder at gøre det på.
12 KAPITEL 1. GRUNDBEGREBER I KOMBINATORIK

Det kan også udtrykke ved hjælp af fakultetsfunktionen. Der gælder nemlig

6·5·4·3·2·1 6!
6·5·4= =
3·2·1 3!
Vi indfører en notation for dette.

Denition 1.4
Vi betegner med P (n, k) antallet af måder man kan vælge k elementer
ud fra en mængde med n forskellige elementer, når rækkefølgen betyder
noget. Man sætter P (n, 0) = 1, for alle n ≥ 0.

Sætning 1.5
Når 0≤k≤n gælder

n!
P (n, k) =
(n − k)!

Opgave 1.12 På hvor mange forskellige måder kan man opstille en


sort konge, en hvid konge, en hvid løber og en hvid springer på et
skakbræt? (Et skakbræt har 64 forskellige felter, og spørgsmålet går
på hvor mange måder man kan opstille re forskellige brikker).

1.4 Kombinationer
I sidste afsnit var vi interesseret i rækkefølgen, og så taler man om arran-
gementer eller permutationer. Men mange gange er man ikke interesseret i
rækkefølgen.

Eksempel 1.7 Man udfylder en lottokupon ved at vælge 6 tal ud


blandt tallene fra 1 til 48. Det er ligegyldigt i hvilken rækkefølge man
udvælger de 6 tal, det eneste der betyder noget er hvilke 6 tal der
vælges.

Denition 1.6
Antallet af måder man kan udvælge k elementer ud af en mængde med
n n
 
n forskellige elementer betegnes med
k . Man sætter
0 = 1.

n n
 
Man kalder for en binomialkoecient og man udtaler som  n
k k
vælg k .
1.4. KOMBINATIONER 13

Sætning 1.7
Når 0≤k≤n gælder

 
n P (n, k) n!
= =
k k! (n − k)! · k!

Eksempel 1.8 5

Lad os udregne
2 . Vi har
 
5 5! 5·4
= = = 10.
2 3! · 2! 2·1

Man kan opskrive alle måder at udvælge k elementer ud af n hvor række-


følgen betyder noget, ved for hver måde man kan udvælge n elementer uden
at rækkefølgen betyder noget, at opskrive de k udvalgte elementer i de k!
forskellige måder de kan arrangeres i. Det leder til et bevis for Sætning 1.7.
Først ser vi på et eksempel, for at gøre ideen helt klar.

Eksempel 1.9 Lad os se på antallet af måder vi kan vælge 2 elemen-


ter ud af {1, 2, 3} på hvis rækkefølgen betyder noget, og hvis række-
følgen ikke betyder noget. Hvis rækkefølgen ikke betyder noget er der
3 forskellige måder
{1, 2}, {1, 3}, {2, 3}.
Hver af disse måder kan arrangeres i 2! = 2 · 1 = 2 rækkefølger. Der
gælder jo at {1, 2} kan skrives i rækkefølge som enten (1, 2) eller som
(2, 1). Stiller vi op i de to forskellige rækkefølger for hver af de tre
forskellige kombinationer får vi følgende 6 arrangementer:

(1, 2), (2, 1), (1, 3), (3, 1), (2, 3), (3, 2).

Specielt gælder der at


 
3
P (3, 2) = · 2!
2
Altså at antallet af måder vi kan vælge 2 ud af 3 hvor rækkefølgen
betyder noget, er lig med antallet af måder vi kan udvælge 2 elementer
gange antallet af rækkefølger 2 elementer kan opstilles i.

Generelt gælder der altså at antallet af måder man kan vælge k elementer
ud af n når rækkefølgen betyder noget er k! gange så mange som antallet
af måder man kan vælge k elementer ud af n når rækkefølgen ikke betyder
noget. Bruger vi den indførte notation, får vi
 
n
P (n, k) = · k!
k
Dividerer vi med k! på begge sider af lighedstegnet, får vi formlen i Sætning
1.7.
Mange begreber fra kombinatorikken kan illustreres ved at kombinere
bogstaver.
14 KAPITEL 1. GRUNDBEGREBER I KOMBINATORIK

Eksempel 1.10 n = 1, 2, 3 bogstaver hvis


Vi opskriver alle ord på
vi kun må bruge bogstaverne X og Y . Når n = 1 er der 2 ord: X og
Y . Når n = 2 er der 4 ord: XX , XY , Y X og Y Y . Når n = 3 er der 8
ord: XXX , XXY , XY X , XY Y , Y XX , Y XY , Y Y X og Y Y Y . Det
n
følger af produktreglen, at der er 2 ord af længde n der kan dannes
af bogstaverne X og Y .
Lad os nu se på hvor mange ord af længde n = 3, der har k X 'er
for k = 0, 1, 2 og 3.

k=0 Når der ikke er nogle X 'er, skal alle bogstaverne være Y 'er. Så
3

der er et ord, YYY. Bemærk at
0 = 1.
k=1 Der er 3 af ordene der har et X, nemlig XY Y , Y XY og Y Y X.
Det svarer til at vi skal vælge et af bogstaverne ud der skal være
3

et X , resten skal være Y 'er. Derfor er der 1 = 3 forskellige ord.
k=2 To ud af de tre bogstaver skal være X 'er. Man
 kan vælge de to
pladser til X 'erne ud af de tre pladser på 32 = 3 måder. De tre
ord er XXY , XY X og Y XX .
k=3 Tre ud af tre bogstaver skal være X 'er. Dem kan man vælge ud
3


3 =1 måde.

Opgave 1.13 (a) Bestem hvor mange ord med 5 bogstaver der
ndes, hvis vi har bogstaverne X og Y til rådighed.

(b) Bestem hvor mange af disse ord har 2 X 'er.


Sammenlign nøje det forrige eksempel med det næste eksempel.

Eksempel 1.11 Det at gange (X + Y )n ud for forskellige værdier af


n, kan man se på som et kombinatorisk problem. Vi har

(X + Y )1 = X + Y
(X + Y )2 = (X + Y ) · (X + Y )
= X · (X + Y ) + Y · (X + Y )
= XX + XY + Y X + Y Y
3
(X + Y ) = (X + Y ) · (XX + XY + Y X + Y Y )
= X · (XX + XY + Y X + Y Y ) + Y · (XX + XY + Y X + Y Y )
= XXX + XXY + XY X + XY Y + Y XX + Y XX + Y XY + Y Y Y

Når vi har skriver leddene op på denne måde, kan vi se at (X + Y )1


1 2 2
har 2 =2 led, at(X + Y ) har 2 = 4 led, og (X + Y ) har 23 = 8
3

led. Men fordi XY = Y X kan vi forenkle. Der gælder

(X + Y )2 = XX + XY + Y X + Y Y = 1 · X 2 + 2 · XY + 1 · Y 2 .

Et-tallet foran X2 svarer til at der er et led med kun X 'er, nemlig
XX . To-tallet foran XY svarer til at der er to led med et X og et Y ,
nemlig XY Y X . Et-tallet
og foran Y2 svarer til at der er et led med
kun Y 'er, nemlig Y Y .
(X + Y )3 . Da XXX = X 3 , XXY =
Lad os kiggge nærmere på
XY X = Y XX = X Y , XY Y = Y XY = Y Y X = XY 2 og Y Y Y =
2
1.5. FLERE OPGAVER 15

Y 3, gælder
       
3 3 3 3
(X + Y )3 = · X3 + X 2Y + XY 2 + Y3
0 1 2 3

Opgave 1.14 Hvis vi ganger (X + Y )5 ud som i eksemplet, uden at


samle led der er lig hinanden får vi

(X + Y )5 = XXXXX + XXXXY + XXXY X + · · · + Y Y Y Y Y.

(a) Hvor mange led er der?

Når vi forsimpler udtrykket som i forrige eksempel, ved at bru-


XXXXX = X 5 , XXXXY = XXXY X = XXY XX =
ge at
XY XXX = Y XXXX = X 4 Y osv, får vi et udtryk på formen

a0 X 5 + a1 X 4 Y + a2 X 3 Y 2 + a3 X 2 Y 3 + a4 XY 4 + a5 Y 5 .

(b) Angiv koecienten a3 foran X 2Y 3


Ved at tænke over sidste opgave kommer man frem til det følgende.

Sætning 1.8
For n = 0, 1, 2, . . . gælder

n  
n
X n
(X + Y ) = · X n−k Y k
k
k=0

Her har vi brugt sumtegnet til at skrive udtrykket på en kort måde. Hvis
vi bruger denitionen på sumtegnet kan vi se at der gælder
 
0 0
(X + Y ) = X 0Y 0 = 1
0
   
1 1 1 0 1
(X + Y ) = ·X Y + · X 0Y 1 = X + Y
0 1
     
2 2 2 0 2 1 1 2
(X + Y ) = ·X Y + ·X Y + X 0Y 2
0 1 2
X 2 + 2XY + Y 2
=
       
3 3 3 0 3 2 1 3 1 2 3
(X + Y ) = ·X Y + ·X Y + X Y + X 0Y 3
0 1 2 3
= X 3 + 3X 2 Y + 3XY 2 + Y 3

1.5 Flere opgaver


Opgave 1.15 Til et 100-meter løb er der 7 deltagere. Hvor mange
måder kan guld-, sølv, og bronzemedaljen falde, hvis vi antager at
ingen af medaljerne deles?
16 KAPITEL 1. GRUNDBEGREBER I KOMBINATORIK

Opgave 1.16 Hvis vi råder over 7 forskellige bogstaver, hvor mange


ord på 3 bogstaver kan vi skrive?

Opgave 1.17 På hvor mange måder kan to hvide springere placeres


på et skakbræt?

Opgave 1.18 Benyt et kombinatorisk argument (ikke udregninger)


til at vise det følgende. For 0 ≤ r ≤ n gælder
   
n n
=
r n−r

Opgave 1.19 (a) Hvor mange ord med 6 bogstaver ndes der,
hvis man skal bruge 2 X'er, 2 2 Z'er? Vink: Tænk på at
Y'er og
du først skal placere de to X'er blandt 6 ledige pladser, derefter
placere de to Y'er blandt de tilbageværende 4 ledige pladser og
endelig placere de to Z'er blandt 2 pladser.

I Maple, skriv expand (X + Y + Z) . Hvad er koecenten for-


6

(b)
2 2 2
an leddet X Y Z ?

(c) Lad k1 + k2 + k3 = 6. Hvor mange ord med 6 bogstaver ndes


der, hvis man skal bruge k1 X'er, k2 Y'er og k3 Z'er?

(d) Lad k1 + k2 + k3 = n. Hvor mange ord med n = k1 + k2 + k3


bogstaver ndes der, hvis man skal bruge k1 X'er, k2 Y'er og k3
Z'er?
6! 6!
(e) Omskriv svaret til (a) til
2!·2!·2! , svaret til (c) til k1 !k2 !k3 ! , og
n!
svaret til (d) til
k1 !k2 !k3 ! .
n!
Et udtryk på formen
k1 !k2 !k3 ! , med k1 + k2 + k3 = n kaldes en
n

trinomialkoecient og skrives
k1 k2 k3 .
*Opgave 1.20 I denne opgave skal du bevise en egenskab for binomial-
koecienter, der er nyttig ved praktisk opskrivning og udregning. For
n, k ∈ N, begge større end 0, gælder
   
n n n−1
= .
k k k−1
Der ndes en kombinatorisk fortolkning af denne regel, men den kan
være lidt svær at nde.

*Opgave 1.21 Bevis følgende overraskende identitet

n  
X n
5n = 4k .
k
k=0

For eksempel er 53 = 1 + 3 · 4 + 3 · 42 + 43 . (Vink: bruge Sætning 1.8).

1.6 Ekstra materiale: Tilbagelægning


Det materiale er ikke pensum og kan springes over.
Hvis vi har en skål med 4 forskellige kugler, og skal tage 2 kugler ud,
har vi set at der er P (4, 2) = 12 måder at gøre det på hvis rækkefølgen
1.6. EKSTRA MATERIALE: TILBAGELÆGNING 17

4

betyder noget, mens der er
2 =6 måder at gøre det på hvis rækkefølgen
ikke betyder noget. Her har vi underforstået at har vi valgt en kugle, så kan
man ikke vælge den igen.
Men hvad hvis vi må vælge den samme kugle to gange? Vi kan tænke os,
at efter vi har valgt kuglen, lægger vi den tilbage i skålen. Der er stadig to
måder at tælle på. Den ene er hvor rækkefølgen betyder noget, og den anden
er hvor den ikke gør.
Hvis rækkefølgen betyder noget, så har vi 4 måder at vælge den første
kugle på, og også 4 måder at vælge den anden på. Ifølge produktreglen er
der derfor 42 måder at vælge de to kugler på.
Generelt gælder at hvis man har n forskellige kugler, og skal vælge k
kugler ud, hvor rækkefølgen betyder noget, og man gerne må vælge den
samme kugle ere gange, så er der nk forskellige måder at gøre det på. Man
k
siger der er n forskellige k -permutationer med tilbagelægning.
*Opgave 1.22 En studerende skal til eksamen i 3 fag der alle vurde-
res på syv-trinsskalaen. Beregn hvor mange forskellige eksamsresulta-
ter der er.

Hvis rækkefølgen ikke betyder noget, bliver situationen mere kompliceret.


Lad os starte med at se på at vi skal vælge 5 kugler ud af 3 forskellige, lad
os sige en rød (R), en grøn (G) og en blå (B). Siden der er tilbagelægning er
det muligt. En mulighed kunne være to røde, en grøn og to blå. Det kunne vi
skrive RRGBB. For tydeligere at adskille de forskellige typer kugler kunne vi
skrive det RR|G|BB. Hvis vi i stedet tager to røde, ingen grøn og 3 blå kugler
kunne vi skrive det RR||GGG. På grund af adskillelsestegnet | behøver vi
ikke at skrive R, G eller B, farven af kuglen afhænger af positionen i forhold
til de to lodrette streger. Så vi kunne skrive **|*|** for to røde, en grøn og
to blå kugler, mens **|***| betyder to røde kugler, 3 grønne kugler og ingen
blå kugler.
Altså hvert valg af 5 kugler svarer til et ord på 7 bogstaver, hvor vi kan
vælge mellem de to bogstaver * og |, og vi skal bruge 5 * og 2 | .
Hermed kan vi se at løsningen på vores problem svarer til at nde ud af
hvor mange ord på 7 bogstaver der kan skrives med 5 * og 2 |. Men det kan
vi godt regne ud, for det svarer til at vi skal nde ud af på hvor mange måde
man kan vælge 2 elementer ud af 7 når rækkefølgen ikke betyder noget, vi
skal nemlig vælge de to elementer ud der skal være | og resten skal være *.
7

Antallet af måder man kan vælge 2 ud af 7, er
2 = 21. Vi kan konkludere
at der er 21 måder at vælge 5 kugler ud af tre forskellige når rækkefølgen
betyder noget, og der er tilbagelægning.
Det generelle tilfælde er ikke sværere. Så forestiller vi os vi har n for-
skellige kugler, og skal vælge k ud når rækkefølgen betyder noget, og der er
tilbagelægning. Det svarer til antallet af ord vi kan skrive med k *, og n−1
|. Antallet af sådanne ord er
 
n+k−1
. (1.1)
n−1
18 KAPITEL 1. GRUNDBEGREBER I KOMBINATORIK

Eksempel 1.12 I en tapas bar er der 17 forskellige små retter. Vi


udregner på hvor mange måder vi kan bestille 5 retter. Der er ikke
nogen i vejen for at bestille den samme ret ere gange. Vi får løsningen
ved at sætte n = 17 og k = 5 i ligning (1.1):
 
21
= 20349
16

*Opgave 1.23 Hvis vi har tre forskellige påskeæg design, hvor mange
forskellige måder kan vi male 6 ens æg på?

Her er en opsummering af de forskellige måder at tælle på hvor mange


måder k elementer kan vælges ud af n.

Samme element må
højst vælges én gang vælges ere gange

Rækkefølge vigtig P (n,k) nk 


n n+k−1
Rækkefølge ligegyldig
k n−1
Kapitel 2

Rekursive denitioner

2.1 De Rekursive snakker hele tiden om sig selv


Recursion, n. [L. recursio.]
The act of recurring; return. [Obs.]
[1913 Webster]
At noget er rekursivt betyder, at beskrivelsen af tingen, henviser til tingen
selv. Det lyder som ormen der bider sig selv i halen, og det kan det også
let blive, hvis ikke man er omhyggelig med beskrivelsen. Ikke desto mindre
bruges rekursive denitioner overalt i matematikken, fordi det ofte er en let
og naturlig måde at beskrive og ræsonere om objekter på.
Her er et eksempel på en rekursiv denition af en funktion f : N → Z.
(
3 for n = 0,
f (n) =
2 + f (n − 1) for n > 0.

Dette er rekursivt, fordi f (n − 1) indgår i denitionen af, hvad f (n). Det


kan altså se ud som om, man på forhånd skal vide hvad funktionen er, for
at vide hvad den er. Men den første klausul, altså at f (0) = 3, redder os og
bestemmer f (n) entydigt: For dermed har vi:

f (1) = 2 + f (0) = 2 + 3 = 5
f (2) = 2 + f (1) = 2 + 5 = 7
f (3) = 2 + f (2) = 2 + 7 = 9
osv.

Notation Når vi skriver f : N → Z, så betyder det at f (n) er en funk-


tion der er deneret for ethvert naturligt tal n ∈ N, og funktionsværdien
f (n) er et helt tal.

19
20 KAPITEL 2. REKURSIVE DEFINITIONER

Vi kan se at vi kan fortsætte på denne måde til at bestemme f (n) for ethvert
n der måtte passe os. Det er måske dog ret omstændeligt, og tit hvor man
starter med en rekursiv denition, så ønsker man sig en lukket formel for
f (n), dvs. løst sagt et matematisk udtryk der tillader at beregne f (n) med
et antal beregnings-skridt, der ikke vokser med n. Det kan nogle gange være
svært (endsige umuligt!) at opnå en lukket formel, og det kræver ofte bevis-
teknikken induktion, som vi lærer om i næste uge.
I dette tilfælde er det måske dog ikke så svært at indse, ud fra de første
værdier vi regnede, og ud fra selve den rekursive denition, at den lukkede
formel er

f (n) = 2n + 3 .

Opgave 2.1 Lad

(
2 for n = 0,
g(n) =
2 · g(n − 1) − 1 for n > 0.

Beregn g(0), g(1) og g(2).


Eksempel 2.1 I sidste kapitel denerede vi fakultetsfunktionen n! =
1 · 2 · . . . · n. En rekursiv denition af n! kan skrives som:
(
1 n=0 (basistilfælde)
n! =
n · (n − 1)! n > 0 (rekursionstilfælde)

Grunden til at vi før kunne bruge den rekursive denition til at udregne
f (3) eller f (100) er, at vi ved gentagen brug af rekursionstilfældet reduce-
rer udtrykket ned til basistilfældet. Man skal være forsigtig med rekursive
denitioner, for der skal ikke meget til, før man ikke længere kan udregne
funktionsværdier på denne måde. Tag fx h : N → Z med
(
1 n=0
h(n) =
2 + h(n + 1) n > 0 .

Vi ser h(0) = 1. Men hvad er h(1)? For at nde h(1) skal vi bruge h(2). For
at nde h(2) skal vi bruge h(3), og så for vi brug for h(4) osv.  det er skruen
uden ende! Vi har faktisk slet ikke deneret en funktion, for h(1) kan være
hvad som helst. Moralen er, at for udtrykket giver mening, skal vi sørge for
at vi til sidst ender med basistilfældet ved gentagen brug af denitionen.

Rekursion: En rekursiv denition indeholder selvreference. Et rekur-


sivt deneret udtryk er veldeneret, hvis denitionen indeholder en eller
ere basistilfælde uden selvreference, og de øvrige tilfælde kan reduceres
til basistilfælde ved gentagen anvendelse af denitionen.
2.1. DE REKURSIVE SNAKKER HELE TIDEN OM SIG SELV 21

Opgave 2.2 Er følgende funktion f : N → Z veldeneret?


(
1 når n er ulige
f (n) =
1 + f (n/2) når n er lige.

Eksempel 2.2 Nogle gange kan det være enormt svært at afgøre,
om en funktion er veldeneret eller ej. Betragt følgende funktion f :
N − {0} 7→ Z:

0
 når n=1
f (n) = f (n/2) + 1 når n er lige

f (3n + 1) + 1 når n er ulige og n>1

Fx er

f (12) = f (6) + 1 = f (3) + 2 = f (10) + 3 = f (5) + 4 = f (16) + 5


= f (8) + 6 = f (4) + 7 = f (2) + 8 = f (1) + 9 = 9 .

f (n) tæller på den måde antallet af skridt, man går igennem den re-
kursive denition, før man ender i f (1) = 0. For nogle n er stien meget
lang: Fx er f (27) = 111 og man skal igennem f (9232) undervejs!
Det utrolige er, at det den dag i dag stadig et uløst problem, om f
overhovedet er veldeneret! Dvs. vi ved ikke, om der er n sådan at hvis
man trevler f (n) op vha. den rekursive denition, så ender man aldrig
op i f (1). Det hedder Collatz' formodning eller Syracuse problemet
og der er stor berømmelse til den der løser det.

Det følgende eksempel viser at man ganske naturligt kan ledes til en
rekursiv denition.
Antag vi har to typer iser: Type A der er 1 enhed bred, og type B der
er 2 enheder bred. Vi skal iselægge et stykke der er n enheder bredt. Hvor
mange måder kan vi gøre det på?
Vi lader f (n) betegne antallet af løsninger, og starter
med at se på nogle specialtilfælde. Hvis n=0 kan vi
iselægge ved at lægge nul iser, og andet kan vi ikke
gøre. Det er altså f (0) = 1 måder. Hvis n = 1 er der
kun plads til at lægge en A-ise. Der er altså f (1) = 1
måde at gøre det på.
Hvis n = 2 kan vi starte med at lægge enten en A-
ise eller en B -ise. Hvis vi lægger en A-ise er der en
plads tilbage, så der må vi også lægge en A-ise. Alternativt kan vi lægge en
B ise. Derfor er der f (2) = 2 forskellige måder, nemlig AA og B . Hvis n = 3
er der de 3 muligheder AAA, AB , BA. Hvis n = 4 er der de 5 muligheder
AAAA, AAB , ABA, BAA, BB . Se billedet.
Lad os nu se på det generelle tilfælde n > 1. Vi kan starte med at lægge
enten en A-ise og mangler så at iselægge et stykke med bredde n−1, eller vi
kan lægge en B -ise og så mangler vi at iselægge et stykke med bredde n−2.
I det første tilfælde er der f (n − 1) måder at iselægge det resterende stykke,
22 KAPITEL 2. REKURSIVE DEFINITIONER

og i det andet er der f (n − 2). Derfor er der i alt f (n) = f (n − 1) + f (n − 2).


Hermed kan vi opskrive en rekursiv denition på f (n).
(
1 n = 0, 1
f (n) =
f (n − 1) + f (n − 2) n > 1.

Det er jo meget nt, men hvad er for eksempel f (10)? Den nemmeste
måde at udregne det på er ved at lave en tabel.

n f(n)

0 1
1 1
2 2
3 3
4 5
5 8
6 13
7 21
8 34
9 55
10 89
. .
. .
. .

De to første værdier i tabellen er basistilfældet i den rekursive denition. De


næste ndes ved at lægge de to foregående værdier sammen.
Bemærk at det er meget hurtigere at tabellere end at bruge denitionen
gentagne gange. I basistilfældene er f lig 1. Så hvis vi skulle beregne f (10)
ved gentagen brug af denitionen ville vi få, efter mange substitutioner, en
sum af 89 et-taller.
Rækken af tal f (0), f (1), f (2), . . . er i øvrigt berømt og har et navn,
nemlig Fibonaccitallene.

2.2 Flere eksempler på rekursive denitioner


I dette afsnit vil vi se af mange af de funktioner vi så på i sidste kapitel, kan
gives rekursive denitioner.
Vi starter med sumtegnet. Husk på at for hele tal m og n betegner man
med
n
X
f (k)
k=m

summen af leddene f (k) hvor k går fra m til n, altså f (m) + f (m + 1) +


· · · + f (n).
2.2. FLERE EKSEMPLER PÅ REKURSIVE DEFINITIONER 23

Hvis den nedre grænse er større end den øvre grænse, så sætter man
summen til 0. For eksempel er

2
X
k = 0.
k=3

Betydningen af sumtegnet kan deneres rekursivt.

Denition 2.1 Pn
Hvis m, n ∈ Z og g(k) er et udtryk, så er symbolet k=m g(k) deneret
ved
n
(
X 0 m>n
g(k) = Pn−1
k=m k=m g(k) + g(n) m ≤ n

Bemærk at den tomme sum


Pn m > n sættes til 0. Det er basistilfældet.
Tænk over hvorfor k=m g(k) er veldeneret.
Vi kan bruge denitionen til at udregne en konkret sum. Der gælder

4
X 3
X
k2 = k 2 + 42
k=2 k=2
X2
= k 2 + 32 + 4 2
k=2
1
X
= k 2 + 22 + 3 2 + 4 2
k=2
= 0 + 22 + 32 + 42
= 29.

Funktionen P (n, k) fra sidste kapitel kan også naturligt deneres rekur-
sivt. Husk at P (n, k) angiver antallet af måder vi kan vælge k kugler ud af
n forskellige når rækkefølgen betyder noget.
Hvis k = 0, gælder P (n, k) = P (n, 0) = 1. Hvis k > n, så er P (n, k) = 0,
for man kan ikke tage ere elementer ud end der er.
Hvad så med det generelle tilfælde n ≥ k > 0? Vi har n forskellige
muligheder for valg af et første element. Uanset hvad vi vælger, så skal vi
derefter udvælge k − 1 elementer ud blandt de resterende n − 1 elementer.
Og det kan vi gøre på P (n − 1, k − 1) måder. Derfor er der nP (n − 1, k − 1)
forskellige k -permutationer når n ≥ k > 0. Vi kan konkludere at P (n, k) har
den rekursive denition

0
 k>n
P (n, k) = 1 k=0 (2.1)

nP (n − 1, k − 1) n ≥ k > 0

24 KAPITEL 2. REKURSIVE DEFINITIONER

Vi kigger nu på antallet af k -kombinationer. Det vil sige antallet af måder


at udtage k elementer fra en mængde med n elementer når rækkefølgen er
n

ligegyldig, og vi ikke har tilbagelægning. Vi indførte betegnelsen
k for dette
n

antal, og det kaldes en binomialkoecient. Man sætter
0 = 1, og det er
n

klart at
k =0 hvis k > n. Vi mangler at se på det generelle tilfælde hvor
n ≥ k > 0. Lad os slå ned på et element i mængden, som vi kan kalde x1 . Vi
opdeler i to tilfælde: Enten udvælger vi x1 , eller også gør vi det ikke. Hvis
vi udvælger x1 , mangler vi at udvælge k−1
elementer fra en mængde på de
n−1

resterende n − 1 elementer. Det kan man gøre på
k−1 forskellige måder.
Hvis vi ikke vælger x1 , mangler vi at udvælge k elementer fra en mængde
n−1

på n − 1 elementer. Det kan man gøre på måder. Samlet er der altså
k
n−1 n n
  
k−1 + k−1 måder. Derfor er
k rekursivt deneret ved


1
   k=0
n
= 0 r>n
k  n−1
 n−1

k−1 + k n ≥ k > 0.

2.3 Flere opgaver


Opgave 2.3 Hvad kan fordelene være ved at tabellægge en rekur-
sivt deneret funktion, frem for blot at benytte denitionen gentagne
gange?

Opgave 2.4 En funktion er deneret rekursivt for alle naturlige tal


ved 
1 hvis n=0
f (n) =
f (n − 1)2 + 4 · n hvis n≥1
Beregn funktionsværdierne f (0), f (1), f (2) og f (3).
Opgave 2.5 Vis at P (n, n) = n!.
Opgave 2.6 Vi skal lægge en isegang ligesom i kapitlets tekst, men
i stedet for bredder på 1 hhv. 2 enheder, så har de nu bredder på
2 hhv. 5 enheder. Hvordan ser den rekursive denition af antallet af
isegange nu ud? Tabellæg funktionsværdierne fra 0 til 10.
Vink: Det kan være praktisk at sættef (n) = 0 for n < 0. Det
kombinatoriske problem giver ikke mening for n < 0, så vi må selv
bestemme hvad f (n) skal være, og sætter vi f (n) = 0 for n < 0 giver
det et simplere rekursivt udtryk.

Opgave 2.7 Vi skal igen lægge en isegang, men denne gang skal
den være 2 meter bred og n meter lang. Vi har to typer iser til
rådighed. Flise-type A er 2 m × 1 m med ensartet overade. Den kan
altså ligge på tværs, eller der kan ligge to på langs. Flise-type B er
kvadratisk 2m × 2m, men med en asymmetrisk overadetegning, så
den kan orienteres på 4 forskellige måder.
Find en rekursionsformel for antallet af isegange, f (n), og beregn
de første 10 funktionsværdier.
2.4. EKSTRA: REKURSION OG SOFTWARE 25

En biolog arbejder på at lave en model af væksten af en population


af rotter. Biologen observerer, at både fødselsraten og overlevelsesraten er
afhængige af rotternes alder.
Rotterne inddeles derfor i tre aldersgrupper: Dem der er mellem 0 og 6
måneder gamle, dem der er mellem 6 og 12 måneder og dem mellem 12 og
18 måneder. Det antages at der ikke ndes rotter ældre end 18 måneder (det
er et værre rotte-liv at være en rotte). En rottepopulation beskrives på et
givet tidspunkt dermed ved hjælp af tre tal:

u0 : antal rotter mellem 0 og 6 måneder,

v0 : antal rotter mellem 6 og 12 måneder, og

w0 : antal rotter mellem 12 og 18 måneder.

Ved at studere de tre aldersgrupper i rottepopulationen, nder biologen


hvor mange rotter der dør i en periode af seks måneder, og hvor mange
rotter der bliver født i en periode af seks måneder. Mere præcist observerer
biologen for hver af de tre aldersgrupper følgende tabel af fødselsrater og
overlevelsesrater:

Alder (måneder) Fødselsrate Overlevelsesrate

0−6 0,1 0,8


6 − 12 0,7 0,8
12 − 18 0,1 0,0

Besvar nu følgende spørgsmål:

Opgave 2.8 Hvis (u0 , v0 , w0 ) = (15, 10, 5), hvor mange rotter vil der
tilnærmelsesvis være i hver aldersgruppe efter seks måneder?

Opgave 2.9 Find en rekursion som udtrykker (un , vn , wn ), antal af


rotter i de tre aldersgrupper efter seks måneder, med startværdierne
(un−1 , vn−1 , wn−1 ). Værdierne for basistilfældet n=0 er givet i det
første delspørgsmål.

2.4 Ekstra: Rekursion og software


Dette afsnit er ikke pensum.
Algoritmer kan også bruge rekursion. Af og til er det praktisk at en rutine
kan kalde sig selv for at løse en opgave. Det er altså ikke kun i matematikken,
man kan nde på at lave rekursive denitioner.
Et berømt eksempel er quicksort, en hurtig algoritme der kan sortere.
Vi beskriver løst hvordan den fungerer. Hvis man skal sortere en liste af tal
ser man på hvor mange tal der er i listen. Hvis der er 0 eller 1 tal kan man
returnere listen direkte, tallene er allerede sorteret. Dette er basistilfældet.
Hvis der er 2 eller ere tal, vælger man et tilfældigt tal x ud. Så ordner man
26 KAPITEL 2. REKURSIVE DEFINITIONER

de resterende tal i to lister: Listen af tal der er mindre end det udvalgte tal
A, og listen af tal der er større (eller lig) det udvalgte tal B. Resultatet er
nu tallene i A sorteret, efterfulgt af x, efterfulgt af tallene i B sorteret.
A og B ? Det gør vi såmænd ved
Men hvordan får vi sorteret tallene i at
kaldequicksort igen med henholdsvist A og B som input. Det vil sige at
quicksort kalder sig selv, det er en rekursiv algoritme.
Lad os for eksempel antage, at vi vil sortere tallene

7, 4, 3, 8

Vi tager et tilfældigt tal ud, lad os bare tage det første 7. Så danner vi to
lister, A er4, 3 nemlig dem som er mindre end 7 og B er 8, det tal der er
større end 7. Så

quicksort(7, 4, 3, 8) = quicksort(4, 3), 7, quicksort(8).

Når quicksort(4, 3) bliver kaldt, vælger vi et tilfældigt tal ud. Lad os


igen tage det første 4. Så opdeler vi de resterende tal (altså tallet 3) i to
lister: Listen af tal der er mindre end 4 (det er 3) og listen der er større end
4, den tomme liste. Så vi får

quicksort(4, 3) = quicksort(3), 4, quicksort().

De tre funktionskald

quicksort(3), quicksort(), og quicksort(8),

svare alle til basistilfældet. Derfor får vi

quicksort(7, 4, 3, 8) = quicksort(4, 3), 7, quicksort(8)


= quicksort(3), 4, quicksort(), 7, quicksort(8)
= 3, 4, 7, 8

og vi kan se at algoritmen har sorteret de 4 tal.


Kapitel 3

Induktionsbeviser

3.1 Princippet om matematisk induktion


Det er vigtigt at kunne bevise ting. Meget af hvad der foregår i matematikken
er at bevise noget. Selv noget så simpelt som at løse en enkel ligning svarer
til at bevise, at løsningsmængden er det den nu er. Selvom det er godt at
kunne vise at en algoritme virker i nogle specikke test cases, er det bedre
at kunne bevise at algoritmen virker generelt. Beviser er vores venner.
En slagkraftig metode til at bevise udsagn om naturli-
ge tal er induktion. Det kan være nyttigt at tænke et
induktionsbevis som en måde at vælte uendelig mange
dominobrikker. Forestil dig en uendelig række af domi-
nobrikker stillet nt op efter hinanden. Hvis vi ved to
ting:

1. Den første brik vælter, og

2. det at en brik i rækken vælter, bevirker at den næste brik i rækken


vælter,

hvad sker der så med dominobrikkerne? Den første vælter, og det får den
anden til at vælte, som så får den tredje til at vælte, og så videre og så
videre. De vælter allesammen.
Forestil dig nu, at i stedet for at vælte dominobrikker, vil vi gerne bevise
et udsagn P (n) for n ∈ N. Hvis vi kan bevise at

1. udsagnet er sandt for n = 0, og

2. det at udsagnet er sandt for en værdi af n, gør at udsagnet også er


sandt for n + 1,

så er udsagnet sandt for alle n ∈ N. Dette er princippet om matematisk


induktion.

27
28 KAPITEL 3. INDUKTIONSBEVISER

Antag nu at det at en dominobrik falder gør at den næste dominobrik


falder, men vi ikke længere ved at den første dominobrik falder. Dog ved vi at
dominobrik nummer n0 falder. Vi kan ikke længere slutte at alle dominobrik-
kerne falder, men vi kan slutte at brikkerne fra nummer n0 og frem falder.
Det svarer til følgende formulering af princippet om matematisk induktion.

Matematisk Induktion (svag form): Lad P (n) være et udsagn for


n ∈ N. Hvis vi kan vise

1. P (n0 ) er sand, og

2. for alle n∈N med n ≥ n0 gælder P (n) ⇒ P (n + 1),

så gælder P (n) for alle naturlige tal n ≥ n0 .

Altså, for at vise P (n) gælder for alle n ≥ n0 skal vi vise 1. som kaldes
basistilfældet og 2. som kaldes induktionstrinnet. I induktionstrinnet skal vi
antage at for et vilkårligt n ≥ n0 gælder P (n), og bruge det til at vise at
så gælder P (n + 1) også. Denne antagelse kaldes induktionsantagelsen. Vores
sprogbrug er altså

1. P (n0 ) er sand, og basistilfælde

2. for alle n∈N med n ≥ n0 gælder P (n) ⇒ P (n + 1), induktionstrin


| {z }
induktionsantagelse

Vi ser nu nogle eksempler på hvordan induktionsbeviser kan opstilles. Vi


starter med et eksempel fra matrixregningen. Hvis A, B ∈ Rn×n så ved vi
fra lineær algebra at der gælder

det(AB) = det(A) det(B).

Hvad gælder så om det(An ) for n∈N ?


Vi kan forsøge at gå i gang fra en ende af. Hvis An = A0 = E . n=0 er
0 0 0
Derfor gælder det(A ) = det(E) = 1 = det(A) , idet vi sætter x = 1 uanset
hvad x er. Hvis n = 1 er

det A1 = det(A)1 ,

selvfølgelig. Hvis n=2 er

det(A2 ) = det(A) det(A) = det(A)2 .

Hvis n=3 er A3 = AA2 så

det(A3 ) = det(A) det(A2 ) = det(A) det(A)2 = det(A)3 .


3.1. PRINCIPPET OM MATEMATISK INDUKTION 29

Hvis n=4 er A4 = AA3 så

det(A4 ) = det(A) det(A3 ) = det(A) det(A)3 = det(A)4 .

Hermed har vi set, at det(An ) = det(A)n , for n = 0, 1, 2, 3, 4.


Der ligger nu lige for at gætte på, at n ∈ N gælder

det(An ) = det(A)n . (3.1)

Men hvordan skal vi bevise det? Det kan vi gøre let og elegant ved hjælp af
induktion.

Bevis. Vi beviser (3.1) ved induktion. Vi har allerede vist basistilfældet:


Når n=0 erdet(A0 ) = 1 = det(A)0 . I induktionstrinnet skal vi antage at
for et givet n ≥ 0 gælder

det(An ) = det(A)n , (3.2)

og bruge det til at vise, der så også gælder

det(An+1 ) = det(A)n+1 ,

Og det kan vi gøre, fordi

det(An+1 ) = det(AAn ) = det(A) det(An )

Ifølge induktionsantagelsen (3.2)

det(A) det(An ) = det(A) det(A)n = det(A)n+1 .

hermed har vi fuldført induktionstrinnet. Det følger derfor af induktionsprin-


cippet, at (3.1) holder for alle n ∈ N. 
Vi tager lige et eksempel til. Bevis at for alle n∈N gælder

n
X (n + 1)n
k= .
2
k=0

Bevis. Vi viser ligningen ved induktion. I basistilfældet n = 0 er venstresiden


lig nul, og det er højresiden også. Antag derfor at for et vilkårligt n ∈ N
gælder
n
X (n + 1)n
k= .
2
k=0
30 KAPITEL 3. INDUKTIONSBEVISER

Vi har så

n+1
X n
X
k= k+n+1 og ifølge induktionsantagelsen
k=0 k=0
(n + 1)n
= +n+1 sætter på samme brøkstreg
2
2 · (n + 1) + (n + 1)n
= sætter udenfor parentes
2
(n + 1)(2 + n)
=
2
(n + 2)(n + 1)
= .
2
Hermed har vi fuldført induktionstrinnet. Ifølge induktionsprincippet er lig-
ning opfyldt for alle n ∈ N. 
Opgave 3.1 Hvad er et basistilfælde?

Opgave 3.2 Hvad er et induktionstrin?

Opgave 3.3 Hvad er en induktionsantagelse?

Opgave 3.4 Hvad er determinanten af


 n
1 2
?
0 1

Når man skal til at starte med at føre induktionsbeviser, er det en god
ide at nedskrive beviset efter en fast skabelon. I følgende tekst kan alt der er
skrevet med sort genbruges fra gang til gang, mens hvad der er skrevet med
blåt skal tilpasses den aktuelle situation.

Vi beviser P (n) ved hjælp af induktion. Basistilfældet svarer til P (n0 ).


Fordi argumenter gælder P (n0 ). Dette viser basistilfældet.
For at udføre induktionstrinnet antager at P (n) gælder for et vist n ≥ n0 .
Vi skal vise P (n + 1). Argumenter. Ifølge induktionsantagelsen gælder ere
argumenter. Det var det vi skulle vise.
Ifølge induktionsprincippet gælder ligningen/sætningen/resultatet for al-
le n ≥ n0 .

Det svære ved at gennemføre induktionsbeviset, er selvfølgeligt at nde


ud af hvad der skal stå i stedet for den blå tekst.
Lad os opskrive et bevis af Bernoullis ulighed ved hjælp af skabelonen.
Bernoullis ulighed er at

for alle x ≥ −1 og alle n∈N gælder (1 + x)n ≥ 1 + nx.

Her kommer beviset:


Bevis. Vi beviser uligheden ved hjælp af induktion. Basistilfældet svarer til
(1 + x)0 ≥ 1 + 0 · x
3.1. PRINCIPPET OM MATEMATISK INDUKTION 31

Fordi både venstre- og højresiden giver 1 gælder uligheden for n = 0.


Dette viser basistilfældet.
For at udføre induktionstrinnet antager at (1 + x)n ≥ 1 + nx gælder for
et vist n ≥ 0. Vi skal vise (1 + x)n+1
≥ 1 + (n + 1)x. Vi har (1 + x)n+1 =
(1 + x) · (1 + x) . Ifølge induktionsantagelsen gælder (1 + x)n ≥ 1 + nx, og
n

fordi vi har krævet at 1 + x ≥ 0, kan vi altså konkludere

(1 + x) · (1 + x)n ≥ (1 + x) · (1 + nx) .

Ganges parenteserne ud får vi

1 + nx + x + nx2 ≥ 1 + nx + x = 1 + (n + 1)x .

Derfor gælder

(1 + x)n+1 ≥ 1 + (n + 1)x.
Det var det vi skulle vise.
Ifølge induktionsprincippet gælder uligheden for alle n ≥ 0. 
Vi kan bruge induktion til at bevise mange andre ting end formler og
uligheder. Som et eksempel ser vi på solitaire spillet Hanois tårne. Hanois
tårne er et puslespil som foregår på et bræt med tre lodretstående pinde.
På den første pind ligger en stak ringe med aftagende radius (se Figur 3.1).
Formålet med spillet er at ytte stakken over på den tredje pind. Dette skal
gøres under hensynstagen til følgende regler:

ˆ Man må kun ytte en ring ad gangen.

ˆ Man kan kun ytte en ring, som ligger øverst i en stak.

ˆ En ring må ikke placeres på en mindre ring.

Figur 3.1: Hanois tårne.


32 KAPITEL 3. INDUKTIONSBEVISER

Med disse spilleregler kan man begynde at placere ringene på andre pinde,
men hvis der er mange ringe, er det ikke umiddelbart klart at man kan ytte
hele stakken over på den tredje pind.
Prøv at løse spillet. Kan man altid det? Vi vil bevise

Hanois tårne har altid en løsning.

Til at starte med omformulerer vi:

For alle n ∈ N med n ≥ 1 har Hanois tårne med n ringe en


løsning.

Hermed har vi bragt udsagnet på en form, der svarer til det der kan bevises
ved induktion.
Bevis. Vi benytter princippet om matematisk induktion.
Basistilfældet n=1 er enkelt. Den enlige ring kan yttes fra den første
pind til den tredje ved en enkel ytning.
Antag at vi kan løse spillet når der er n ringe, og betragt nu spillet med
n + 1 ringe. Ifølge induktionsantagelsen kan de n øverste ringe yttes til pind
3. Den (n + 1)'te ring er jo større end de andre, så de ytninger der skal til
for at ytte de n øverste ringe, vedbliver med at være lovlige. Der er ingen
forskel på pind 2 og pind 3 andet end nummereringen, så de n øverste ringe
kan også yttes over til pind 2. Vi kan nu ytte den største ring fra pind
1 over til pind 3. Igen ved hjælp af induktionsantagelsen kan vi ytte de n
ringe på pind 2 over til pind 3. Hermed har vi løst spillet i tilfældet, der er
n+1 ringe. 
Opgave 3.5 Lad f (n) være rekursivt deneret ved
(
0 for n = 0,
f (n) =
2f (n − 1) + 1 for n > 0.

Bevis ved hjælp af induktion at

f (n) = 2n − 1
for alle n ∈ N.
Vink: Det følger af den rekursive denition, at når n ≥ 0, så er
f (n + 1) = 2f (n) + 1.
Opgave 3.6 Hvad er der i vejen med følgende bevis for, at alle samlin-
ger af kugler har samme farve? Bevis føres ved induktion efter antallet
af kugler. Hvis der kun er en kugle i samlingen, så har de alle samme
farve. Antag nu at alle samlinger af n ≥ 1 kugler har samme farve, og
betragt en vilkårlig samling af n + 1 kugler. Tages en kugle ud, har
de resterende kugler samme farve per induktionshypotesen. Tages en
anden kugle ud, har de resterende kugler også samme farve. Derfor må
alle kuglerne have samme farve. QED.

Opgave 3.7 Følgende udsagn er tydeligvis ikke korrekt: Ethvert na-


turligt tal n opfylder n > 10. Ville påstanden i induktionsantagelsen
være korrekt? Hvad med basistilfældet?
3.1. PRINCIPPET OM MATEMATISK INDUKTION 33

Opgave 3.8 Udregn summen

n
X
(2k − 1),
k=1

for n = 0, 1, 2, 3. Find frem til en formel, og bevis den gælder for alle
n ∈ N.
Opgave 3.9 x er et skæringspunkt for linjerne L1 , L2 , . . . , Ln ,
Vi siger at
hvis mindst to af linjerne skærer hinanden i x.
P n−1
Vis at n forskellige linjer højst kan have k=1 k skæringspunkter.
Opgave 3.10 To matricer A, B ∈ Cm×m kaldes similære, hvis der
ndes en regulær matrix V ∈ Cm×m så

A = VBV−1 .

Når A og B er similære skriver man A ∼ B.


(a) Vis at hvis A∼B gælder for alle n ∈ N An ∼ Bn .
(b) Bagefter, betragt
 
0 1
A=
0 0
og konstruer et eksempel hvor A2 ∼ B2 , men hvor der ikke
gælder A ∼ B.
Ekstra opgaver (ikke del af pensum)
*Opgave 3.11 Betragt spillet Hanoi's Tårne fra teksten. Et træk
er at rykke én ring fra en pind til en anden. Hvor mange træk bruger
løsningen til Hanoi's Tårne der er beskrevet i teksten?
Vink: Kald antallet af træk forT (n) hvor n er antallet af ringe i
spillet. Opskriv en rekursionsformel for T (n). Genkender du den? Hvis
ikke, så udregn T (n) for et små værdier af n, gæt på en løsning og brug
induktion.

*Opgave 3.12 Vi kigger igen på Hanoi's Tårne, men laver nu regler-


ne lidt strammere end før: i et træk må man stadig kun lægge mindre
ringe ovenpå større, men nu må man heller ikke bevæge en ring direkte
fra den første pind til den sidste. Man må altså kun bevæge en ring
mellem en af yder-pindende og den midterste pind.
Find på en løsningsalgoritme til denne variant af Hanoi's Tårne.
Beskriv en rekursionsformel for antallet af træk den bruger. (OBS: Der
er ikke umiddelbart en lukket formel for denne rekursion).

*Opgave 3.13 Sætning 1.2 beskriver antallet af elementer i en fore-


ningsmængde af 2 eller 3 mængder ud fra antallet af elementer i diverse
fællesmængder. I denne opgave skal du bruge induktion til at bevi-
se den generelle formel, som undertiden kaldes inklusion-eksklusion-
princippet.
For mængder A1 , . . . , A n gælder:

X \
|A1 ∪ . . . ∪ An | = (−1)|S|−1 | As | (3.3)
S⊂{1,2,...,n} s∈S
34 KAPITEL 3. INDUKTIONSBEVISER

T
Her betyder s∈S As = As1 ∩ As2 . . . ∩ As|S| hvor S = {s1 , . . . , s|S| }
er alle elementerne i S . Summen går altså henover alle delmængder
S af mængden {1, 2, . . . , n}, og hvor hvert af dem kommer et bidrag,
positivt eller negativt, på antallet af elementer i fællesmængden af de
A∗ -mængder, der er indekseret af S.
(a) Vericér at Ligning (3.3) giver det samme som Sætning 1.2 for
n=2 og n = 3.
(b) Skriv Ligning (3.3) helt ud for n = 4.
(c) Brug induktion til at bevise Ligning (3.3). Hint: SkrivA1 ∪ A2 ∪
. . . ∪ An = Bn−1 ∪ An hvor Bn−1 = A1 ∪ . . . ∪ An−1 og brug
sætningen for n = 2. Brug dernæst at Bn−1 ∩ An = (A1 ∩ An ) ∪
(A2 ∩ An ) ∪ . . . ∪ (An−1 ∩ An ) og brug sætningen for n − 1 to
gange. Saml led ved at se på hvilke foreningsmængder der alt i
alt er repræsenteret i de forskellige summander.

*Opgave 3.14 Forestil dig en lang cirkulær bane, hvor der er lagt
n>0 brændstofdepoter ud. I depoterne er der i alt lagt præcis den
mængde brændstof ud, der skal til for en bestemt bil kan køre en
omgang på banen. Vis at der ndes et sted på banen, hvorfra bilen
kan starte og gennemføre en omgang. Antag at bilen starter med tom
tank, så den skal starte ved et af depoterne.
Vink: Hvis bilen er ved et depot der indholder nok brændstof til at
nå frem til næste depot, så er det ligesom tilfældet hvor al brændstoet
havde været samlet ved det første depot.
3.2. DEN STÆRKE VERSION AF PRINCIPPET OM INDUKTION 35

3.2 Den stærke version af princippet om induktion


Lad os vende tilbage til tankeeksperimentet med dominobrikkerne. Antag vi
ved at den første dominobrik falder som før. Antag ydermere at der for en
vilkårlig dominobrik gælder, hvis alle de foregående dominobrikker falder,
falder denne brik også. Hvilke brikker falder så?
Den første falder. Om den anden ved vi at alle de foregående er faldet,
(nemlig nummer et), så den falder også. Om den tredje ved vi at nummer 1
og nummer 2 falder, så nummer 3 falder også. Og så videre og så videre. De
falder alle.
Det ledere os frem til følgende stærkere version af princippet om mate-
matisk induktion.

Matematisk Induktion (stærk form): Lad P (n) være et udsagn om


de naturlige tal. Hvis der gælder

1. P (n0 ) for et n0 ∈ N, og

2. for alle n ≥ n0

(∀k ∈ {n0 , n0 + 1, . . . , n}P (k)) ⇒ P (n + 1)

så gælder P (n) for alle n ≥ n0 .

Basistilfældet i den stærke version er det samme som i den svage version.
Induktionstrinnet er anderledes. Når vi skal vise at P (n + 1) holder, har vi
ikke kun lov til at antage at P (n). Vi har lov til at antage at P (k) gælder for
alle k mellem n0 og n. Det vil sige at vi i induktionstrinnet har en stærkere
induktionsantagelse at gøre godt med, når vi skal vise P (n + 1).
Vi vil benytte matematisk induktion til at bevise at ethvert n≥2 har
en primtalsfaktorisering. At n har en primtalsfaktorisering vil sige at n kan
skrives som et produkt af et eller ere primtal. For eksempel er 3 et primtal,
så det er produktet af et primtal nemlig 3. Tallet 9 kan skrives som 3 · 3, så
det er et produkt af to primtal.
Før vi beviser noget, opfrisker vi lige hvad et primtal er. Man siger at
k ∈ N går op i n ∈ N hvis der ndes q ∈ N således at n = q · k . En kort måde
at skrive k går op i n er k | n. For eksempel gælder 7 | 14 fordi 14 = 2 · 7.
Der gælder til gengæld ikke 7 | 15.
Et heltal n ≥ 2 kaldes et primtal, hvis de to eneste naturlige tal der
går op i n, er 1 og n selv. Et heltal n ≥ 2 som ikke er et primtal kaldes et
sammensat tal.
Lad os nu bevise at for alle heltal n≥2 kan skrives som et produkt af
et eller ere primtal. Vi beviser dette ved induktion.
Bevis. Basistilfældet er n = 2. Da 2 er et primtal, har vi allerede skrevet
det som produktet af det ene primtal 2.
36 KAPITEL 3. INDUKTIONSBEVISER

Induktionstrin: Antag nu at alle heltal mellem 2 og n inklusive har en


primtalsfaktorisering. Betragt n + 1. Enten er det et primtal n+1 = p
og vi er færdige. Eller også er det ikke et primtal, og så kan vi skrive det
som n + 1 = n1 · n2 hvor n1 ≥ 2 og n2 ≥ 2. Da n1 ≥ 2 må n2 være
mindre end eller lig n, så 2 ≤ n2 ≤ n. Tilsvarende må 2 ≤ n1 ≤ n. Ifølge
induktionsantagelsen kan vi skrive både n1 og n2 som produkt af primtal.
Derfor kan vi også skrive n + 1 = n1 · n2 som produkt af primtal, nemlig det
samlede produkt af primtallene vi gangede sammen for at få n1 , og dem vi
gangede sammen for at få n2 . 
Opgave 3.15 Fibonaccitallene er rekursivt deneret ved f (0) = f (1) =
1, og f (n + 1) = f (n) + f (n − 1) for n = 1, 2, . . . Bevis at f (n) ≤ 2n
for alle n = 0, 1, 2, . . .
n−1
Vink: Da 2 < 2n er 2n + 2n−1 < 2n + 2n = 2n+1 .
Det viser sig at induktionsprincippet i den stærke form, følger af induk-
tionsprincippet i den svage form. Følgende bevis er ikke pensum, og kan
springes over.
Bevis. Lad P (n) være et udsagn for alle n ≥ n0 . Lad Q(n) være udsagnet

∀k ∈ {n0 , n0 + 1, . . . , n}P (k)


Der gælder at hvis Q(n) er opfyldt for alle n ≥ n0 , så er også P (n) opfyldt
for alle n ≥ n0 . Q(n) er opfyldt for alle n ≥ n0 . Lad
For at se det antag at
n ≥ n0 være vilkårlig. Da Q(n) er opfyldt, gælder P (k) er opfyldt for alle k
med n0 ≤ k ≤ n. Specielt må P (k) være opfyldt for k = n. Det vil sige P (n)
gælder. Da n ≥ n0 var vilkårlig, har vi vist det ønskede.
Det følger, at for at bevise P (n) er opfyldt for alle n ≥ n0 , er det nok
at bevise at Q(n) gælder for alle n ≥ n0 . Hvad skal der til for at bevise
at Q(n) gælder for alle n ≥ n0 ved induktion? Basistilfældet er at Q(n0 )
gælder. Udsagnet Q(n0 ) er at P (k) er sandt for alle k med n0 ≤ k ≤ n0 .
Altså Q(n0 ) = P (n0 ). Så det at bevise Q(n0 ) er det samme som at bevise
P (n0 ).
Induktionstrinnet er at bevise at for alle n ≥ n0 gælder Q(n) ⇒ Q(n+1).
Altså at P (k) er opfyldt for k med n0 ≤ k ≤ n skal medføre at P (k) er opfyldt
for k med n0 ≤ k ≤ n + 1. Men hvis P (k) er opfyldt for k med n0 ≤ k ≤ n,
så er det også opfyldt for k mellem n0 ≤ k ≤ n + 1 hvis og kun hvis P (k)
er opfyldt for k = n + 1. Altså hvis og kun hvis P (n + 1) er opfyldt. Så det
at vise Q(n) medfører Q(n + 1) er ækvivalent med at vise, at Q(n) medfører
P (n + 1).
Vi opsumerer. Vi kan vise at P (n) er sandt for n ≥ n0 hvis vi kan bevise
at Q(n) er sandt for n ≥ n0 . Vi kan bevise at Q(n) er opfyldt for n ≥ n0
hvis vi kan fastslå to ting.

ˆ P (n0 ) er opfyldt.

ˆ Q(n) ⇒ P (n + 1) for alle n ≥ n0 .


Men dette er præcist induktionsprincippet i den stærke version. 
Kapitel 4

Euklids algoritme

4.1 Største fælles divisor


Euklids algoritme er en eektiv algoritme til at nde største fælles divisor
af to heltal. Algoritmen vil vise sig nyttig, når vi i næste kapitel skal til
at løse kongruensligninger. Senere skal vi se at det ikke bare er to heltal
algoritmen kan bruges på, men også to polynomier. Og derfor er algoritmen
også interessant i forbindelse med at løse ligninger der involverer polynomier.
Men først repeterer vi noget grundlæggende med hensyn til division.
Først skal vi have fat i begreberne divisor, kvotient og rest. Tag for ek-
sempel 14. Tallet kan skrives som 7 · 2. Det betyder at 7 går op 14, hvilket
også siges at 7 er en divisor i 14. Vi skriver også  7 | 14. Man siger også, at
14 er et multiplum af 7.
Vi har set at 7 er en divisor i 14, men der gælder ikke at 7 er en divisor
i 15. Vi har 15 = 2 · 7 + 1. Heltalskvotienten af 15 delt med 7 er 2, og resten
ved denne division er 1. Så 7 er ikke en af 15's divisorer, 7 går ikke op i 15.
Formelt er kvotient og rest deneret ved følgende sætning.

Sætning 4.1
Lad n, m ∈ Z være givet, med m 6= 0. Der ndes to entydigt bestemte
tal q, r ∈ Z der opfylder

n = qm + r, og 0 ≤ r < |m|.

Heltallet q og r kaldes henholdsvis kvotienten og resten ved division af


n med m.

Der ndes en snedig algoritme der tillader hurtig udregning af kvotient


og rest, som du nok allerede kender fra skolen. Lad os for eksempel dividere
18 op 384. Først skriver vi regnestykket op.

18 384

37
38 KAPITEL 4. EUKLIDS ALGORITME

De to første cifre af 384 er 38, og 18 går 2 gange op i 38. Derfor skriver vi 2


og trækker 2 · 18 = 36 fra 38.
2
18 384
−3 6
2
Vi trækker 4-tallet ned, og dividerer 18 op i 24. Det kan vi én gang og
resultatet bliver som følger.

2 1 ← kvotient
18 384
− 36
24
−18
6 ← rest
Resultatet bliver at 384 delt med 18 er 21 med 6 til rest.
Som nævnt er en divisor i n et tal d der går op i n, altså et tal hvor resten
giver 0 ved division af n med d.
Denition 4.2
Et tal d∈Z kaldes en divisor i n ∈ Z, hvis der ndes q ∈ Z således at

n = qd.

Hvis d er en divisor i n, siger man, at n er et multiplum af d, og vi skriver


d | n.

Opgave 4.1 Find de positive divisorer i n = 18.


Opgave 4.2 Hvad er kvotient og rest ved division af 30 med 7?

Denition 4.3
Mængden af multipla af d∈Z (altså de tal som d går op i) betegner vi
med
dZ.

Ifølge denitionen er altså dZ = {. . . , −2d, −d, 0, d, 2, . . .} = {kd | k ∈


Z}.
Bemærk at hvis d er en divisor i n, så er −d det også, og tallet n har
samme divisorer som −n. Tallet 1 har kun divisorerne 1 og −1. Til gengæld
har 0 ethvert d∈Z som divisor.
Opgave 4.3 Find de positive divisorer i n = 12. Hvilke positive di-
visorer har n = 12 og n = 18 til fælles? Hvilken af de fælles divisorer
er størst?

Den største fælles divisor er nyttig i mange sammenhænge. For at være


sikre på at der ikke er misforståelser denerer vi formelt:
4.1. STØRSTE FÆLLES DIVISOR 39

Denition 4.4
For n, m ∈ Z med n 6= 0 ∨ m 6= 0 er en fælles divisor et tal d som både
er divisor i n og m. Den største af de fælles divisorer betegnes sfd(n, m)
og kaldes største fælles divisor af n, m. Vi vedtager at sfd(0, 0) = 0.

Bemærk at sfd(n, m) = sfd(|n|, |m|). Desuden er sfd(n, m) = sfd(m, n),


og sfd(n, 0) = sfd(0, n) = |n|.
Der ndes en alternativ karaterisering af mindste fælles divisor. Vi ar-
bejder os frem mod den ved at se på møntvekslingsproblemer.

Eksempel 4.1 Antag at der kun fandtes femmere, og ingen andre


betalingsmuligheder. Hvilke beløb ville så kunne udveksles mellem to
personer? Da en person kun kan give et helt antal femmere til en
anden person, så er det beløb der kan skrives på formen 5n, hvor
n ∈ Z. Mængden af beløb der kan udveksles er altså 5Z.
Hvis vi tager et beløb n der kan udveksles med femmere (altså det er
deleligt med 5), så kan kn også udveksles, for alle k ∈ Z, man skal bare
betale med k gange så mange femmere. Der gælder også at hvis n ∈ 5Z og
m ∈ 5Z, så er også n + m ∈ 5Z. Det vil vise sig nyttigt at enhver mængde
med disse to egenskaber, er på formen dZ for et d ∈ Z.

Sætning 4.5
Lad M ⊆Z være en mængde der ikke er tom. Hvis M har følgende to
egenskaber:

ˆ For alle n∈M og alle k∈Z gælder kn ∈ M ; og

ˆ for alle n∈M og m∈M gælder n + m ∈ M,

så ndes der et entydigt bestemt d≥0 således at M = dZ.

n ∈ M , så bliver
Den første egenskab i sætningen siger, at tager man et tal
man i M k . Den anden egenskab siger,
når man ganger med et vilkårligt heltal
at hvis man lægger to tal i M sammen, så ligger summen også i M .
Bevis. Først viser vi at d ndes så M = dZ. Hvis M = {0} kan vi tage
d = 0. Ellers indeholder M positive elementer, for M må indeholde mindst
et x 6= 0, og første egenskab for M viser, at så må −1x = −x også være med
i M . Derfor ndes et mindste positivt element d ∈ M . Da d ∈ M gælder
kd ∈ M for alle k ∈ Z ifølge første egenskab for M . Det viser at dZ ⊆ M .
Vi vil nu vise at der også gælder M ⊆ dZ. Hvis det ikke var tilfældet,
ville der ndes et heltal u ∈ M som ikke var deleligt med d. Vi kan skrive
u = dq + r hvor resten r opfylder 1 ≤ r < d. Men da r = u − dq , og −dq ∈ M
ifølge egenskab 1, så vil r = u−dq også være i M ifølge egenskab 2. Men dette
giver en modstrid, fordi 1 ≤ r < d, og d var det mindste positive element i
M . Derfor må gælde at M ⊆ dZ, og vi kan konkludere at M = dZ.
40 KAPITEL 4. EUKLIDS ALGORITME

Vi har bevist, at der altid ndes et d > 0 så M = dZ, og mangler at


bevise at der kun er et sådan tal. Antag der ndes et andet sådant tal d0 > 0.
Så gælder dZ = d0 Z. Da
d ∈ dZ = d0 Z, må gælde d0 | d. På samme måde kan
0 0
vi vise at d | d . Og da både d > 0 og d > 0 må gælde d = d .
0 
Opgave 4.4 Vis at hvis n ∈ 5Z og m ∈ 5Z så gælder n + m ∈ 5Z.
Eksempel 4.2 Antag vi kun har to typer mønter til rådighed. Mønter
til en værdi af12 kroner, og mønter til en værdi af 18 kroner. Ved at
udveksle 12-kronersmønter kan vi betale et beløb på formen 12n for
alle n ∈ Z. Ved at udveksle 18-kronersmønter kan vi betale et beløb på
formen 18m for alle m ∈ Z. Siden vi kan bruge både 12-kronersmønter
og 18-kronersmønter, kan vi betale beløb af formen

12n + 18m, n, m ∈ Z.

Denition 4.6
For a, b ∈ Z sætter vi

aZ + bZ = {na + mb | n, m ∈ Z}.

Opgave 4.5 Med den indførte symbolik kan vi altså betale beløb
i mængden M = 12Z + 18Z hvis vi har 12-kronersmønter og 18-
kronersmønter til rådighed.

(a) Vis at M opfylder de to krav i Sætning 4.5, og konkluder at


12Z + 18Z = dZ for et tal d ∈ Z.
Man kan tolke resultatet som at de beløb der kan betales hvis der kun
fandtes 12-kronersmønter og 18-kronersmønter, svarer til de beløb man
kan betale, hvis der kun fandtes en d-kronersmønt.
(b) Bestem d.
Her kommer en alternativ karakterisering af største fælles divisor.

Sætning 4.7
Lad a, b ∈ Z. Så ndes et entydigt bestemt d∈N således at

aZ + bZ = dZ.

Der gælder d = sfd(a, b).

Sætning 4.7 kan bevises ved bruge Sætning 4.5. Det gøres i opgave 4.12.
Følgende resultat kan beviset let ud fra Sætning 4.7. Derfor kalder man det
et korollar, der kommer fra det latinske ord for gave.

Korollar 4.8
Lad a, b ∈ Z. Der ndes s, t ∈ Z så sfd(a, b) = sa + tb.
4.2. EUKLIDS ALGORITME 41

Den næste opgave går ud på at bruge Sætning 4.7 til at bevise korollaret.

Opgave 4.6 Lad a, b ∈ Z, og sæt d = sfd(a, b).


ˆ Forklar hvorfor d ∈ dZ.
ˆ Forklar hvorfor det betyder at d ∈ aZ + bZ.
ˆ Forklar hvorfor man kan konkludere at der ndes s, t ∈ Z så
sa + tb = sfd(a, b).

4.2 Euklids algoritme


Du har måske beregnet sfd(m, n) ved at primtalsfaktorisere n og m og så
gange de fælles faktorer sammen. Det virker nt for små tal, men det er tungt
at gøre for større tal. Faktisk er der krypteringssystemer der bygger på, at
det er vanskelligt at faktorisere store heltal. Euklids algoritme er en eektiv
algoritme til at beregne sfd(a, b). Før vi beskriver algoritmen generelt, viser
vi hvordan den virker i et specikt tilfælde.

Eksempel 4.3 Antag at har to typer mønter. En mønt af værdi18


og en mønt af værdi 12. Bemærk at 18 − 12 = 6, så vi kan lave en
virtuel mønt af værdi 6 ved at betale med 18 og få 12 tilbage. Så alt
hvad man kan betale med 12-kronsmønter og 6-kronsmønter, kan man
også betale med 18-kronsmønter og 12-kronsmønter. Omvendt, hvis vi
har 12-kronsmønter og 6-kronsmønter, kan vi også lave en virtuel 18-
kronsmønt, nemlig ved at bruge en 12-kronsmønt og en 6-kronsmønt.
Det kan vi skrive formelt som

18Z + 12Z = 12Z + 6Z.

Hvis vi har en 12-kronsmønt 6-kronsmønt kan vi lave en


og en
virtuel 0-krons 12-kronsmønten og få to 6-
mønt ved at betale med
kronsmønter tilbage. Derfor kan alt hvad der kan betales med 6 og
0-kronersmønter også betales med 12 og 6 kroners mønter. Omvendt,
hvis vi har 0-kronsmønter og 6-kronsmønter, kan vi lave en virtuel 12-
kronsmønt ved at bruge to 6 kronsmønter. Så alt hvad der kan betales
med 12 og 6-kronsmønter, kan også betales med 6- og 0-kronsmønter.
I symboler
12Z + 6Z = 6Z + 0Z.
Det er også klart at 6Z + 0Z = 6Z. Derfor gælder

18Z + 12Z = 6Z.

Det følger af Sætning 4.7, at sfd(18, 12) = 6.


I eksemplet så vi at 18Z + 12Z = 12Z + 6Z, fordi 6 = 18 − 12. Følgende
resultat generaliserer dette.

Lemma 4.9
Lad a, b ∈ Z være givet, og q ∈ Z være vilkårlig. Sæt c = a − qb. Så
42 KAPITEL 4. EUKLIDS ALGORITME

gælder
aZ + bZ = bZ + cZ.

Bevis. aZ + bZ ⊆ bZ + cZ og aZ + bZ ⊇ bZ + cZ.
Vi viser at
x ∈ aZ + bZ være vilkårlig. Der ndes r, s ∈ Z så x = ra + sb.
Lad Da
c = a − qb gælder a = c + qb. Derfor er

x = r(c + qb) + sb = rc + rqb + sb = (rq + s)b + rc,

og der gælder at x ∈ bZ + cZ. Det viser at aZ + bZ ⊆ bZ + cZ.


Lad på den anden side at x ∈ bZ + cZ være vilkårlig. Vi kan skrive
x = rb + sc, for nogle heltal r, s ∈ Z. Da c = a − qb gælder

x = rb + s(a − qb) = rb + sa − sqb = sa + (r − sq)b.

Derfor er x ∈ aZ + bZ. Vi kan konkludere at aZ + bZ ⊆ bZ + cZ. 


Eksempel 4.4 Vi kan bruge lemmaet til at bestemme sfd(34, 8). Der
gælder at 34Z + 8Z = 8Z + cZ, når c = 34 − 8q uanset hvad vi vælger
q til. Vi vælger q således at c bliver positiv og så lille som muligt. Det
opnår vi ved at vælge q til heltalskvotienten ved division af 34 med 8.
Vi har 34 = 4 · 8 + 2, så q = 4. Med q = 4 så bliver c = 34 − 4 · 8 = 2
altså resten ved divisionen.
Ifølge lemmaet gælder

34Z + 8Z = 8Z + 2Z.

Nu kigger vi på 8Z+2Z, og vil bruge lemmaet igen. Da 8 = 4·2+0,


kan vi vælge q=4 c = 0. Derfor viser lemmaet at
og får så

8Z + 2Z = 2Z + 0Z.

Da 2Z + 0Z = 2Z gælder

34Z + 8Z = 2Z.

Ifølge Sætning 4.7 gælder sfd(34, 8) = 2.


Opgave 4.7 Forklar hvorfor der gælder

384Z + 18Z = 18Z + 6Z = 6Z + 0Z = 6Z.

Angiv herefter sfd(384, 18).


Sætr0 = 34 og r1 = 8. Eksemplet viser at hvis vi sætter r2 til resten ved
division af r0 med r1 , altså r2 = 2, og r3 til resten af division af r1 = 8 med
r2 = 2, altså r3 = 0, så gælder r0 Z + r1 Z = rk Z + rk+1 Z for k = 0, 1, 2. Og da
r3 = 0, kan vi bruge dette og Sætning 4.7 til at konkludere at sfd(r0 , r1 ) = r2 .
Det kan vi gøre helt generelt, og vi kommer frem til Euklids algoritme.

Euklids algoritme. Input til algoritmen er to heltal a, b. Vi kan antage


at a ≥ b ≥ 0. Algoritmen beregner en række tal r0 , r1 , . . . , rn og stopper
4.2. EUKLIDS ALGORITME 43

når rn = 0. Først sættes r0 = a og r1 = b. Dernæst sættes rk til resten ved


division af rk−2 med rk−1 , dvs. vi beregner qk og rk sådan at

rk−2 = qk rk−1 + rk ,
og 0 ≤ rk < rk−1 . Vi gør dette for k = 2, 3, . . . , n indtil rn = 0. Der gælder
så at sfd(a, b) er lig det næstsidst beregnede tal rn−1 .

Lad os som eksempel beregne sfd(384, 18).

k rk qk forklaring

0 384 - r0 er første input


1 18 - r1 er andet input
2 6 21 da 384 = 21 · 18 + 6
3 0 3 da 18 = 3 · 6 + 0

Vi kan aæse af skemaet at sfd(384, 18) = 6.


Euklids algoritme har en variant, der er meget nyttig. Det følger af Kor-
ollar 4.8 (Opgave 4.6) at der ndes s, t ∈ Z således at sfd(a, b) = sa + tb. Vi
kan udvide algoritmen, så den udfører det nødvendige bogholderiarbejde til
at vi kan bestemme konstanterne r og s.

Euklids udvidede algoritme. Input til algoritmen er to heltal a, b. Vi


kan antage at a ≥ b ≥ 0. Algoritmen beregner en række tripler (r0 , s0 , t0 ),
(r1 , s1 , t1 ), . . ., (rn , tn , sn ) og stopper når rn = 0. Først sættes (r0 , s0 , t0 ) =
(a, 1, 0) og (r1 , s1 , t1 ) = (b, 0, 1). Dernæst sættes
(rk , sk , tk ) = (rk−2 , sk−2 , tk−2 ) − qk (rk−1 , sk−1 , tk−1 )
hvor qk er heltalskvotienten ved division af rk−2 med rk−1 . Vi gør dette for
k = 2, 3, . . . , n indtil rn = 0. Bemærk at qk normalt ikke gemmes, men den
er brugbar at navngive for at analysere algoritmen. Der gælder så

sfd(a, b) = rn−1 = sn−1 a + tn−1 b.


Lad os igen beregne sfd(384, 18), men denne gang med Euklids udvidede
algoritme.

k rk qk sk tk forklaring

0 384 - 1 0
1 18 - 0 1
2 6 21 1 -21 da 384 = 21 · 18 + 6
3 0 3 -3 64 da 18 = 3 · 6 + 0

Vi kan aæse af skemaet at sfd(384, 18) = 6 = 1 · 384 − 21 · 18.


Opgave 4.8 Euklids algoritme anvendt på 730 og 30 giver tallene
730, 30, 10, 0. Hvad kan man konkludere?
44 KAPITEL 4. EUKLIDS ALGORITME

4.3 Mindste fælles multiplum


Lad a, b ∈ Z. Mængden aZ a, mens mængden
er mængden af multipla af
bZ er mængden af multipla af b.aZ ∩ bZ er altså mængden
Fællesmængden
af fælles multipla af a og b. Man kan se at mængderne aZ og bZ opfylder
kravene i Sætning 4.5, og det følger at det gør aZ ∩ bZ også. Sætning 4.5 har
derfor følgende konsekvens.

Sætning 4.10
Lad a, b ∈ Z. Der ndes et entydigt bestemt m ≥ 0, således at

aZ ∩ bZ = mZ.

Denition 4.11
Tallet m givet af Sætning 4.10 kaldes mindste fælles multiplum af a, b,
og betegnes med mfm(a, b).

Vi kan bestemme mfm(a, b) ved hjælp af Euklids algoritme. Der gælder


nemlig

Sætning 4.12
Lad a, b ∈ N. Der gælder

ab = sfd(a, b) mfm(a, b).

4.4 Flere opgaver


Opgave 4.9
(a) Find vha Euklids algoritme heltal s og t således at s·221+t·357 =
sfd(221, 357).
(b) Kan brøken 221/357 forkortes?

Opgave 4.10 Bestem mfm(384, 18).


Opgave 4.11 Lad u, v og w være hele tal. Antag at w | u·v og at
sfd(u, w) = 1. Formålet med opgaven er at vise at w | v.
(a) Brug antagelsen sfd(u, w) = 1, til at vise at der ndes heltal s
og t således at
s · u · v + t · w · v = v.

(b) Vis nu ved hjælp af det ovenstående at w | v.

Opgave 4.12 I denne opgave konstruerer du et bevis for Sætning 4.7.


Lad a, b ∈ Z, og sæt M = aZ + bZ.
(a) Vis at hvis m∈M så gælder for alle k ∈ Z, at km ∈ M .
4.5. EKSTRA-OPGAVER (IKKE DEL AF PENSUM) 45

(b) Vis at hvis m1 ∈ M og m2 ∈ M så gælder m1 + m2 ∈ M .


(c) Brug Sætning 4.5 til at slutte aZ + bZ = dZ for et d ∈ N.
Hermed er første halvdel af sætningen vist, og du mangler bare at
vise at d = sfd(a, b). Siden d ∈ dZ = aZ + bZ ndes der s, t ∈ Z så
d = sa + tb. Sæt c = sfd(a, b)
(d) Brug at d = sa + tb til at vise at c | d, og brug dette til at vise
c ≤ d.
(e) Vis at d er en fælles divisor for a og b, altså at d|a og d | b.
(f ) Forklar hvorfor der må gælde at d=c altså d = sfd(a, b).
Hermed er Sætning 4.7 bevist.

4.5 Ekstra-opgaver (ikke del af pensum)


*Opgave 4.13 Fibonacci-tallene husker vi er deneret rekursivt ved

 1 hvis n = 0,
F (n) := 1 hvis n = 1,
F (n − 1) + F (n − 2) hvis n ≥ 2.

(a) Vis vha. induktion at sfd(F (n − 1), F (n)) = 1 for n ∈ N − {0}.


(b) Vis at beregning af sfd(F (n−1), F (n)) for givet n er worst-case
for Euklids algoritme, dvs. for tal i samme størrelsesorden, så
tager Euklids algoritme est iterationer (her menes den variant
af Euklids algoritme der bruger division.).

(Vink: Det værste tilfælde for Euklids algoritme er, at qi = 1 for


alle kvotienterne. Udtryk r0 ud fra r1 og r2 , dernæst r1 ud fra
r2 og r3 , osv.)

*Opgave 4.14 Lad n, m ∈ Z. Euklids udvidede algoritme nder hel-


tal s og t således at sn + tm = d = sfd(n, m).
(a) For givet k ∈ Z, Karakterisér hvornår ligningen xn + ym = k har
nogen heltallige løsninger (x, y), og brug Euklids udvidede algo-
ritme til at nde en løsning. Dette kaldes en lineær Diophantisk
ligning.

(b) Beskriv alle løsninger (x, y) ∈ Z2 til ligningen xn + ym = 0.


2
(c) Beskriv nu alle løsninger (x, y) ∈ Z til ligningen xn + ym = k .
(d) Find den mindste løsning til ligningen x · 21 + y · 51 = 12, hvor
mindst betyder at |x| + |y| skal minimeres.

*Opgave 4.15 I denne opgave vil vi bevise Den fundamentale


sætning i aritmetik, nemlig unik primtalsfaktorisering. Nærmere
bestemt: hvis n∈N så er der netop én måde at skrive

n = p1 · p2 · . . . · pk ,

hvor p1 , p2 , . . . , pk er primtal sådan at p1 ≤ p2 ≤ . . . ≤ pk .


Her er de skridt vi vil tage:
46 KAPITEL 4. EUKLIDS ALGORITME

(a) Læs og forstå beviset for eksistensen af primtalsfaktorisering i


Sektion 3.2.

(b) Brug Opgave 4.11 til at bevise følgende egenskab ved primtal:
Lad a, b ∈ N og lad p være et primtal sådan at p | ab; så gælder
enten p | a eller p | b.
(c) Bevis unik primtalsfaktorisering. (Vink: Antag at det ikke holder.
Så er der et mindste tal n der har mindst to primtalsfaktorise-
ringer. Skriv disse op og brug foregående delopgave til at vise en
modstrid.)

*Opgave 4.16 Denne opgave viser hvorfor Euklids udvidede algorit-


me nder tal s, t så sfd(a, b) = sa + tb. Lad a ≥ b ≥ 0 være givet, og
dener triplerne (rk , sk , tk ) som i Euklids udvidede algoritme.
(a) Vis at r0 = s0 a + t0 b
(b) Vis at r1 = s1 a + t1 b
(c) Vis at hvis rk−2 = sk−2 a + tk−2 b og rk−1 = sk−1 a + tk−1 b, og vi
sætter

(rk , sk , tk ) = (rk−2 − qrk−1 , sk−2 − qsk−1 , tk−2 − qtk−1 )

for vilkårligt q ∈ Z, så gælder

rk = sk a + tk b

(d) Forklar hvorfor (a), (b) og (c) medfører at

rk = sk a + tk b

for alle k = 0, 1, 2, . . . , n.
Kapitel 5

Moduloregning
Dette kapitel handler om moduloregning. Den spiller en vigtig og grundlæg-
gende rolle i mange sammenhænge. For at kunne lave statistisk simulering er
det vigtig at kunne generere tal, der opfører sig ligesom tilfældige tal. Sådan-
ne pseudotilfældige tal kan laves ved hjælp af moduloregning. I kryptologien
er det at lægge sammen og gange modulo n, mere forekommende end blot
at lægge sammen og gange ganske almindeligt. Moduloregning er således en
basal færdighed.

5.1 Kongruenser
Forestil dig at at vi har et hjul med 8 felter, og en pil
der peger på et felt. Se billedet til højre. Hvis vi nu
snurrer hjulet, således at det drejer a felter, peger pilen
så på et felt, A. Hvis vi i stedet snurrer hjulet, så det
drejer b felter, peger på på et felt B. Hvis A og B er
det samme felt, så siger man at a og b er kongruente
modulo 8, og man skriver a ≡ b (mod 8). Hvis vi for
eksempel drejer hjulet 7 felter med uret, eller −1 felter
med uret så peger pilen i begge tilfælde på det røde felt. Det betyder at
7 ≡ −1 (mod 8). En hel omgang svarer til 8 felter, og derfor gælder a ≡ b
(mod 8), hvis og kun hvis a = b + 8k for et k ∈ Z, eller ækvivalent at 8 går
op i b − a.
Vi kan generalisere udtrykket til hjul med n felter, hvor n er et positivt
heltal. Denne generalisering er indeholdt i følgende denition.

Denition 5.1
Ladn være et positivt heltal, og a, b ∈ Z. Man siger a og b er kongruente
modulo n, og skriver
a ≡ b (mod n),
hvis n | (a − b). Udsagnet a ≡ b (mod n) kaldes en kongruens, og n
kaldes i denne sammenhæng modulus.

47
48 KAPITEL 5. MODULOREGNING

Opgave 5.1 Afgør hvilke af følgende udsagn svarer til at a ≡ b


(mod n).
ˆ a − b = qn for et q ∈ Z,
ˆ a − b ∈ nZ,
ˆ n | (a − b),
ˆ (a − b) | n.
Opgave 5.2 Afgør hvilke x ∈ {−2, 127, 219} der opfylder

x ≡ 15 (mod 17).

Det viser sig at symbolet ≡ har en række egenskaber til fælles med det
almindelige lighedstegn.

Lemma 5.2
Lad a og b være heltal og n et positivt naturligt tal. Så gælder

1. Heltallet a er kongruent med sig selv: a ≡ a (mod n).

2. Hvis a ≡ b (mod n), så gælder b ≡ a (mod n).

3. Hvis a ≡ b (mod n) og b ≡ c (mod n), så gælder a ≡ c (mod n).

Bevis.
1. Da a − a = 0 = 0 · n, gælder a ≡ a (mod n) ifølge Denition 5.1.

2. Hvis n går op i a − b, så vil det også gå op i −(a − b) = b − a. Derfor,


hvis a ≡ b (mod n), så gælder b ≡ a (mod n).
3. Fra antagelserne a ≡ b (mod n) og b ≡ c (mod n), ses at n går op i
a−b og b − c. Men så vil n også gå op i deres sum (a − b) + (b − c),
som er lig med a − c. Derfor gælder a ≡ c (mod n). 
Vi kan visualisere kongruenser ved hjælp af en tabel:

0 + 7Z 1 + 7Z 2 + 7Z 3 + 7Z 4 + 7Z 5 + 7Z 6 + 7Z
. . . . . . .
. . . . . . .
. . . . . . .
−14 −13 −12 −11 −10 −9 −8
−7 −6 −5 −4 −3 −2 −1
0 1 2 3 4 5 6
7 8 9 10 11 12 13
. . . . . . .
. . . . . . .
. . . . . . .

En søjle i tabellen svarer til alle de tal der er kongruente med hinanden
modulo 7. Sådanne talmængder kaldes restklasser. Nogle bruger også beteg-
nelsen sideklasser. Regner vi modulo 7 er der altså 7 forskellige restklasser.
Den formelle denition af restklasse er som følger.
5.1. KONGRUENSER 49

Denition 5.3
Lad n være et positivt heltal, og k ∈ Z. Tallene der er kongruente med
k, altså løsningsmængden til

x≡k (mod n)

kaldes en restklasse og betegnes med

k + nZ

Vi benytter altså symbolet k + nZ til at betegne mængden

{. . . , k − 2n, k − n, k, k + n, k + 2n, . . .}

Opgave 5.3 Gælder 101 + 2Z = 1 + 2Z? Mere generelt, gælder k+


nZ = r + nZ, når r er resten ved division af k med n?
De følgende regneregler viser, at vi kan manipulere med kongruenser, på
samme måde som vi kan manipulere med ligninger.

Lemma 5.4
Lad a, b og c være heltal og n et positivt naturligt tal. Så gælder

1. At a ≡ b (mod n), er ækvivalent med a + c ≡ b + c (mod n),

2. Hvis a ≡ b (mod n), så gælder a · c ≡ b · c (mod n).

Lemmaet betyder, at hvis vi tager to tal a, a0 fra en søjle A i Tabel ??,


0
og to tal b, b fra en søjle B i guren, så ligger a + b i den samme søjle som
a + b . Der gælder også, at produktet ab ligger i samme søjle som a0 b0 . Dette
0 0

antyder, at vi kan indføre en måde at addere og multiplicere søjler, altså


indføre regneoperationer på restklasserne. Dette er en frugtbar ide, som vi
dog ikke udfolde her. I stedet går vi i kast med at bevise Lemma 5.4.
Bevis.
1. Det er nok at vise at a ≡ b (mod n) ⇒ a+c ≡ b+c (mod n), for ved at
a+c ≡ b+c (mod n) ⇒ a ≡ b (mod n),
bruge denne regel, til at slutte
ved at lægge −c til på begge sider af kongruenstegnet. Hvis n går op i
a−b, så vil det også gå op i (a+c)−(b+c), fordi (a+c)−(b+c) = a−b.
Derfor, hvis a ≡ b (mod n), så gælder også a + c ≡ b + c (mod n).

2. Hvis n går op i a − b, så vil det også gå op i a · c − b · c, fordi a · c − b · c =


(a − b) · c. Derfor, hvis a ≡ b (mod n), så gælder også a · c ≡ b · c
(mod n). 

Vi slutter med et eksempel, der viser hvordan de to lemmaer kan bruges


i praksis til at regne med kongruenser.
50 KAPITEL 5. MODULOREGNING

Eksempel 5.1 Lad os antage, at vi gerne vil beregne 5a + b modulo


7, når vi ved at a ≡ 5 (mod 7) og b ≡ 3 (mod 7). Vi opskriver

5a + b ≡ 5a + 3 (mod 7) Ved brug af Lemma 5.4, 1.

≡5·5+3 (mod 7) Ved brug af Lemma 5.4, 2.

≡ 28 (mod 7)
≡0 (mod 7) idet 7 | 28

Ved at bruge Lemma 5.2, 3. ses at

5a + b ≡ 0 (mod 7).

Opgave 5.4 Antag at a ≡ 3 (mod 7) og b ≡ 4 (mod 7). Gå frem som


i eksemplet og nd et k ∈ {0, 1, . . . , 6} således at

5a + b ≡ k (mod 7).

Opgave 5.5 Hvad er en restklasse?

Opgave 5.6 Angiv modulus i kongruensen x ≡ 7 (mod 5).

5.2 Kongruensligninger
I dette afsnit vil vi analysere ligninger på formen

ax ≡ b (mod n), (5.1)

hvor a, b ∈ Z og n > 0 er givne hele tal, og x ∈ Z er den variabel, vi gerne vil


løse for. En sådan ligning kaldes en kongruens ligning. Vi vil i det følgende
se, at vi kan afgøre, præcist hvornår en kongruens ligning har løsninger eller
ej, og nde en metode til at angive løsningerne.
Hvis nu bare kongruensen (5.1) havde været en ligning ax = b, og vi ikke
krævede at en løsning var et heltal, så vidste vi præcis hvordan vi skulle nde
løsningerne. Hvis a 6= 0, a−1 på begge sider og straks se
ville vi gange med
x = a−1 b. Det der kendetegner den reciprokke a−1 er at a−1 a = 1. Vi går nu
i gang med at udvikle et lignende begreb for modulo regning.
Vi starter med at se på det meget vigtige særtilfælde hvor b = 1. Altså
vi ser på ligningen
ax ≡ 1 (mod n),
hvor a∈Z og n > 0 er givne. En løsning til denne ligning kaldes en multi-
plikativ invers til a modulo n.

Denition 5.5
Lad a∈Z og n være et positivt heltal. Et heltal c der opfylder

c·a≡1 (mod n),


5.2. KONGRUENSLIGNINGER 51

kaldes en multiplikativ invers til a (mod n), og betegnes, når modulus


n fremgår af sammenhængen, med a
−1 .

Der gælder for eksempel at en multiplikativ invers til 4 (mod 5) er 4,


idet 4 · 4 = 16 = 1 + 3 · 5 ≡ 1 (mod 5).
Det er ikke altid der ndes en multiplikativ invers modulo n. Se for
eksempel på kongruensligningen

2·x≡1 (mod 4).

Hvis vi kunne løse denne ligning, skulle der ndes et x så 4 | (2x − 1). Men
2x − 1 er ulige, og kan derfor ikke være deleligt med 4.
Vi kan generalisere dette modeksempel på eksistens af multiplikativ in-
vers modulo n. Kig på den generelle ligning

ax ≡ 1 (mod n),

og sæt d = sfd(a, n). Kongruensen kan løses, hvis der ndes x og q , således
at ax − 1 = qn, eller ækvivalent 1 = ax − qn. Det vil sige, der ndes en
løsning, hvis og kun hvis 1 ∈ aZ + nZ. Da aZ + nZ = dZ, svarer det til at
d | 1. Og dette sidste kan lade sig gøre netop når d = 1.
I eksemplet
2·x≡1 (mod 4),
bemærker vi at sfd(2, 4) = 2, så der er ingen multiplikativ invers, som vi
også så før.
Når sfd(a, n) = 1 har vi set at der ndes en multiplikativ invers modulo n,
men hvad er den? Det følger af Korollar 4.8, at vi kan nde s, t så sn+ta = 1.
Sætter vi c = t gælder

ac ≡ ta (mod n)
≡ 1 − sn (mod n)
≡1 (mod n)

Vi har altså at a−1 ≡ t (mod n), når sn + ta = 1.


Vi opsummerer hvad vi har fundet ud af indtil videre.

Sætning 5.6
Lad a∈Z og n være et positivt heltal. Hvis sfd(n, a) 6= 1, har a ikke
en multiplikativ invers (mod n). Hvis sfd(n, a) = 1, ndes s, t ∈ Z, så
sn + ta = 1, og t er en multiplikativ invers til a (mod n), altså

t·a≡1 (mod n).

Sætningen viser ikke bare hvornår den multiplikative invers ndes, men
også at den kan bestemmes ved hjælp af Euklids udvidede algoritme.
52 KAPITEL 5. MODULOREGNING

Eksempel 5.2 Lad os se om vi kan nde en multiplikativ invers til 5


(mod 27). Vi kører Euklids udvidede algoritme

k rk sk tk forklaring

0 27 1 0
1 5 0 1
2 2 1 -5 da 27 = 5 · 5 + 2
3 1 -2 11 da 5=2·2+1
3 0 * * da 2=2·1+0
−2 · 27 + 11 · 5 = 1.
Vi ser at Derfor er 11 en multiplikativ invers til 5
(mod 27). Kontrol:

11 · 5 = 55 = 54 + 1 = 2 · 27 + 1 ≡ 1 (mod 27).

Eksempel 5.3 Bruger vi Euklids algoritme på 27, 6 får vi rk 'erne til


27, 6, 3, 0, (vi springer mellemregningerne over). Så sfd(27, 6) = 3, og
6 har ikke nogen multiplikativ invers (mod 27).
Opgave 5.7 Find et tal c så c · 5 ≡ 1 (mod 8) .
Opgave 5.8 Lad a, b ∈ Z være forskellige fra nul, s, t ∈ Z, og antag
at sa + tb = 1. Vis at
sa ≡ 1 (mod b),
og
tb ≡ 1 (mod a).
Vi vender nu opmærksomheden mod den generelle form af kongruenslig-
ningen (5.1).

Sætning 5.7
Betragt kongruensligningen

a · x ≡ b (mod n),

hvor a, b, n ∈ Z og n > 0. Sæt d = sfd(n, a).

ˆ Hvis d ikke går op i b, har kongruensligningen ingen løsninger.

ˆ Hvis d går op i b, kan vi sætte a0 = a


d, b0 = b
d og n0 = n
d , og der
gælder at kongruensligningen er ækvivalent med

a0 · x ≡ b0 (mod n0 ).

Bevis. Antag først sfd(a, n) ikke går op i b, x.


og der alligevel er en løsning
Så ndes et heltal k således at ax−b = nk , som kan omskrives til b = ax−nk .
Da sfd(a, n) går op i både a og n, går sfd(a, n) også op i ax − kn, som er lig
med b. Dette giver et modstrid, fordi vi antog at sfd(a, n) ikke gik op i b.
Antag dernæst d = sfd(a, n) går op i b. Hvis x er en løsning til a · x ≡ b
(mod n), ndes der et k ∈ Z, så ax − b = kn. Da både a, b og n er delelige
5.2. KONGRUENSLIGNINGER 53

med d, får vi a0 x − b0 = kn0 når vi deler med d. Denne ligning er ækvivalent


0 0 0 0 0 0
med a x ≡ b (mod n ). Er omvendt x en løsning til a x = b (mod n ) gælder
0 0 0
a x−b = kn , for et k ∈ Z. Ganger vi denne ligning med d får vi ax−b = kn,
så x er en løsning til ax ≡ b (mod n). 
Opgave 5.9 Det oplyses at sfd(22, 16) = 2. Har kongruensen 16x ≡ 5
(mod 22) nogle løsninger? Hvad med 16x ≡ 4 (mod 22)?
Når vi omdanner kongruensligningen til a0 x ≡ b0 (mod n0 ), så sikrer vi,
0
at a har en multiplikativ invers modulo n0 , for ved at dividere med sfd(a, n),
0 0
har vi netop sørget for at sfd(a , n ) = 1. Og dette sætter os i stand til at
løse kongruensligningen som følgende sætning viser.

Sætning 5.8
Lad a, b ∈ Z og n være et positivt heltal, og antag sfd(n, a) = 1. Så
ndes c ∈ Z så ca ≡ 1 (mod n). Kongruensligningen

a · x ≡ b (mod n)

er ækvivalent med
x ≡ cb (mod n).
Specielt er løsningsmængden

cb + nZ.

Bevis. Vi ved fra Sætning 5.6 at c = a−1 ∈ Z eksisterer. Hvis x løser a·x ≡ b
(mod n) gælderax − b = kn, for et k ∈ Z. Ganges med c på begge sider af
lighedstegnet, fås x−a
−1 b = (a−n k)n, hvilket viser x ≡ cb (mod n). Hvis, på

den anden side, x er en løsning til x ≡ cb (mod n), gælder der x − cb = kn,
for et k ∈ Z. Ganges med a på begge sider fås ax − b = (ak)n, hvilket viser
ax ≡ b (mod n). 
På nuværende tidspunkt ved vi alt om at løse ligningen (5.1). Først
kan vi bruge Sætning 5.7 til enten at afvise der er løsninger, eller sørge
for sfd(a, n) = 1. I sidste tilfælde kan vi bruge Sætning 5.8 til at opskrive
samtlige løsninger. Vi ser på to eksempler.
Eksempel 5.4 Lad os løse

6x ≡ 3 (mod 27).
Man kan se at sfd(27, 6) = 3. Da 3|3 fortæller Sætning 5.8, at kon-
gruensligningen er ækvivalent med kongruensligningen

2x ≡ 1 (mod 9).
Ved at køre Euklids algoritme eller prøve sig frem, kan man se at
5 · 2 ≡ 1 mod 9. En multiplikative inverse til 2 er altså 5. Derfor er
ligningen ækvivalent med

x≡5 (mod 9),


hvoraf vi ser løsningsmængden er 5 + 9Z.
54 KAPITEL 5. MODULOREGNING

Eksempel 5.5 Kongruensligningen

6x ≡ 4 (mod 27),
har derimod ingen løsninger. Der gælder nemlig stadig væk sfd(27, 6) =
3, og 3 går ikke op i 4.
Opgave 5.10 Der gælder 3 · 2 ≡ 1 (mod 5). Hvad er løsningsmæng-
den til 3x ≡ 4 (mod 5)?

5.3 Den kinesiske restklassesætning


Nu hvor vi kan løse én kongruensligning, kan vi forsøge at løse to eller ere.
I dette afsnit skal vi se at systemet af to kongruensligninger

x ≡ b1 (mod n1 )
x ≡ b2 (mod n2 )
er ækvivalente med den ene kongruensligning

x ≡ xp (mod n1 n2 )
for en passende værdi af xp , når der gælder at sfd(n1 , n2 ) = 1.
Når sfd(n1 , n2 ) > 1, kan vi ikke være sikre på at der er løsninger. Men
hvis vi kan nde en løsning, så kan vi nemt nde dem alle.
Eksempel 5.6 Se på systemet of kongruenser

x≡2 (mod 6),
x≡2 (mod 8).
Man kan hurtigt se at xp = 2 løser begge kongruenser. Vi skifter nu
variable ved at sætte x = xp + y = 2 + y . Sætter vi ind i ligningerne,
får vi 
2 + y ≡ 2 (mod 6),
2 + y ≡ 2 (mod 8).
Ifølge Lemma 5.4 svarer det til

y≡0 (mod 6),
y≡0 (mod 8).
Mængden af y 6Z ∩ 8Z, som ifølge
der løser begge disse kongruenser er
Sætning 4.10 er lig mZ, hvor m = mfm(6, 8) = 24. Så de kongruenser
løses, netop når y ∈ 24Z. Da x = xp +y = 2+y , er løsningsmængden til
de to kongruenser vi startede med, lig 2+24Z. Den ene kongruens x ≡ 2
(mod 24) har samme løsningsmængde. Vi kan derfor konkludere, at de
to kongruenser

x ≡ 2 (mod 6),
x ≡ 2 (mod 8);
er ækvivalente med den ene kongruens

x≡2 (mod 24).


Betragningerne i eksemplet kan generaliseres, og leder til følgende sæt-
ning.
5.3. DEN KINESISKE RESTKLASSESÆTNING 55

Sætning 5.9
Lad n1 , n2 være positive heltal, og b1 , b2 ∈ Z. Hvis systemet af kongru-
ensligninger

x ≡ b1 (mod n1 )
x ≡ b2 (mod n2 )
har en løsning xp , så er de to kongruensligninger ækvivalente med

x ≡ xp (mod m),

hvor m = mfm(n1 , n2 ). Specielt er løsningsmængden til begge systemer

xp + mZ.

Opgave 5.11 Eftervis at 200 er en løsning til systemet af kongruens-


ligninger

x ≡ 20 (mod 60),
x ≡ 8 (mod 32).
Angiv derefter to heltal xp og m således at systemet er ækvivalent
med den ene kongruensligning

x ≡ xp (mod m).

Som sagt er det ikke altid



x ≡ b1 (mod n1 )
x ≡ b2 (mod n2 )

har en løsning. Nu skal vi se, at når sfd(n1 , n2 ) = 1, så er der en løsning.


sfd(n1 , n2 ) = 1 betyder at der ndes u1 , u2 ∈ Z
Vi ved fra Korallar 4.8, at
så u1 n1 + u2 n2 = 1. Vi vil nu vise at tallet xp = u1 n1 b2 + u2 n2 b1 er en
løsning til begge kongruensligninger. Da u1 n1 ≡ 0 (mod n1 ), og u1 n1 +
u2 n2 = 1, gælder u2 n2 ≡ 1 (mod n1 ). Derfor er u2 n2 b1 ≡ b1 (mod n1 ). Da
u1 n1 b2 ≡ 0 (mod n1 ) gælder der derfor at xp = u1 n1 b2 + u2 n2 b1 løser den
første kongruens. På samme måde kan man se at xp også er løsning til anden
kongruens.
Når vi nu har fundet en løsning, kan vi bruge Sætning 5.9. Sætningen
siger at systemet af kongruenser er ækvivalent med den ene kongruensligning,

x ≡ xp (mod m),

hvor m = mfm(n1 , n2 ). Og da sfd(n1 , n2 ) = 1 er mfm(n1 , n2 ) = n1 n2 . Derfor


er de to kongruensligninger ækvivalent med

x ≡ u1 n1 b2 + u2 n2 b1 (mod n1 n2 ).

Her med har vi bevist følgende Sætning.


56 KAPITEL 5. MODULOREGNING

Den kinesiske restklassesætning: Lad b1 , b2 være heltal og n1 , n2


være naturlige tal således at sfd(n1 , n2 ) = 1. Der ndes u1 , u2 ∈ Z således
at u1 n1 + u2 n2 = 1. Systemet af kongruensligninger givet ved


x ≡ b1 (mod n1 )
x ≡ b2 (mod n2 ),

har præcist de samme løsninger som kongruensligningen

x ≡ u1 n1 b2 + u2 n2 b1 (mod n1 n2 ).

Nemlig mængden

(u1 n1 b2 + u2 n2 b1 ) + n1 n2 Z .

Dette er en sætning som har været kendt i Kina i mere end 1700 år!
Den kinesiske restklassesætning tillader os at løse systemer af kongruens-
ligninger af en mere generel form, for vi ved fra Sætning 5.7 og Sætning 5.8,
hvordan den mere generelle kongruensligning ax ≡ b (mod n) kan reduceres
til den simplere form hvora = 1, hvis der er en løsning. Resultatet tillader os
at løse mere end 2 kongruensligninger, for er der fx 3, kan vi bruge resultatet
to gange, og således ende med en enkelt kongruens.
Eksempel 5.7 Vi løser systemet af kongruenser

x≡3 (mod 17)
x≡5 (mod 19),
Ved at bruge Euklids udvidede algoritme kan man se, at sfd(17, 19) =
1 = −8 · 19 + 9 · 17. Derfor er xp = −8 · 19 · 3 + 9 · 17 · 5 = 309 en
løsning. De to kongruenser er, ifølge den Kinesiske Restklassesætning,
ækvivalent med den ene kongruens

x ≡ 309 (mod 17 · 19).


Da 17 · 19 = 323, kan vi konkludere at løsningsmængden er

309 + 323Z.

Opgave 5.12 Find løsningsmængden til systemet af kongruenslignin-


ger givet ved

x ≡ 7 (mod 15)
x ≡ 14 (mod 16)
Opgave 5.13 Find løsningsmængden til systemet af kongruenslignin-
ger givet ved

4x ≡ 7 (mod 15)
x ≡ 0 (mod 4)
Vink: Skriv først den første kongruensligning om til en på formen x≡b
(mod 15).
Ekstraopgaver  ikke en del af pensum.
5.3. DEN KINESISKE RESTKLASSESÆTNING 57

*Opgave 5.14 Lad p være et primtal.

(a) Vis at for hvert heltal a mellem 1 og p − 1 ndes der et heltal c


mellem 1 og p−1 således at ca ≡ 1 (mod p).
(b) Vis at de eneste løsninger til ligningen x2 ≡ 1 (mod p) mellem
1 og p−1 er tallene 1 p − 1.
og
2
Vink: Faktoriser polynomiet x − 1.

(c) Vis Wilsons sætning: (p − 1)! ≡ −1 (mod p).


Vink: Hvilke tal mellem 1 og p − 1 er sin egen multiplikative
invers modulo p?
Den næste opgave går ud på at bevise Fermats lille Sætning. Denne
sætning lægger det teoretiske grundlag for et public key krypteringssystem
kaldet RSA. For at løse opgaven må du gerne benytte, uden bevis, resultatet
af Opgave 4.11: Hvis sfd(w, u) = 1 og w | uv gælder w | v.
*Opgave 5.15 Lad p være et primtal og k et heltal mellem 1 og p−1.
(a) Vis sfd(p, k!) = 1.
Vink: Når p er et primtal kan sfd(p, n) enten være 1 eller p, og i
sidste tilfælde gælder altså p | n.
p p
 
(b) Vis atp| k . Vink: Brug at k! ·
k = p(p − 1) · · · (p − k + 1) ≡ 0
(mod p).
Binomialformlen siger, at for heltallet n≥0 gælder

n  
n
X n
(a + b) = aj bn−j .
j=0
j

(c) Brug binomialformlen til at vise at (a + b)p ≡ ap + bp (mod p).


(d) Vis Fermats lille sætning: Lad a være et heltal. Så gælder ap ≡ a
(mod p). Hvis det antages at p - a, så gælder ap−1 ≡ 1 (mod p).
Vink: Vis først resultatet for a ≥ 0 ved brug af induktion.
58 KAPITEL 5. MODULOREGNING
Kapitel 6

Polynomier
En af de ting der gør Euklids algoritme så nyttig, er at den ikke blot kan
anvendes på naturlige tal, men også på polynomier. Det skyldes at poly-
nomier og heltal algebraisk opfører sig nogenlunde på samme måde. Man
kan lægge sammen og gange, og polynomier og heltal opfylder de samme
grundlæggende regneregler. (De er begge eksempler på integritetsområder,
og mere præcist, Euklidiske områder. Det kan du lære om i kurset 01018:
Diskret Matematik 2.)

6.1 Polynomier
Vi starter med at se på hvad vi mener med polynomier. Så præciserer vi
hvordan de kan lægges sammen, ganges sammen, og hvordan man kan divi-
dere et polynomium med et andet. Tilsidst ser vi hvordan Euklids algoritme
virker på polynomier.
Når vi i disse noter taler om polynomier tænker vi på polynomier hvis
koecienter er reelle eller komplekse tal. Så P (x) = 21 x2 + 2 er et eksempel
på et polynomium. Generelt kan et n'te grads polynomium P (x) skrives

P (x) = an xn + an−1 xn−1 + · · · + a0 , (6.1)

hvor an 6= 0. Dette polynomium har grad n, og vi betegner graden af P (x)


med deg P (x). Vi kalder an xn højestegradsleddet. Konstanten P (x) = 0
er også et polynomium, som vi kalder nulpolynomiet. Vi sætter graden af
nulpolynomiet til −1, så deg(0) = −1.
Konstanterne an , an−1 , . . ., a0 i (6.1) kaldes polynomiets koecienter. Vi
kalder ak for polynomiet k 'te grads koecient for k = 0, 1, . . . , n. Der ndes
en praktisk notation til at angive k 'te grads koecienten, nemlig

[xk ]P (x).

Hvis P (x) er af grad n, så sætter man [xk ]P (x) = 0, når k > n.

59
60 KAPITEL 6. POLYNOMIER

Eksempel 6.1 Se på polynomiet P (x) = x2 + 2x + 3. Her er kon-


stantleddet
[x0 ]P (x) = 3,
førstegradskoecienten
[x1 ]P (x) = 2,
og andengradskoecienten

[x2 ]P (x) = 1.

Da P (x) er et andengradspolynomium, gælder der

[x3 ]P (x) = [x4 ]P (x) = . . . = 0.

Opgave 6.1 Bestem


[xk ](x3 + 2x + 2)
for k = 0, 1, 2, 3, 4.
Vi kan lægge to polynomier sammen. Hvis for eksempel P (x) = x + 3 og
Q(x) = 2x2 + 2x + 3, så er P (x) + Q(x) = 2x2 + 3x + 6. Generelt er summen
af to polynomier P (x) og Q(x) polynomiet R(x) deneret ved

[xk ]R(x) = [xk ]P (x) + [xk ]Q(x).

Opgave 6.2 n(x) + m(x)


Beregn når n(x) = x3 − x2 + x − 1 og
3 2
m(x) = x + x + x + 1.
Vi kan også gange et polynomium med en konstant. Hvis P (x) = x2 +
2x + 3, og c er en konstant, så er cP (x) = cx2 + 2cx + 3c. Altså

[xk ](cP (x)) = c[xk ].

Opgave 6.3 Beregn 7n(x) når n(x) = 7x + 7.


Så kan vi også gange to polynomier sammen. Hvis for eksempel P (x) =
x+3 og Q(x) = 2x2 + 2x + 3, så er

P (x)Q(x) = (x + 3)(2x2 + 2x + 3)
= x(2x2 + 2x + 3) + 3(2x2 + 2x + 3)
= 2x3 + 2x2 + 3x + 6x2 + 6x + 9
= 2x3 + 8x2 + 9x + 9.

Lad os prøve at se på førstegradsleddet i produktet ovenfor. Man kan få et


førstegradsled ved at gange konstantleddet i P (x) med førstegradsleddet i
Q(x), og ved at gange førstegradsleddet i P (x) sammen med konstantleddet
i Q(x). Derfor gælder

[x1 ](P (x)Q(x)) = [x0 ]P (x)[x1 ]Q(x) + [x1 ]P (x)[x0 ]Q(x).


6.1. POLYNOMIER 61

Generelt gælder
n
X
[xn ](P (x)Q(x)) = [xk ]P (x)[xn−k ]Q(x), (6.2)
k=0
0
idet man får et n te grads led ved at gange et led af grad k sammen med et
led af grad n − k.
Opgave 6.4 Bestem P (x)Q(x), når P (x) = x + 3 og Q(x) = x2 − 3.
Opgave 6.5 Lad k , n være heltal hvor 0 ≤ k ≤ n. Bestem
[xk ](1 + x)n
Vink: Brug binomialformlen (Sætning 1.8 med y = 1).
Opgave 6.6 Lad a = deg P (x) og b = deg Q(x). Hvad er graden af
P (x) gange Q(x), hvis ingen af de to polynomier er nulpolynomiet?

Et udtryk for ligheden mellem heltal og polynomier er, at vi også har en


divisionsalgoritme for polynomier. Lad os for eksempel dividere 2x2 − 4x + 1
op i x
4 + 8x3 − 2x2 + 0x + 16. Først skriver vi divisionsstykket op.

2x2 − 4x + 1 x4 +8x3 −2x2 +0x+16


Højststegradsleddet i 2x2 − 4x + 1 er 2x2 , mens det højstegradsleddet i
1 2
x4 + 8x3 − 2x2 + 0x + 16 er x4 . Divideres 2x2 op i x4 fås
2 x . Det skriver vi
op.
1 2
2x
2x2 − 4x + 1 x4 +8x3 −2x2 +0x+16
1 2
Vi ganger 2x2 − 4x + 1 med
2 x og trækker resultatet fra.
1 2
2x
2x2 − 4x +1 x +8x −2x2 +0x+16
4 3

−(x4 −2x3 + 21 x2 )
10x3 − 25 x2 +0x
Nu går 2x2 netop 5x gange op i 10x3 , så vi får følgende.
1 2
2 x +5x
2x2 − 4x + 1 x4 +8x3 −2x2 +0x+16
−(x4 −2x3 + 21 x2 )
10x3 − 25 x2 +0x
Vi ganger 2x2 − 4x + 1 med 5x og trækker resultatet fra.
1 2
2x +5x
2x2 − 4x + 1 x4 +8x3 −2x2 +0x+16
−(x4 −2x3 + 12 x2 )
10x3 − 52 x2 +0x
−(10x3 −20x2 +5x)
35 2
2 x −5x+16
62 KAPITEL 6. POLYNOMIER

35 2 35 35 35
Deles
2 x med 2x2 fås
4 . Vi skriver 4 , og trækker 4 gange 2x2 − 4x + 1
fra.
1 2
2x +5x + 35
4 ← kvotient
2x2 − 4x + 1 x4 +8x3 −2x2 +0x +16
−(x4 −2x3 + 21 x2 )
10x3 − 25 x2 +0x
−(10x3 −20x2 +5x)
35 2
2 x −5x +16
−( 35 2 35
2 x −35x+ 4 )
30x + 29
4 ← rest
Leddet 2x2 har højere grad end 30x, og hermed er vi færdige. Det var noget
tungt, men det burde fremgå at polynomiers division kan beregnes på næsten
samme måde som division ved heltal.
Man kan aæse at 2x2 − 4x + 1 divideret op i x4 + 8x3 − 2x2 + 0x + 16,
1 2 35 29
giver
2x + 5x + 4 med 30x +
4 til rest. Det kan vi kort udtrykke ved
formlen

1 35 29
x4 + 8x3 − 2x2 + 16 = (2x2 − 4x + 1) · ( x2 + 5x + ) + 30x + .
2 4 4
Divisionsalgoritmen viser følgende resultat.

Sætning 6.1
Lad n(x), m(x) m(x) ikke er nulpolyno-
være to givne polynomier, hvor
miet. Der ndes to entydigt bestemte polynomier q(x), r(x) der opfylder

n(x) = q(x)m(x) + r(x), og deg(r(x)) < deg(m(x)).

Polynomierne q(x) og r(x) kaldes henholdsvis kvotienten og resten ved


division af n(x) med m(x).

Opgave 6.7 Angiv kvotient q(x) og rest r(x) ved division af n(x) =
x2 − x − 2 med m(x) = x − 1.
Opgave 6.8 Angiv kvotient q(x) og rest r(x) ved division af n(x) =
x2 − x − 2 med m(x) = x + 1.
Når resten giver nul, siger vi at m(x) er en divisor i n(x).

Denition 6.2
Vi siger at m(x) er en divisor i n(x) hvis der ndes et polynomium q(x)

n(x) = q(x)m(x).
Hvis m(x) er en divisor i n(x) siger vi også at m(x) går op i n(x).
6.1. POLYNOMIER 63

Opgave 6.9 Vis at x + 1 og x − 2 er divisorer i n(x) = x2 − x − 2.


Opgave 6.10 Brug denitionen af divisor til at vise, at hvis m(x) =
x−x0 er en divisor i n(x), så er x0 en rod i n(x), det vil sige n(x0 ) = 0.
Brug herefter Sætningn 6.1 til at vise at der omvendt gælder, at hvis
n(x) har roden x0 , så er m(x) = x − x0 en divisor i n(x).
Ligesom ved heltal kan vi tale om en største fælles divisor for to polyno-
mier n(x) og m(x), hvor vi forstår at en divisor d1 (x) er større end en anden
d2 (x), hvis graden deg d1 (x) er større end graden deg d2 (x). Det er med vilje
at vi siger en største divisor og ikke den største divisor, for divisorer er kun
bestemte op til multiplikation med en konstant forskellige fra nul: Hvis d(x)
er en divisor i n(x) og k 6= 0 er en konstant, så er også kd(x) en divisor i
n(x).
En største fælles divisor kan ndes ved Euklids algoritme, som er ma-
gen til Euklids algoritme for heltal, borset fra at operationerne foretages på
polynomier.

Euklids udvidede algoritme. Input til algoritmen er to polynomier N (x), M (x),


med deg(N (x)) ≥ deg(M (x)). Algoritmen beregner en række tripler (r0 (x), s0 (x), t0 (x)),
(r1 (x), s1 (x), t1 (x)), . . ., (rn (x), tn (x), sn (x)) og stopper når rn (x) = 0. Først
sættes
(r0 (x), s0 (x), t0 (x)) = (N (x), 1, 0)
og
(r1 (x), s1 (x), t1 (x)) = (M (x), 0, 1).
Dernæst sættes

(rk (x), sk (x), tk (x)) = (rk−2 (x), sk−2 (x), tk−2 (x))−qk (x)(rk−1 (x), sk−1 (x), tk−1 (x))
hvor qk (x) er kvotienten ved polynomiumsdivision af rk−2 (x) med rk−1 (x).
Vi gør dette for k = 2, 3, . . . , n indtil rn (x) = 0. Der gælder så

sfd(N (x), M (x)) = rn−1 (x) = sn−1 (x)N (x) + tn−1 (x)M (x).

Eksempel 6.2 Lad os for eksempel bestemme største fælles divisor


af N (x) = x4 + x3 − 2x2 + 2x − 2, og M (x) = x2 + 2x − 3. Ved hjælp
af polynomiers division kan man udregne at

N (x) = (x2 − x + 3)M (x) − 7x + 7, (6.3)

og dernæst
x+3
x2 + 2x − 3 = − · (−7x + 7). (6.4)
7
Vi får derfor

k rk (x) sk (x) tk (x) forklaring

4 3 2
0 x + x − 2x + 2x − 2 1 0
1 x2 + 2x − 3 0 1
2 −7x + 7 1 −x2 + x − 3 ifølge (6.3)
3 0 * * ifølge (6.4)
64 KAPITEL 6. POLYNOMIER

Her har vi skrevet * for elementer vi har sprunget over at udregne.
Vi kan af skemaet se at en største fælles divisor er −7x + 7, og at
der gælder

−7x + 7 = 1 · (x4 + x3 − 2x2 + 2x − 2) + (−x2 + x − 3) · (x2 + 2x − 3).

Euklids udvidede algoritme virker.

Sætning 6.3
Euklids udvidede algoritme standser i endeligt mange trin. Der gælder

rk (x) = sk (x)N (x) + tk (x)M (x), for k = 0, 1, . . . , n,

og vi har
sfd(N (x), M (x)) = rn−1 (x).

Opgave 6.11 Udfør Euklids udvidede algoritme på polynomierne x3 +


x + 1 og x2 + x + 1, og nd polynomier s(x) og t(x) således at
s(x) · (x3 + x + 1) + t(x) · (x2 + x + 1) = 3.
Algoritmen beregner altså ikke bare sfd(N (x), M (x)), men også to poly-
nomier s(x) og t(x), så sfd(N (x), M (x)) = s(x)N (x)+t(x)M (x). At sådanne
to polynomier ndes har forskellige vigtige konsekvenser. Her nøjes vi med
at vise følgende.

Sætning 6.4
De to polynomier N (x) M (x)
og har den fælles rod x0 , hvis og kun hvis
sfd(N (x), M (x)) har roden x0 .

Bevis. Lad P (x) betegne en største fælles divisor af N (x), M (x). Hvis x0 er
en rod for både N (x) og M (x), gælder

P (x0 ) = s(x0 )N (x0 ) + t(x0 )M (x0 ) = 0 · s(x0 ) + 0 · t(x0 ) = 0.

Det vil sige at x0 også er en rod for P (x).


Antag omvendt at P (x0 ) = 0. Da P (x) | N (x) ndes polynomiet Q(x)
så N (x) = Q(x)P (x). Derfor er

N (x0 ) = Q(x0 ) · 0 = 0.

På samme måde ses at x0 er en rod i M (x0 ). 


Fra eksempel 6.2 ved vi at

sfd(x4 + x3 − 2x2 + 2x − 2, x2 + 2x − 3) = −7x + 7.

Polynomiet −7x+7 har roden 1, og ingen andre rødder. Det følger af Sætning
6.4 at x4 + x3 − 2x2 + 2x − 2 og x2 + 2x − 3 har den fælles rod 1 og ingen
andre fælles rødder.
6.1. POLYNOMIER 65

Opgave 6.12 Hvis sfd(N (x), M (x)) = 1, har N (x) og M (x) så nogen
fælles rødder?

Opgave 6.13 Lad N (x) = x5 + x4 + x + 1, og M (x) = x4 − 1. Brug


Euklids algoritme til at afgøre om N (x) og M (x) har fælles rødder.
Vink: Det er ikke nødvendigt at bruge Euklids udvidede algoritme.

Et polynomial N (x) siges at have en dobbeltrod x0 , hvis (x − x0 )2 går op


i N (x). Man kan vise, at N (x) har en dobbeltrod x0 , hvis og kun hvis x0 er
rod i både N (x) 0
og den aedede N (x).

Opgave 6.14 (a) Afgør om der ndes værdier af konstanten k, så


polynomiet N (x) = x2 + 2x + k har en dobbeltrod i R.

(b) Afgør om der ndes værdier af konstanten k, så polynomiet


M (x) = x3 + x + k , har en dobbeltrod i R.

Opgave 6.15 Lad f (x) være et vilkårligt polynomium med koeci-


enter i R. Lad så gn (x), n ∈ Z være følgende familie af polynomier:

gn (x) = f (x) + n .

(a) Bevis at for et vilkårligt n ∈ Z − {0}, så har f (x) og gn (x) ingen


fælles rødder.

(b) (Ikke pensum): Bevis at sfd(gn (x), gm (x)) = 1 hvis n 6= m.

Opgave 6.16
Pn k
Lad p(x) =k=0 ck x være et polynomium, hvis ko-
ecienter c0 , . . . , cn alle er hele tal, og hvor c0 6= 0 samt cn 6= 0. Lad
Q benævne mængden af de rationelle tal, dvs. brøker med hele tal i
tæller og nævner. Så gælder følgende sætning:

a
Hvis
b ∈Q med sfd(a, b) = 1, og hvis p( ab ) = 0, så gælder
at a | c0 og b | cn .

(a) Vis vha. ovenstående at polynomiet p(x) = x2 −2 ikke har nogen


rationelle rødder.

(b) Konkluder at 2∈
/ Q.

(c) Konkluder på lignende vis at 5∈/ Q.
√ √
(d) Kunne det nu være at
√ √ 5 − 2 ∈ Q?
Det ved vi faktisk ikke
4 2
endnu. Vis at
√ √5 − 2 er rod i polynomiet q(x) = x − 14x + 9.
Vis så at 5− 2∈ / Q.

(e) (Ekstra, ikke pensum) Bevis sætningen i starten af opgaven.


(Vink: Betragt p( ab ) = 0 og gang igennem med fællesnævneren så
der kun står hele tal i alle termer. Brug derefter modulo-regning.)
66 KAPITEL 6. POLYNOMIER

Ekstra opgaver  ikke pensum.


*Opgave 6.17 Vi undersøger køretiden af Euklids algoritme.

(a) Beskriv som funktion af deg f (x) og deg g(x), hvor mange itera-
tioner (runder) Euklids algoritme højest bruger, når den køres
påf (x) og g(x).
(b) Lad D(n) være en øvre grænse for antallet af aritmetiske ope-
rationer det tager at udføre en division af f (x) med g(x) med
rest, hvisdeg f, deg g ≤ n. Med aritmetiske operationer mener
vi +,−,· eller / på elementer fra legemet, altså R eller C. Argu-
2
mentér for, at D(n) ≤ 2n .
2
(c) Argumentér for, at Euklids algoritme højest bruger 2n (n + 1)
operationer, hvis deg f, deg g ≤ n.

(d) Men hvis vi tæller mere omhyggeligt, så ser vi, at den faktisk
bruger meget mindre! Lad D(n, m) være en øvre grænse for an-
tallet af aritmetiske operationer det tager at udføre division af
f (x) med g(x) deg f = n og deg g = m ≤ n.
med rest, hvis Ar-
gumentér for, at D(n, m) ≤ 2(n − m + 1)(m + 1).
Brug dette til at vise, at Euklids algoritme bruger mindre end
4(n + 1)2 operationer med input f (x), g(x) med deg f, deg g ≤ n.
(Vink: Lad dk = deg rk undervejs i Euklids algoritme og udtryk
antal operationer som en sum over 2dk−1 (dk − dk−1 + 1). Erstat
det første dk−1 med den øvre grænse d0 , og kig på den totale
sum. Er der noget der går ud?)

En rational funktion er en brøk med et polynomium i tæller og nævner,


p(x)
fx
q(x) .
*Opgave 6.18 Som sædvanligt med brøker, så kan man forkorte
p(x)
dem, så givet
q(x) , hvis man tilfældigvis ved, at der ndes t(x) således
at p(x) = t(x)p1 (x) og q(x) = t(x)q1 (x), så har vi:
p(x) t(x)p1 (x) p1 (x)
= = .
q(x) t(x)q1 (x) q1 (x)
p(x)
Hvis man blot er givet en rational funktion
q(x) , beskriv en fremgangs-
måde for at beregne den helt forkortede brøk?

Følgende opgave viser hvordan en rational funktion nogle gange kan skri-
ves som en sum af såkaldte stambrøker. Det kan være nyttigt når man skal
nde stamfunktioner.
*Opgave 6.19 p(x) og d(x) være polynomier begge forskellige
Lad
fra nul. Antag at d(x) = d1 (x)d2 (x), hvor sfd(d1 (x), d2 (x)) = 1, og
antag at deg p(x) < deg d(x). Vis at der ndes polynomier p1 (x) og
p2 (x) således at

deg p1 (x) < deg d1 (x) og deg p2 (x) < deg d2 (x),
og
p(x) p1 (x) p2 (x)
= + .
d(x) d1 (x) d2 (x)
Vink: Gang først den ønskede ligning med d(x).

You might also like