Download as pdf or txt
Download as pdf or txt
You are on page 1of 128

Vrije Universiteit Brussel

Faculteit Toegepaste Wetenschappen


S
R
E
V
I
N
U
ITE
IT
E
J
I
R
V
B
R
U
S
S
E
L
E C
N I
V
R
E
T
E
N
E
B
R
A
S
A
I
T
N
E
I
C
S
Numerieke Analyse
S. Caenepeel
Syllabus bij de cursus Numerieke Analyse(later Numerieke Algoritmen)
Tweede Kandidatuur Burgerlijk Ingenieur
Eerste Jaar Brugprogramma Burgerlijk Ingenieur 1991-1999
Inhoudsopgave
1 Inleiding 4
1.1 Probleemstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Fouten en foutenbronnen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Voorstelling van re ele getallen en de totale rekenfout . . . . . . . . . . . . . . . . 7
1.4 Het conditiegetal en de onvermijdbare fout . . . . . . . . . . . . . . . . . . . . . . 11
2 Het oplossen van vergelijkingen 13
2.1 Algoritmen voor het oplossen van vergelijkingen . . . . . . . . . . . . . . . . . . 13
2.2 Convergentie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 De orde van een iteratieve methode . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4 Versnelling van de convergentie: de methode van Aitken . . . . . . . . . . . . . . 25
3 Het oplossen van stelsels 29
3.1 Algoritmen voor het oplossen van stelsels . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Metrieken op R
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 Convergentie van de iteratieve formules . . . . . . . . . . . . . . . . . . . . . . . 34
3.4 De methode van Bairstow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4 Lineaire stelsels 44
4.1 De iteratieve methode van Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2 Permutatiematrices en Frobeniusmatrices . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Gauss eliminatie en LU-decompositie . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4 Tridiagonale stelsels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.5 Singuliere waarden ontbinding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
1
4.6 Veralgemeende inversen van matrices . . . . . . . . . . . . . . . . . . . . . . . . 58
5 Eigenwaarden en eigenvectoren 62
5.1 Algemene eigenschappen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.2 De methode van de machten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.3 De methode van Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6 Interpolatie 73
6.1 De formule van Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.2 Het algoritme van Neville . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.3 De methode der gedeelde verschillen . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.4 Differentierekening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.5 De minimaxbenadering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
7 Benadering volgens de methode van de kleinste kwadraten 87
7.1 Algemene methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.2 Benadering met Forsythe veeltermen . . . . . . . . . . . . . . . . . . . . . . . . . 88
8 Numeriek Aeiden 94
8.1 Aeiden van de interpolatieformule van Lagrange . . . . . . . . . . . . . . . . . . 94
8.2 Praktische formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9 Numerieke Integratie 98
9.1 De Newton-Cotes formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
9.2 De rest in de formule van Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . 103
9.3 Rombergintegratie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
9.4 De integratieformules van Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10 Differentiaalvergelijkingen 114
10.1 De methode van Euler-Heun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.2 De methode van Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.3 De orde van een eenstapsmethode . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.4 Meerstapsmethodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
2
10.5 Differentiaalvergelijkingen met randvoorwaarden . . . . . . . . . . . . . . . . . . 121
10.6 Parti ele differentiaalvergelijkingen . . . . . . . . . . . . . . . . . . . . . . . . . . 124
3
Hoofdstuk 1
Inleiding
1.1 Probleemstelling
In de cursussen Analyse en Algebra en Meetkundehebben we technieken gezien die toelaten om
allerlei problemen op te lossen:
oplossen van algebraische vergelijkingen;
berekenen van afgeleiden en bepaalde integralen;
oplossen van lineaire stelsels;
berekenen van eigenwaarden en eigenvectoren;
integreren van differentiaalvergelijkingen;

Wanneer we deze methoden in de praktijk brengen kunnen allerlei moeilijkheden optreden:
1) Het kan zijn dat ons probleem niet analytisch oplosbaar is. De vergelijking tgx = x heeft een
oneindig aantal oplossingen, maar we kunnen enkel de triviale oplossing x = 0 exact uitrekenen.
Vele integralen kunnen we niet oplossen. Sommige ervan zijn in de praktijk wel belangrijk. Als
voorbeeld geven we de integraal
(x) =
Z
x
0
exp(t
2
/2)dt
We kunnen deze integraal niet uitrekenen; in de cursus Waarschijnlijkheidsrekening en Statis-
tiekhebben we wel het belang ervan gezien.
2) Voor sommige problemen bestaan er oplossingsmethoden die in theorie altijd een oplossing
bieden. Voor een lineair stelsel van n vergelijkingen met n onbekenden, met een reguliere matrix,
hebben we de regel van Cramer. Zoals we reeds benadrukten in de cursus Algebra en Meetkun-
des de regel van Cramer totaal onbruikbaar als n groot wordt, omdat het zelfs met grote computers
4
onmogelijk is om determinanten van grote omvang (bijvoorbeeld 10001000) uit te rekenen.
3) Zelfs indien we een exacte oplossingsmethode hebben die niet al te veel rekenwerk vraagt, dan
kunnen nog andere problemen optreden. Om dit te illustreren geven we een eenvoudig voorbeeld.
Voorbeeld 1.1.1 Gevraagd wordt om de bepaalde integraal
I
10
=
Z
1
0
x
10
e
x1
dx
te berekenen. Theoretisch is er geen enkel probleem. Met parti ele integratie vinden we
I
n
=
Z
1
0
x
n
e
x1
dx
=
_
x
n
e
x1

1
0
n
Z
1
0
x
n1
e
x1
dx
= 1nI
n1
(1.1)
Het is duidelijk dat I
0
= 11/e, en we kunnen de I
n
recursief uitrekenen. L. Van Hamme voerde
de berekening uit met behulp van een programmeerbare zakrekenmachine, en vond
I
0
= 0.632 121 I
1
= 0.367 879
I
2
= 0.264 242 I
3
= 0.207 274
I
4
= 0.170 904 I
5
= 0.145 480
I
6
= 0.127 120 I
7
= 0.110 160
I
8
= 0.118 720 I
9
=0.068 480
Hier gaat duidelijk wat mis, want het is onmogelijk dat I
9
< 0. Als we dezelfde berekening uit-
voeren op een Macintosh Performa 5300 computer, met behulp van het programma Matlab, versie
4.2c, dan vinden we
I
0
= 0.63212055882856 I
10
= 0.08387707005829
I
1
= 0.36787944117144 I
11
= 0.07735222935878
I
2
= 0.26424111765712 I
12
= 0.07177324769464
I
3
= 0.20727664702865 I
13
= 0.06694777996972
I
4
= 0.17089341188538 I
14
= 0.06273108042387
I
5
= 0.14553294057308 I
15
= 0.05903379364190
I
6
= 0.12680235656152 I
16
= 0.05545930172957
I
7
= 0.11238350406936 I
17
= 0.05719187059731
I
8
= 0.10093196744509 I
18
=0.02945367075154
I
9
= 0.09161229299417
We vinden duidelijk andere resultaten. Na 18 stappen vinden we echter weer een negatieve waarde.
De verklaring hiervoor is de volgende: beide rekenmachines werken slechts met een eindig aantal
decimalen. Bij elke stap wordt dus een afrondingsfout gemaakt. Bij elke stap wordt deze fout
5
vermenigvuldigd met n, zodat de fout na n stappen gelijk is aan n! maal de afrondinsfout op I
0
. De
fout wordt dus snel groot.
Om betere resultaten te verkrijgen moeten we (1.1) op een andere manier toepassen. We beweren
dat
I
n
=
1
n+1

1
(n+1)(n+2)
+
1
(n+1)(n+2)(n+3)

1
(n+1)(n+2)(n+3)(n+4)
+ (1.2)
We bewijzen (1.2) per inductie op n. Voor n = 0 hebben we
I
0
=

n=1
(1)
n
n!
= 1e
1
Als (1.2) klopt voor n1, dan hebben we
1I
n
= nI
n1
= n
_
1
n

1
n(n+1)
+
1
n(n+1)(n+2)

1
n(n+1)(n+2)(n+3)
+
_
= 1
1
n+1
+
1
(n+1)(n+2)

1
(n+1)(n+2)(n+3)
+
1
(n+1)(n+2)(n+3)(n+4)

zodat (1.2) ook klopt voor n. (1.2) is een alternerende reeks, en de som kan benaderd worden
door de parti ele sommen uit te rekenen. We vinden zelfs een boven- en een ondergrens voor de
reekssom. Als we (1.2) toepassen voor n = 10, dan vinden we voor de vijfde parti ele som
s
5
= 0.08387723387723
De eerste zes decimalen zijn correct! We zien hier dus dat een benaderde methode (reekssom
vervangen door een parti ele som) een beter resultaat geeft dan een exacte methode!
Een alternatieve manier bestaat erin om (1.1) als volgt te herschrijven:
I
n1
=
1I
n
n
(1.3)
Bij elke stap wordt de fout nu gedeeld door n. We vertrekken van I
18
= 0. Dit is natuurlijk niet
correct, maar de absolute fout die we maken is klein, aangezien I
n
klein wordt voor n groot. Als
we terugrekenen tot I
10
, dan wordt de absolute fout op I
10
klein. We vinden volgende tabel
I
18
= 0.000 000 000 I
17
= 0.055 555 556
I
16
= 0.055 555 556 I
15
= 0.059 027 778
I
14
= 0.062 731 481 I
13
= 0.066 947 751
I
12
= 0.071 773 250 I
11
= 0.077 352 229
I
10
= 0.083 877 070
Als we vertrekken van I
15
= 0, dan vinden we
I
10
= 0.08387723387723 en I
9
= 0.09161227661228
6
1.2 Fouten en foutenbronnen
Het oplossen van een practisch probleem (bijvoorbeeld in de natuurkunde, of in de economie)
gebeurt in verschillende stappen.
1) Eerst wordt er een wiskundig model gemaakt. Dit model is uiteraard slechts een benadering van
de werkelijkheid. De fouten die optreden ten gevolge hiervan noemen we modelfouten.
Indien we de modelfouten willen verkleinen, dan moeten we het model vervangen door een meer
verjnd model. Een bekend voorbeeld is de (algemene) relativiteitstheorie, die een verjning is
van de klassieke Newtoniaanse mechanica.
Voor de numerieke analyst zijn de modelfouten in zoverre van belang dat bij een grof model een
erg nauwkeurige berekening weinig zin heeft.
2) Bij iedere berekening worden gegevens verwerkt om resultaten te verkrijgen. Deze gegevens
bevatten fouten, omdat ze het resultaat zijn van metingen of van vorige berekeningen. Dit leidt tot
een fout op het eindresultaat die men de onvermijdbare fout noemt.
3) Van het wiskundig model wordt een numeriek model gemaakt, bijvoorbeeld door het probleem
te discretiseren of te lineariseren. De fout die hierbij optreedt noemen we de methodefout.
In een verder hoofdstuk zullen we zien dat een bepaalde integraal kan benaderd worden door de
volgende formule (de regel van Simpson):
Z
x
2
x
0
f (x)dx =
h
3
( f (x
0
) +4f (x
1
) + f (x
2
))
h
5
90
f
(4)
()
waarbij x
2
x
1
= x
1
x
0
= h, en (x
0
, x
2
). De methodefout is
R =
h
5
90
f
(4)
()
4) In berekeningen worden re ele getallen steeds voorgesteld door een eindig aantal cijfers. Dit ver-
oorzaakt een fout die men de afrondingsfout noemt. Bij elke nieuwe bewerking wordt een nieuwe
afrondingsfout ingevoerd. Deze afrondingsfouten speelden een cruciale rol in voorbeeld 1.1.1. We
gaan hier verder op in in de volgende paragraaf. De gecumuleerde fout op het eindresultaat die
ontstaat ten gevolge van de methodefouten en de afrondingsfouten noemen we de totale rekenfout.
1.3 Voorstelling van re ele getallen en de totale rekenfout
De moeilijkheden in voorbeeld 1.1.1 treden op tengevolge van de afrondingsfouten. Als we zouden
beschikken over een rekenmachine die met een oneindig aantal cijfers werkt (en dus re ele getallen
exact kan voorstellen), dan zouden we deze problemen niet hebben.
Onze rekenmachines werken meestal electronisch; men kan zich echter ook andere soorten re-
kenmachines inbeelden, bijvoorbeeld mechanische. In de limiet beschouwd is een telraam een
mechanische rekenmachine. Eigenlijk komen de moeilijkheden hierop neer dat een rekenmachine
werkt met slechts een eindig aantal getallen. Deze getallen noemt men machinegetallen. Voor een
telraam is dit aantal klein (bijvoorbeeld 100), voor de hedendaagse electronische rekenmachines is
dit aantal natuurlijk veel groter.
7
Electronische rekenmachines werken steeds in het tweetallig stelsel. Ook hier kan men zich ma-
chines inbeelden die in andere talstelsels werken. In de navolgende beschouwingen zullen we
ervan uitgaan dat onze machine in het tientallig stelsel werkt, omdat we daar nu eenmaal zelf mee
werken.
Bij de allereerste zakrekenmachines werd dikwijls met een vaste komma gewerkt. Dit betekent dat
elke machinegetal bestaat uit een vast aantal cijfers (bijvoorbeeld 8), waar de komma ergens in dit
getal staat. Een machinegetal is dan van de vorm
m =i
1
i
2
i
3
i
4
.i
5
i
6
i
7
i
8
waarbij i
j
0, , 9, en waar de komma ook op een andere plaats kan staan.
In moderne rekenmachines gebruikt men vrijwel steeds de drijvende komma representatie (oating
point representation). De machinegetallen zien er dan als volgt uit:
m =.i
1
i
2
. . . i
t
10
e
(1.4)
waarbij i
j
0, , 9, i
1
,= 0 (om de representatie uniek te maken) en e een geheel getal dat in
absolute waarde kleiner is dan 10
q
. Men noemt m = 0.i
1
i
2
. . . i
t
de mantisse, en e de exponent.
We zeggen dat we een drijvende komma representatie hebben met t cijfers in de mantisse en q
cijfers in de exponent. Het getal 0 valt niet onder (1.4), maar we noemen het per denitie ook een
machinegetal.
Neem bijvoorbeeld t = 3 en q = 2. In de praktijk is t natuurlijk veel groter, maar voor de eenvoud
beperken we ons tot een kleine waarde van t. We hebben dan bijvoorbeeld
1 = .10010
1
1/2 = .510
0
De som x
1
+x
2
van twee machinegetallen is niet noodzakelijk een machinegetal, en hetzelfde geldt
voor product en quoti ent. Er zijn twee mogelijke problemen.
1) Merk op dat het grootste machinegetal x
max
gegeven wordt door de formule
x
max
= .99. . . 910
10
q
1
= (110
t
)10
10
q
1
Het is duidelijk dat x
max
+x
max
geen machinegetal is. Dit verschijnsel noemen we overow. Ana-
loge problemen hebben we met het kleinste strikt positieve machine getal x
min
:
x
min
= .100 010
110
q
= 10
10
q
en duidelijk is x
min
x
min
geen machinegetal. Dit verschijnsel wordt underow genoemd.
2) Het is ook mogelijk dat x
1
+x
2
tussen twee machinegetallen invalt. Neem bijvoorbeeld t = 3 en
q = 2, en stel
x
1
= .33310
0
= .333
x
2
= .10010
3
= .0001
x
1
+x
2
= .333110
0
is geen machinegetal.
Neem een re eel getal x, en onderstel dat x binnen het bereik van de machine ligt, dit wil zeggen dat
8
x
min
[x[ x
max
. We noteren (x) voor het machinegetal dat het dichts bij x ligt; indien x net op
de helft tussen twee opeenvolgende machinegetallen ligt, dan spreken we bijvoorbeeld af om naar
boven af te ronden.
Welke fout maken we als we x vervangend door (x)? Onderstel dat x = m10
e
, met .1 [m[ < 1
en [e[ < 10
q
. Dan is
[x (x)[
1
2
10
t
10
e
Aangezien x 10
e1
hebben we voor de relatieve fout

x (x)
x

1
2
10
t
10
e
10
1e
=
10
1t
2
Het getal = 10
1t
/2 noemt men de machinenauwkeurigheid.
We kunnen nu de som,het verschil, het product en het quoti ent van twee machinegetallen x
1
en x
2
deni eren:
x
1
x
2
= (x
1
+x
2
)
x
1
x
2
= (x
1
x
2
)
x
1
x
2
= (x
1
x
2
)
x
1
x
2
= (x
1
/x
2
)
Aangezien

(ab) (a+b)
a+b

hebben we
ab = (a+b)(1+) (1.5)
waarbij [[ . Op analoge wijze hebben we
ab = (ab)(1+
1
) (1.6)
ab = ab(1+
2
) (1.7)
ab = (a/b)(1+
3
) (1.8)
waarbij [
i
[ . De bewerkingen met machinegetallen voldoen niet langer aan de gebruikelij-
ke eigenschappen. Zo is de som van machinegetallen niet associatief, zoals blijkt uit volgend
voorbeeld.
Voorbeeld 1.3.1 We werken met 3 cijfers in de mantisse. Stel
x = .33310
0
= .333 ; y = z = .40010
3
= .0004
Als we x +y +z op de gebruikelijke manier uitrekenen, dan vinden we
x +y +z = .3338
9
We vinden achtereenvolgens
x y = .33310
0
en (x y) z = .33310
0
en
y z = .80010
3
en x (y z) = .33410
0
Deze laatste benadering is beter! Een vuistregel is de volgende. Wanneer men een groot aantal
getallen moet optellen, dan is het aan te bevelen om de getallen volgens grootte te rangschikken,
en ze dan van klein naar groot op te tellen.
Voorbeeld 1.3.2 Gevraagd wordt om y = 1x
2
te berekenen, voor x dicht bij 1 gelegen. De voor
de hand liggende manier om y te berekenen is de volgende.
y = 1x x (1.9)
Gebruik makende van (1.6) en (1.7) vinden we
y = (1x
2
(1+
1
))(1+
2
)
= (1x
2
) +(1x
2
)
2
x
2

1
(1+
2
)
y +y
2

1
We gebruikten het feit dat
1

2
verwaarloosbaar is ten opzichte van
1
(omdat klein is), en ook
dat x
2
1. Nu volgt dat

y y
y

1
y
Hoe dichter x bij 1 ligt, hoe dichter y bij 0 ligt, en hoe groter de relatieve fout op y!
Een beter algoritme om y te benaderen is het volgende. Bereken
y = (1x) (1x) (1.10)
We vinden nu dat
y = (1x) (1x) (1.11)
= ((1x)(1+
1
)(1+x)(1+
2
))(1+
3
) (1.12)
= y(1+
1
)(1+
2
)(1+
3
) (1.13)
y(1+
1
+
2
+
3
) (1.14)
en

y y
y

[
1
+
2
+
3
[ 3
en het blijkt dat de relatieve fout op y van dezelfde grootte orde is als die op x. Het algoritme (1.10)
is dan ook beter dan (1.9); we zeggen dat (1.10) numeriek stabiel is.
Laten we alles veri eren aan de hand van een numeriek voorbeeld. We werken met 4 cijfers in de
mantisse. Neem x = 1.002 = .100210. Dan is x x = .100410 en
y = 1x x =.000410 =.400010
3
10
Op dezelfde manier vinden we dat 1x = .200010
2
, 1x = .200210 en
y = (1x) (1x) =.400410
3
en we zien dat y een betere benadering is van y dan y.
Wat er mist gaat met het algoritme (1.9) is het feit dat we twee getallen die ongeveer aan mekaar
gelijk zijn (1 en x
2
) van elkaar aftrekken. Dit gaat gepaard met een groot verlies in relatieve
nauwkeurigheid. In (1.10) vermijden we deze aftrekking, en dit is de reden waarom we een beter
resultaat verkrijgen. Een vuistregel is dat we bij het opstellen van een numeriek algoritme steeds
trachten om het van elkaar aftrekken van twee ongeveer aan elkaar gelijke getallen te vermijden.
De analyse die we verrichtten in voorbeeld 1.3.2 noemen we een voorwaartse foutenanalyse: we
kennen een bovengrens voor de fouten op de gegevens, en trachten hieruit een bovengrens te vin-
den voor de fouten op het eindresultaat. Het spreekt vanzelf dat zulk een foutenanalyse voor meer
ingewikkelde algoritmen niet altijd eenvoudig is.
Een analoog vraagstuk is dat van de achterwaartse foutenanalyse: men wenst de eindresultaten
met een zekere nauwkeurigheid te bepalen, en men vraagt welke fouten men mag dulden op de ge-
gevens, en met welke nauwkeurigheid de tussenresultaten moeten berekend worden. Dit probleem
is in het algemeen moeilijker dan het vorige.
1.4 Het conditiegetal en de onvermijdbare fout
Beschouw het probleem waarin een numerieke functie y = f (x) dient berekend te worden. We
onderstellen dat ons probleem goed gesteld is. Hiermee bedoelen we dat y eenduidig bepaald is op
een omgeving van x, en ook dat y continu afhangt van x op een omgeving van x.
Onderstel een kleine afwijking x op de gegevens. Zoals we hierboven gezien hebben is de onver-
mijdbare fout de afwijking y die tengevolge hiervan ontstaat op het eindresultaat y.
[y[ =[ f (x +x) f (x)[ [ f
/
(x)x[
voor de relatieve onvermijdbare fout vinden we

y
y

x f
/
(x)
y

x
x

Het getal c = [x f
/
(x)/y[ noemen we het conditiegetal. Hoe groter c, hoe groter de onvermijdbare
fout. Als we onderstellen dat de relatieve fout op de gegevens enkel ontstaat door de afronding bij
het invoeren van de gegevens, dan wordt deze relatieve fout begrensd door de machinenauwkeu-
righeid . In dit geval vinden we voor de onvermijdbare fout

y
y

c
We noemen ons probleem goed geconditionneerd als c niet te groot is (bijv. c 100). Anders
zeggen we dat het probleem slecht geconditionneerd is.
11
Voorbeeld 1.4.1 We keren terug naar de situatie in voorbeeld 1.3.2. Voor het conditiegetal vinden
we
c = 2

x
2
1x
2

en we zien dat het probleem slechter geconditionneerd is naarmate x dichter bij 1 komt te liggen.
Neem bijvoorbeeld x = 1.0023 Dan is (x) = 1.002, en
1x
2
= .46052910
2
1(x)
2
= .40040010
2
De relatieve onvermijdbare fout bedraagt 13 %.
Voorbeeld 1.4.2 Bekijk het lineaire stelsel
_
x +y = 2
1.01x +y = 2.01
De oplossing van dit stelsel is x = y = 1.
Als we de co efci enten van het stelsel lichtjes wijzigen, dan heeft dit aanzienlijke gevolgen voor
de oplossing:
_
x +y = 2
1.001x +y = 2.01
heeft als oplossing x = 10, y =8.
In het algemeen heeft
_
x +y = 2
(1+)x +y = 2.01
als determinant . Voor klein is de determinant ook klein, zodat we moeilijkheden kunnen
verwachten. De algemene oplossing is x =.01/ en y =2.01/. Een kleine wijziging in brengt
een groot verschil in de oplossing teweeg. Ons probleem is dan ook slecht geconditionneerd.
Over de bibliograe
[2] is het meest elementaire werk uit de referentielijst; de inhoud ervan is grotendeels parallel met
die van deze syllabus. Andere - meer uitgebreide - referentiewerken voor numerieke analyse zijn
[3] and [4]. [1] is het standaardwerk voor numerieke lineaire algebra.
12
Hoofdstuk 2
Het oplossen van vergelijkingen
2.1 Algoritmen voor het oplossen van vergelijkingen
Gegeven is een continue functie f : [a, b] R, en gevraagd wordt om de nulpunten van de functie
f te bepalen. Onze methode bestaat er in om een rij (x
n
) te zoeken die naar een oplossing van
f (x) = 0 (2.1)
convergeert. De rij (x
n
) wordt recursief gedenieerd: Men vertrekt van een startwaarde x
0
, en men
berekent x
n+1
uit x
n
met behulp van een formule van de vorm
x
n+1
= (x
n
)
In sommige gevallen heeft men meer ingewikkelde recursieformules; soms is de recursieformule
van de vorm
x
n+1
= (x
n
, x
n1
)
Volgende vragen stellen zich:
1) Hoe vinden we een gepaste iteratieve rij (x
n
)?
2) Is de gevonden rij (x
n
) convergent?
3) Convergeert de rij (x
n
) naar een oplossing x van (2.1)?
4) Hoe groot is de fout [x
n
x[.
In deze paragraaf geven we een antwoord op de eerste vraag.
Een algemene formule
Neemeen willekeurige continue functie k : [a, b] Rdie nergens nul wordt. (2.1) is dan equivalent
met
x = x +k(x) f (x) (2.2)
De oplossingen van van (2.2) zijn de dekpunten van de operator
O : [a, b] R : x x +k(x) f (x)
13
De dekpuntstelling vertelt ons wanneer een operator van een metrische ruimte naar zichzelf een
uniek dekpunt heeft (zie [WISA4, hfst. 1]). We komen op de dekpuntstelling verder meer uit-
gebreid terug, en merken hier alleen op dat het unieke dekpunt kan gevonden worden door te
vertrekken van een punt x
0
en daarop successievelijk de operator O toe te passen. In ons geval is
O een gewone numerieke functie, en stellen als algoritme voor
x
n+1
= x
n
+k(x
n
) f (x
n
) (2.3)
Als de rij (x
n
) convergeert, dan is de limiet x zeker een oplossing van (2.2) (en (2.1)). Het volstaat
in (2.3) de limiet te nemen voor n van beide leden.
De methode van Newton
Onderstel dat f differentieerbaar is over [a, b]. Onderstel dat we een benadering x
n
van een wortel
van (2.1) kennen. We benaderen de kromme y = f (x) door de raaklijn in het punt (x
n
, f (x
n
)). We
nemen als nieuwe benadering x
n+1
van de oplossing van (2.1) het snijpunt van deze raaklijn en de
x-as.
y
x
y = f(x)
x
n+1
x
n
f(x)
n
x
Figuur 2.1: De methode van Newton
De vergelijking van de raaklijn in (x
n
, f (x
n
)) is
y f (x
n
) = f
/
(x
n
)(x x
n
)
Stel y = 0, en los op naar x. Dit geeft de formule van Newton
x
n+1
= x
n

f (x
n
)
f
/
(x
n
)
(2.4)
(2.4) is het speciaal geval van (2.3), waarbij k(x) = 1/ f
/
(x). De methode van Newton is de
belangrijkste methode om algebraische vergelijkingen op te lossen. We zullen zien dat de me-
thode relatief snel convergeert naar een oplossing in zeer veel gevallen. Het nadeel is dat men
bij elke iteratieslag de afgeleide f
/
(x) moet berekenen. Daarom gebruikt men soms de volgende
vereenvoudiging.
14
De methode van de vaste richting
Om te vermijden dat men de afgeleide bij elke iteratieslag moet berekenen vervangt men f
/
(x
n
)
door f
/
(x
0
). Men krijgt dan de methode van de vaste richting.
x
n+1
= x
n

f (x
n
)
f
/
(x
0
)
(2.5)
(2.5) is weer een speciaal geval van (2.3)
De methode van de koorde
Dit is een iteratieve methode waarbij x
n+1
berekend wordt uit x
n
en x
n1
. Men vervangt de kromme
y = f (x) door de koorde die (x
n1
, f (x
n1
)) en (x
n
, f (x
n
)) verbindt (zie Figuur ??).
y
x
y = f(x)
x
n+1
x
n
x
x
n1
Figuur 2.2: De methode van de koorde
De vergelijking van deze koorde is
y f (x
n
)
x x
n
=
f (x
n1
) f (x
n
)
x
n1
x
n
Het snijpunt x
n+1
van de koorde met de x-as wordt gegeven door de formule
x
n+1
=
x
n
f (x
n1
) x
n1
f (x
n
)
f (x
n1
) f (x
n
)
(2.6)
De methode van de koorde is de belangrijkste methode om vergelijkingen op te lossen na die van
Newton. Een van de voordelen is dat men geen afgeleiden hoeft te berekenen.
15
Regula Falsi
Dit is een verjning van de methode van de koorde. Onderstel bij de methode van de koorde dat
x
n+1
berekend werd uitgaand van x
n
en x
n1
. Bij het berekenen van x
n+2
kan men dan ofwel x
n+1
en x
n
gebruiken, ofwel x
n+1
en x
n1
.
Bij de regula falsi (methode van de valse positie van het nulpunt) gaat men als volgt tewerk.
Onderstel dat x
0
en x
1
kunnen gevonden worden zodat f (x
0
) en f (x
1
) verschillend teken hebben.
Men bepaalt x
2
met behulp van de methode van de koorde, en berekent f (x
2
). Als f (x
0
) en f (x
2
)
verschillend teken hebben, dan werkt men verder met x
0
en x
2
. Als f (x
1
) en f (x
2
) verschillend
teken hebben, dan werkt men verder met x
1
en x
2
.
In sommige gevallen kan men een van de uiteinden van het interval kiezen. Dit doet zich bijvoor-
beeld voor indien f (x
0
) > 0, f (x
1
) < 0 en f
//
> 0 ( f is concaaf). Men spreekt dan van de methode
van Lin.
Oplossing door dichotomie
Men gaat te werk zoals bij de regula falsi, maar in plaats van de methode van de koorde toe te
passen, deelt men gewoon het interval in twee. Onderstel dat x
0
en x
1
kunnen gevonden worden
zodat f (x
0
) en f (x
1
) verschillend teken hebben. Stel x
2
= (x
0
+x
1
)/2, en werk dan voort met x
0
en x
2
of met x
1
en x
2
alnaargelang het teken van f (x
2
).
Een voordeel van de methode is dat men steeds een bovengrens voor de fout kent: de fout wordt
bij elke iteratie door twee gedeeld. Een nadeel is dat de convergentie nogal traag verloopt: men
heeft drie tot vier iteratieslagen nodig om een beduidend cijfer meer van de oplossing te kennen.
Voorbeeld 2.1.1 Gegeven is een positief getal a. Er wordt gevraagd om

a te berekenen.

a is
een wortel van de vergelijking
x
2
a = 0
De methode van Newton levert als algoritme
x
n+1
= x
n

x
2
n
a
2x
n
=
1
2
_
x
n
+
a
x
n
_
(2.7)
We beweren dat lim
n
x
n
=

a als x
0
> 0. Om dit in te zien tonen we eerst aan dat
x
n
=

a
(x
0
+

a)
2
n
+(x
0

a)
2
n
(x
0
+

a)
2
n
(x
0

a)
2
n
(2.8)
Dit gaat per inductie op n. Voor n = 0 is de formule duidelijk. Onderstel dat (2.8) waar is voor n.
Dan is
x
n+1
=
1
2
_
x
n
+
a
x
n
_
=

a
2
_
(x
0
+

a)
2
n
+(x
0

a)
2
n
(x
0
+

a)
2
n
(x
0

a)
2
n
+
(x
0
+

a)
2
n
(x
0

a)
2
n
(x
0
+

a)
2
n
+(x
0

a)
2
n
_
16
=

a
2
_
(x
0
+

a)
2
n
+(x
0

a)
2
n
_
2
+
_
(x
0
+

a)
2
n
(x
0

a)
2
n
_
2
(x
0
+

a)
2
n+1
(x
0

a)
2
n+1
=

a
(x
0
+

a)
2
n+1
+(x
0

a)
2
n+1
(x
0
+

a)
2
n+1
(x
0

a)
2
n+1
zoals gewenst. Stel nu
y =
x
0

a
x
0
+

a
Als x
0
>

a, dan is 0 < y < 1, en als 0 < x


0
<

a, dan is 1 < y < 0. In elk geval vinden we dat


lim
n
x
n
=

a lim
n
1+y
2
n
1y
2
n
=

a
We berekenen als voorbeeld

3. Een mogelijk MATLAB programma is het volgende:


% berekening van

a
a = 3;
x(1) = 2;
f or i = 1 : 10
x(i +1) = (x(i) +(a/x(i)))/2;
end
x
Startwaarde was x(1) = 2; na drie iteraties vinden we reeds x(4) = 1.73205080756888; alle deci-
malen zijn correct.
Voorbeeld 2.1.2 Men kan de methode van Newton ook gebruiken om andere algoritmen op te
schrijven die toelaten om

a te berekenen. Het volstaat de vergelijking onder een andere vorm te


herschrijven.

a is een oplossing van de vergelijking
1
a
x
2
= 0
De methode van Newton levert het volgende algoritme
x
n+1
=
1
2a
(3ax
n
x
3
n
) (2.9)
We beweren dat dit algoritme convergeert naar

a als 0 < x <

a. Om dit in te zien merken we


eerst op dat, indien (x
n
) convergeert naar x, dat dan x gelijk is aan 0,

a of

a. Het volstaat om
de limiet van (2.9) voor n te nemen. We krijgen x =
1
2a
(3ax x
3
), en de wortels hiervan zijn
juist 0,

a en

a.
We bestuderen nu eerst het teken van
x
n+1
x
n
=
1
2a
(ax
n
x
3
n
)
=
x
n
2a
(

ax
n
)(

a+x
n
)
17
Als 0 < x
n
<

a, dan is dus x
n+1
> x
n
.
Bekijk nu de functie f (x) = (3ax x
3
)/2a. De afgeleide hiervan is
f
/
(x) =
1
2a
(3a3x
2
) =
3
2a
(

ax)(

a+x)
Voor x (0,

a), is f
/
(x) > 0. We hebben dus een monotoon stijgende bijectie
f : (0,

a)(0,

a)
Als x
0
(0,

a), dan geldt dus dat


0 < x
0
< x
1
< x
2
< x
3
< <

a
(x
n
) is stijgend en begrensd, en dus convergent. De limiet kan enkel

a zijn.
Voor x (

a,

3a), is f
/
(x) < 0. We hebben dus een monotoon dalende bijectie
f : (

a,

3a)(0,

a)
Als x
0
(

a,

3a), dan is x
1
(0,

a) en
0 < x
1
< x
2
< x
3
< <

a
en (x
n
) convergeert naar

a.
Bij wijze van voorbeeld berekenen we weer

3. Een eenvoudig MATLAB programma is


% berekening van

a
a = 3;
x(1) = 2;
f or i = 1 : 10
x(i +1) = (3ax(i) x(i)
3
)/(2a);
end
x
We namen als startwaarde x(1) = 2, zoals in het voorgaande voorbeeld. Na vijf iteraties vinden we
de correcte waarde x(6) = 1.73205080756888.
Ga zelf na dat het algorimte convergeert naar

a als x
0
(

3a, 0).
De methode van Newton voor een veelterm
Gegeven is een re ele veelterm f (x), en gevraagd wordt om deze in factoren te ontwikkelen. We
weten dat de lineaire factoren overeenstemmen met de nulpunten van de veelterm. Deze kunnen
we bepalen met behulp van de methode van Newton.
Bij elke iteratieslag moeten we f (x
n
) en f
/
(x
n
) berekenen. Uiteindelijk moeten we ook de co efci enten
18
van het quoti ent bepalen. Ook hiervoor trachten we bij elke iteratieslag benaderingen te vinden.
Schrijf
f (x) = a
0
x
N
+a
1
x
N1
+ +a
N
en neem een re eel getal a. Rest en quoti ent bij deling van f (x) door x a kunnen bepaald worden
met behulp van de regel van Horner. Laten we deze (opnieuw) opstellen. Delen van f (x) door
x a geeft
f (x) = (x a)q(x) + f (a) (2.10)
Schrijf
q(x) = b
0
x
N1
+b
1
x
N2
+ +b
N1
Gelijkstellen van co efci enten van gelijke machten in (2.10) levert
_

_
a
0
= b
0
a
1
=ab
0
+b
1
.
.
.
a
k
=ab
k1
+b
k
.
.
.
a
N
=ab
N1
+ f (a)
Stel b
N
= f (a). b
0
, . . . , b
N
kunnen berekend worden met de formules
b
0
= a
0
en
b
k
= ab
k1
+a
k
(2.11)
voor k = 1, . . . , N. Dit is inderdaad niets anders dan de regel van Horner. Om f
/
(a) te bepalen
leiden we (2.10) af naar x.
f
/
(x) = q(x) +(x a)q
/
(x)
en hieruit volgt dat f
/
(a) = q(a). Men berekent q(a) opnieuw met de regel van Horner, maar nu
toegepast op de veelterm q. Dit geeft de volgende formules.
c
0
= b
0
en
c
k
= ac
k1
+b
k
(2.12)
voor k = 1, . . . , N1. Nu is c
N1
= q(a) = f
/
(a).
Bij elke iteratieslag gaat men nu als volgt te werk: onderstel dat men een benadering x
n
voor een
wortel heeft. Men bepaalt f (x
n
), f
/
(x
n
) en de co efci enten van het quoti ent q
n
(x) zoals hierboven
(met x
n
= a), en men past dan de formule van Newton toe om x
n+1
te berekenen. We kunnen het
algoritme als volgt samenvatten:
1) Onderstel dat we een benadering x
n
voor a hebben;
2) stel b
0
= c
0
= a
0
; 3) bereken b
1
, b
2
, . . . , b
N
met de recursieformule (2.11):
b
k
= x
n
b
k1
+a
k
19
4) bereken c
1
, c
2
, . . . , c
N1
met de recursieformule (2.12):
c
k
= x
n
c
k1
+b
k
5) bepaal x
n+1
met behulp van de formule van Newton:
x
n+1
= x
n

b
n
c
N1
2.2 Convergentie
De dekpuntstelling
Onder welke voorwaarden convergeert een iteratieve methode? Om dit algemeen te kunnen be-
handelen herhalen we eerst de contractiestelling , die een speciaal geval is van de dekpuntstelling.
Voor meer details verwijzen we naar volume 4 van de cursus Wiskundige Analyse.
Een metrische ruimte is een verzameling E uitgerust met een afstand d. Een afstand d is een
afbeelding
d : E ER
+
die voldoet aan de volgende axiomas.
1) d(x, y) = d(y, x);
2) d(x, y) = 0 x = y;
3) d(x, y) d(x, z) +d(z, y),
voor elke x, y, z E.
Een rij (x
n
) in een metrische ruimte E convergeert naar x E als
> 0, N : n > N =d(x, x
n
) <
We noemen (x
n
) een Cauchy rij als
> 0, N : n, m > N =d(x
m
, x
n
) <
Men bewijst gemakkelijk dat elke convergente rij een Cauchy rij is. Indien elke Cauchy rij conver-
gent is, dan zeggen we dat de metrische ruimte E volledig is.
Een afbeelding O : E E (soms ook operator genoemd) is een contractie of een samentrekking
indien er een c [0, 1) bestaat zodat
d(O(x), O(y)) cd(x, y)
voor elke x, y E. De contractiestelling kan nu als volgt geformuleerd worden.
Stelling 2.2.1 Onderstel dat E, d een volledige metrische ruimte is, en dat O : E E een con-
tractie is. Dan hebben we volgende eigenschappen.
1) O heeft juist e en dekpunt x. Dit betekent dat er juist e en x E bestaat die een oplossing is van
de vergelijking
O(x) = x
20
2) Voor elke x E geldt:
lim
n
O
n
(x) = x
3) We hebben bovendien:
d(x, O
n
(x))
c
n
1c
d(x, O(x))
Convergentie van de algemene formule
Beschouw de vergelijking f (x) = 0, en onderstel dat k : [a, b] R een continue functie is zonder
nulpunten in [a, b]. We zagen in vorige paragraaf de volgende iteratieve formule
x
n+1
= x
n
+k(x
n
) f (x
n
) = g(x
n
) (2.13)
waarbij g(x) = x+k(x) f (x). We zullen altijd impliciet onderstellen dat g continu differentieerbaar
is.
We zouden graag de contractiestelling toepassen in de volgende situatie: E = [a, b], d(x, y) =[xy[
en O = g. Merk op dat [a, b] volledig is als metrische ruimte. Dit volgt uit het feit dat R volledig
is, en het feit dat het beschouwde interval gesloten is.
Stelling 2.2.2 Onderstel dat voldaan is aan de volgende twee voorwaarden:
1) g(x) [a, b], voor elke x [a, b];
2) Er bestaat een c [0, 1) zodat [g
/
(x)[ c voor elke x (a, b);
dan bezit de vergelijking f (x) = 0 juist e en wortel in [a, b]. Deze kan gevonden worden als de
limiet van de rij (x
n
), waarbij x
0
een willekeurige startwaarde in [a, b] is.
Bewijs. De eerste voorwaarde garandeert dat g : E E een operator is. Uit de stelling van
Lagrange volgt dat
[g(x) g(y)[ =[g
/
()(x y)[ c[x y[
voor elke x, y [a, b]. Hierin is (x, y) (a, b), zodat [g
/
()[ c. g is dus een samentrekking,
en we kunnen de contractiestelling toepassen.
Opmerkingen 2.2.3 1) De eerste voorwaarde in de stelling is in het algemeen degene die het
moeilijkste te veri eren is. Een goede keuze van het interval [a, b] is hier cruciaal. [a, b] mag niet
te groot zijn: het kan zijn dat f (x) = 0 meer dan e en oplossing heeft, en in dit geval moet het
interval [a, b] zo gekozen worden dat er maar e en wortel in ligt.
2) De contractiestelling geeft ons ook een bovengrens voor de fout.
[x
n
x[
c
n
1c
[x
0
x
1
[
Hoe dichter de startwaarde x
0
bij de gezochte wortel ligt, hoe kleiner [x
0
x
1
[ is, en hoe beter de
convergentie zal zijn.
Hoe dichter c bij 1 ligt, hoe trager de convergentie zal verlopen; dit wordt veroorzaakt door twee
factoren: c
n
in de teller gaat trager naar nul, en de noemer 1c ligt dichter bij nul.
21
Als het interval symmetrisch is rond de gezochte wortel, dan kunnen we voorwaarde 1) uit de
voorgaande stelling elimineren.
Stelling 2.2.4 Onderstel dat x een oplossing is van de vergelijking f (x) = 0. Als er een c [0, 1)
bestaat zodat [g
/
(x)[ c voor elke x (x , x +), dan is voldaan aan de voorwaarden van
stelling 2.2.2, en we kunnen besluiten dat de rij (x
n
) naar x convergeert.
Bewijs. We moeten alleen voorwaarde 1) uit stelling 2.2.2 veri eren. Neem x (x, x+). Dan
is
[g(x) x[ =[g(x) g(x)[ =[g
/
()[[x x[ c[x x[ <
zodat g(x) (x , x +). g is (links)continu in x , zodat
g(x ) = lim
h0+
g(x +h) [x , x +]
en hetzelfde geldt voor het andere eindpunt.
Gevolg 2.2.5 Als x een wortel is van de vergelijking f (x) = 0, g
/
continu is in x, en [g
/
(x)[ < 1,
dan convergeeert de iteratieve methode (2.13) zodra de startwaarde voldoende dicht bij x ligt.
Bewijs. g is continu differentieerbaar in x. Stel c = [g
/
(x)[, en neem > 0 zodat c + < 1. Er
bestaat een > 0 zodat
[x x[ < = [g
/
(x) g
/
(x)[ <
= c g
/
(x) < g
/
(x) < g
/
(x) + c +
= [g
/
(x)[ < c +
We kunnen nu stelling 2.2.4 toepassen.
Convergentie van de methode van Newton
In dit bijzonder geval is
g(x) = x
f (x)
f
/
(x)
en
g
/
(x) = 1
f
/
(x)
f
/
(x)
+
f (x) f
//
(x)
f
/
(x)
2
=
f (x) f
//
(x)
f
/
(x)
2
Onderstel dat f
/
(x) ,= 0. Dan is
g
/
(x) = 0
zodat aan de voorwaarden van gevolg 2.2.5 voldaan is. We hebben dus volgende eigenschap be-
wezen.
Stelling 2.2.6 Als x een nulpunt is van de vergelijking f (x) = 0, en f
/
(x) ,= 0, dan convergeert de
methode van Newton als de startwaarde x
0
voldoende dicht bij x gekozen wordt.
22
Opmerkingen 2.2.7 1) We zien ook dat
lim
xx
g
/
(x) = g
/
(x) = 0
Dit betekent het volgende: hoe dichter de benadering x
n
bij x, hoe kleiner g
/
(x), en hoe kleiner
c. Dit betekent dat de convergentie sneller en sneller verloopt naarmate x
n
dichter bij de wortel x
komt. Men zegt dat de methode van Newton zelfverbeterend is.
2) De methode van Newton werkt niet als f
/
(x) = 0. Dit betekent in feite dat x geen enkelvoudige
wortel van de vergelijking is. Als men van tevoren weet dat er een dubbele wortel x bestaat (d.w.z.
dat f (x) = (x x)
2
f
1
(x), met f
1
(x) ,= 0), dan kan men de vergelijking f (x) = 0 vervangen door
_
[ f (x)[ = 0
Deze vergelijking heeft dan een enkelvoudig nulpunt. Toepassing van de methode van Newton
levert volgend algoritme.
x
n+1
= x
n
2
f (x
n
)
f
/
(x
n
)
Convergentie van de methode van de vaste richting
Nu is
g(x) = x
f (x)
f
/
(x
0
)
en
g
/
(x) = 1
f
/
(x)
f
/
(x
0
)
De voorwaarde [g
/
(x)[ c < 1 wordt
1c
f
/
(x)
f
/
(x
0
)
1+c
met c [0, 1). Dit betekent dat de richting van de raaklijn aan de kromme y = f (x) ongeveer
constant is over het beschouwde interval.
2.3 De orde van een iteratieve methode
Onderstel dat x een wortel is van de vergelijking f (x) = 0, en dat (x
n
) een iteratieve rij is, waarvan
we verwachten dat ze naar x convergeert. De fout die we maken bij de n-de iteratie is dan x
n
x.
Onderstel dat we een rij bovengrenzen (m
n
) voor de fout kunnen bepalen:
[x
n
x[ m
n
23
Denitie 2.3.1 Als er een rij bovengrenzen (m
n
) bestaat, en constanten k en zodat
m
n+1
= km

n
dan zeggen we dat de iteratieve methode van orde is.
Stelling 2.3.2 Als 1 en km
1
n
0
< 1 voor een zekere index n
0
, dan is de iteratieve methode
convergent.
Bewijs. De convergentie van de rij (x
n
) verandert niet als we de eerste n
0
termen van de rij wegla-
ten. We kunnen dus gerust onderstellen dat n
0
= 0. We stellen
c = km
1
0
Dan is
m
1
= km

0
= km
1
0
m
0
= cm
0
en
m
2
= km

1
= kc

0
= kc

m
1
0
m
0
= c
1+
m
0
en
m
3
= km

2
= kc
+
2
m

0
= c
1++
2
m
0
In het algemeen vinden we
m
n
= c
1++
2
++
n1
m
0
Bewijs de algemene formule zelf, met behulp van inductie op n. Omdat 1 en 0 c < 1 is
lim
n
c
1++
2
++
n1
= 0
en
lim
n
m
n
= 0
zodat er convergentie is.
Een iteratieve methode is dus convergent als de orde minstens 1 is, en als de startwaarde voldoende
dicht bij de wortel ligt. Indien er convergentie is, dan gaat de convergentie des te sneller naarmate
de orde van de methode hoger is.
Voorbeelden 2.3.3 1) De methode door dichotomie is van orde 1: we hebben gezien dat de fout
bij elke iteratie door twee gedeeld wordt.
m
n+1
=
1
2
m
n
2) De methode van Newton is van orde 2. Herinner dat
g(x) = x
f (x)
f
/
(x)
24
Onderstel dat g
//
(x) begrensd is in een omgeving van x. Dan is zeker f
/
(x) ,= 0. Met behulp van de
formule van Taylor vinden we
x
n+1
x = g(x
n
) g(x)
= (x
n
x)g
/
(x) +(x
n
x)
2
g
//
()
2
= (x
n
x)
2
g
//
()
2
Neem een gesloten omgeving van x waarop g
//
begrensd is. Over deze omgeving kunnen we
schrijven: [g
//
(x)[ < k. Als [x
n
x[ m
n
, dan geldt dus dat
[x
n+1
x[
k
2
[x
n
x[
2

k
2
m
2
n
en we kunnen dus m
n+1
=
k
2
m
2
n
nemen.
3) De methode van de vaste richting is van orde 1. Het bewijs is analoog met dat voor de methode
van Newton, maar men schrijft de Taylor ontwikkeling slechts tot op orde 1 op. Als de methode
van de vaste richting convergeert, dan convergeert ze dus trager dan de methode van Newton. Dit
is net wat we verwachten.
4) Men kan aantonen dat de methode van de koorde asymptotisch van orde = (1+

5)/2 1.618
is. Dit betekent dat er majoranten m
n
voor de fout na de n-de iteratie bestaan zodat
lim
n
m
n+1
m

n
= c
Het bewijs maakt gebruik van de getallen van Fibonacci.
5) De volgende iteratieve methode is van orde 3:
x
n+1
= g(x
n
) = x
n

f (x
n
)
f
/
(x
n
)

f
//
(x
n
) f (x
n
)
2
2 f
/
(x
n
)
3
Het volstaat om aan te tonen dat g
/
(x) = g
//
(x) = 0. Redeneer vervolgens zoals bij de methode
van Newton, maar ontwikkel nu tot op orde 3. Het nadeel bij bovenstaande formule is dat ze
ingewikkeld is. In de praktijk wordt ze weinig gebruikt.
2.4 Versnelling van de convergentie: de methode van Aitken
We beschouwen weer de vergelijking f (x) = 0, en we onderstellen dat x een wortel is. Beschouw
een iteratieproces
x
n+1
= g(x
n
)
zodanig dat g
/
continu is op een omgeving van x. Als 0 < [g
/
(x)[ < 1, dan convergeert het itera-
tieproces naar x als de startwaarde x
0
dicht genoeg bij x ligt (zie gevolg 2.2.5), en bovendien is de
methode van orde 1 (net zoals de methode van de vaste richting). Dit betekent dat de convergentie
relatief traag verloopt. Onderstel nu dat
x
0
x ,= 0
25
Aangezien
x
n+1
x = g(x
n
) g(x) = g
/
(
n
)(x
n
x)
volgt dat ook x
n+1
x ,= 0. We krijgen ook dat
lim
n
x
n+1
x
x
n
x
= lim
n
g
/
(
n
) = g
/
(x)
want g
/
is continu. In benadering hebben we dus
x
n+1
x g
/
(x)(x
n
x) (2.14)
x
n+2
x g
/
(x)(x
n+1
x) (2.15)
We kunnen dit benaderde stelsel oplossen naar g
/
(x) en x, en we verwachten dat dit een betere
benadering geeft van x dan x
n
. (2.15) aftrekken van (2.14) geeft
g
/
(x)
x
n+2
x
n+1
x
n+1
x
n
Uit (2.14) volgt nu
x
n+1
g
/
(x)x
n
x(1g
/
(x))
en
x
x
n+1
g
/
(x)x
n
1g
/
(x)
=
x
n+1
x
n
1g
/
(x)
+
x
n
g
/
(x)x
n
1g
/
(x)
= x
n
+
x
n+1
x
n
1g
/
(x)
x
n
+
x
n+1
x
n
1
x
n+2
x
n+1
x
n+1
x
n
= x
n

(x
n+1
x
n
)
2
x
n+2
2x
n+1
+x
n
= x
/
n
We verwachten dat x
/
n
een betere benadering is van x dan x
n
. Dit wordt aangetoond door de vol-
gende stelling.
Stelling 2.4.1 Beschouw een convergente numerieke rij (x
n
), met limiet x. Als x
n
,= x voor elke
index n, en
lim
n
x
n+1
x
x
n
x
= a
met 0 <[a[ < 1, dan convergeert de rij (x
/
n
) sneller naar x dan (x
n
). Hiermee bedoelen we dat
lim
n
x
/
n
x
x
n
x
= 0 (2.16)
x
/
n
wordt gegeven door de formule
x
/
n
= x
n

(x
n+1
x
n
)
2
x
n+2
2x
n+1
+x
n
(2.17)
26
Bewijs. We noteren f
n
= x
n
x, en
n
= f
n+1
/ f
n
a. Dan is
f
n+1
= f
n
(a+
n
) en lim
n

n
= 0
We vinden nu dat
x
n+2
2x
n+1
+x
n
= (x
n+2
x) 2(x
n+1
x) +(x
n
x)
= f
n+2
2 f
n+1
+ f
n
= (a+
n+1
)(a+
n
) f
n
2 f
n
(a+
n
) + f
n
= f
n
_
(a1)
2
+
/
n
_
met lim
n

/
n
= 0.
De noemer in (2.17) is nooit nul omdat [a[ < 1 en f
n
,= 0. Verder is
x
n+1
x
n
= f
n+1
f
n
= f
n
(a1+
n
)
en
x
/
n
x = x
n
x
f
2
n
(a1+
n
)
2
f
n
_
(a1)
2
+
/
n
_
zodat
lim
n
x
/
n
x
x
n
x
= lim
n
_
1
(a1+
n
)
2
(a1)
2
+
/
n
_
= lim
n

/
n
2(a1)
n
+
2
n
(a1)
2
+
/
n
= 0
en dit bewijst de stelling.
Opmerking 2.4.2 Deze methode om de convergentie te versnellen wordt de methode van Aitken
genoemd. Men kan de convergentie opnieuw versnellen door op de rij (x
/
n
) opnieuw de methode
van Aitken toe te passen.
Voorbeeld 2.4.3 Stel x
n
= g(x
n1
) =

1x
n1
. Dan is
x =
1+

5
2
= .618033989
Merk op dat
g
/
(x) =
1
2

1x
=
1
2x
=
1+

5
4
,= 0
zodat stelling 2.4.1 van toepassing is. We berekenen eerst x
n
met behulp van het MATLAB pro-
gramma
x(1) = .5
f or i = 2 : 20
x(i) = sqrt(1x(i 1));
end
x
27
We vinden
x
1
= .5
x
2
= .7071068
x
3
= .5411961
x
4
= .6773506
x
5
= .5680223
x
6
= .6572501
x
7
= .5854484
x
10
= .6349981
x
20
= .62008333
We passen nu de Aitken methode toe en berekenen x
/
n
, met behulp van het MATLAB programma
f or i = 1 : 18
y(i) = x(i) ((x(i +1) x(i))
2
)/(x(i +2) 2x(i +1) +x(i));
end
y
We vinden
x
/
1
= .6149898
x
/
2
= .6159796
x
/
3
= .6167128
x
/
4
= .6171526
x
/
5
= .6174642
x
/
6
= .6176566
x
/
18
= .6180317
Pas Aitken nogmaals toe, met MATLAB programma
f or i = 1 : 16
z(i) = y(i) ((y(i +1) y(i))
2
)/(y(i +2) 2y(i +1) +y(i));
end
z
We vinden
x
//
1
= .6188085
x
//
2
= .6178119
x
//
3
= .6182211
x
//
9
= .6180374
x
//
12
= .6180336
x
//
16
= .6180340
28
Hoofdstuk 3
Het oplossen van stelsels
3.1 Algoritmen voor het oplossen van stelsels
Beschouw een stelsel van n vergelijkingen met n onbekenden
_

_
f
1
(x
1
, x
2
, . . . , x
n
) = 0
f
2
(x
1
, x
2
, . . . , x
n
) = 0
.
.
.
f
n
(x
1
, x
2
, . . . , x
n
) = 0
(3.1)
We zullen dit soms verkort opschrijven in vectorvorm. Stellen we
F =
_
_
_
_
_
_
f
1
f
2
.
.
.
f
n
_
_
_
_
_
_
en X =
_
_
_
_
_
_
x
1
x
2
.
.
.
x
n
_
_
_
_
_
_
dan kunnen we (3.1) herschrijven als
F(X) = 0 (3.2)
We gaan tewerk als in het voorgaand hoofdstuk, en trachten een rij vectoren (X
m
) te construeren
die naar de oplossing convergeert. (3.2) is equivalent met
X = X +M(X)F(X) (3.3)
indien M(X) een reguliere nn-matrix is, voor elke waarde van X. Naar analogie met (2.2) stellen
we volgende iteratieve formule voor
X
m+1
= X
m
+M(X
m
)F(X
m
) (3.4)
29
De methode van Newton-Raphson
Dit is het hoger dimensionale analogon van de methode van Newton. Onderstel dat we een bena-
dering X
m
= (x
(m)
1
, . . . , x
(m)
n
) van een oplossing van (3.2) gevonden hebben. We benaderen nu de
functies f
i
door hun Taylor ontwikkeling tot op orde 1:
f
i
(x
1
, . . . , x
n
) f
i
(x
(m)
1
, . . . , x
(m)
n
) +
n

j=1
f
i
x
j
(x
(m)
1
, . . . , x
(m)
n
)(x
j
x
(m)
j
)
of, in matrixvorm
F(X) F(X
m
) +J(X
m
)(X X
m
)
waarbij
J(X) =
_
_
_
_
_
_
_
_
_
f
1
x
1
(X)
f
1
x
2
(X)
f
1
x
n
(X)
f
2
x
1
(X)
f
2
x
2
(X)
f
2
x
n
(X)
.
.
.
.
.
.
.
.
.
f
n
x
1
(X)
f
n
x
2
(X)
f
n
x
n
(X)
_
_
_
_
_
_
_
_
_
Een benaderde oplossing van F(X) = 0 is dus
X
m+1
= X
m
J(X
m
)
1
F(X
m
) (3.5)
Dit is het algoritme van Newton-Raphson. Merk op dat men bij elke iteratie een lineair stelsel moet
oplossen. Met behulp van de methode van Cramer kunnen we de formules uitschrijven voor kleine
waarden van n. Neem n = 2, en schrijf X = (x, y) en X
m
= (x
m
, y
m
). (3.5) wordt
_

_
x
m+1
= x
m

f
1
(x
m
, y
m
)
f
2
y
(x
m
, y
m
) f
2
(x
m
, y
m
)
f
1
y
(x
m
, y
m
)
f
1
x
(x
m
, y
m
)
f
2
y
(x
m
, y
m
)
f
1
y
(x
m
, y
m
)
f
2
x
(x
m
, y
m
)
y
m+1
= y
m

f
2
(x
m
, y
m
)
f
1
x
(x
m
, y
m
) f
1
(x
m
, y
m
)
f
2
x
(x
m
, y
m
)
f
1
x
(x
m
, y
m
)
f
2
y
(x
m
, y
m
)
f
1
y
(x
m
, y
m
)
f
2
x
(x
m
, y
m
)
(3.6)
De methode van Morrey
Dit is het analogon van de methode van de vaste richting.
X
m+1
= X
m
J(X
0
)
1
F(X
m
) (3.7)
30
De methode van de diagonaalterm
J(X)
1
is gemakkelijk op te lossen als J(X) een diagonaalmatrix is. We stellen D(X) de matrix
die ontstaat door in J(X) alle elementen die niet op de diagonaal staan gelijk aan nul te stellen
D(X) =
_
_
_
_
_
_
_
_
_
f
1
x
1
(X) 0 0
0
f
2
x
2
(X) 0
.
.
.
.
.
.
.
.
.
0 0
f
n
x
n
(X)
_
_
_
_
_
_
_
_
_
en men benadert het stelsel F(X) = 0 door het stelsel
F(X) F(X
m
) +D(X
m
)(X X
m
) = 0
De nieuwe iteratieve formule is nu
X
m+1
= X
m
D(X
m
)
1
F(X
m
)
of, in componenten uitgeschreven
x
(m+1)
i
= x
(m)
i

f
i
(x
(m)
1
, . . . , x
(m)
n
)
f
i
x
i
(x
(m)
1
, . . . , x
(m)
n
)
(3.8)
(3.8) is natuurlijk eenvoudiger dan (3.5). Zoals we verder zullen zien is de convergentie van (3.8)
minder goed dan die van (3.5).
3.2 Metrieken op R
n
We gebruiken hier dezelfde methode als in het voorgaande hoofdstuk. Met behulp van de dek-
puntstelling trachten we aan te tonen dat onze iteratieve methode naar een oplossing convergeert.
Onze oplossingen zijn nu vectoren in R
n
, zodat we op zoek moeten gaan naar metrieken op R
n
.
We herhalen eerst even de denitie van een afstand of metriek op een verzameling.
Denitie 3.2.1 Een metrische ruimte (E, d) is een verzameling E, tesamen met een afbeelding
d : E E R
+
: (x, y) d(x, y)
die voldoet aan de volgende voorwaarden, voor elke x, y, z E:
1. d(x, y) = 0 als en alleen als x = y;
2. d(x, y) d(x, z) +d(z, y);
31
3. d(x, y) = d(y, x).
We noemen d(x, y) de afstand van x tot y.
Herhaal ook dat een norm op een vectorruimte als volgt gedenieerd wordt.
Denitie 3.2.2 Een re ele vectorruimte V die is uitgerust met een afbeelding
|| : VR
+
die voldoet aan de volgende eigenschappen, voor allex,y V en R:
1. |x| = 0 x =

0;
2. |x| =[[|x|;
3. |x +y| |x|+|y|.
wordt een genormeerde ruimte genoemd.
Een genormeerde ruimte is altijd een metrische ruimte.
Eigenschap 3.2.3 Als V, || een genormeerde re ele vectorruimte is, dan denieert de formule
d(x,y) =|x y|
een afstand op V. Elke genormeerde ruimte is dus een metrische ruimte.
Op R
n
kan men de volgende normen - en hun bijhorende metrieken - bekijken.
|x|
1
=
_
x
2
1
+x
2
2
+ +x
2
n
(3.9)
Deze norm noemt men de Euclidische norm op R
n
. De bijhorende afstand noteren we d
1
.
|x|
2
= max[x
1
[, [x
2
[, . . . , [x
n
[ (3.10)
Deze norm noemt men de maximum norm op R
n
. De bijhorende afstand noteren we d
2
.
|x|
3
=[x
1
[ +[x
2
[ + +[x
n
[ (3.11)
Op R
n
kan men dus verschillende normen (en dus verschillende afstanden) deni eren. Er is een
verband tussen deze drie afstanden. We hebben namelijk
|x|
2
= max[x
1
[, [x
2
[, . . . , [x
n
[

_
x
2
1
+x
2
2
+ +x
2
n
=|x|
1

_
([x
1
[ +[x
2
[ + +[x
n
[)
2
=|x|
3
nmax[x
1
[, [x
2
[, . . . , [x
n
[ = n|x|
2
32
Samengevat:
|x|
2
|x|
1
|x|
3
n|x|
2
(3.12)
voor alle x R
n
. Voor n = 1 vallen de drie normen samen. Voor de convergentie speelt het geen
rol met welk van de drie afstanden we werken.
Stelling 3.2.4 Onderstel dat (x
n
) een rij vectoren in R
n
is. De volgende uitspraken zijn equivalent:
1. d
3
- lim
n
x
n
=a;
2. d
1
- lim
n
x
n
=a;
3. d
2
- lim
n
x
n
=a.
Hierbij zijn d
1
, d
2
en d
3
de afstanden die behoren bij de normen | |
1
, | |
2
en | |
3
. Een
analoge eigenschap geldt voor Cauchyrijen.
Bewijs. 1. =2. Uit 1. volgt
> 0, N : n > N = |x
n
a|
3
<
Uit (3.12) volgt dat
|x
n
a|
1
|x
n
a|
3
en dus
> 0, N : n > N = |x
n
a|
1
<
en 2. volgt. Op juist dezelfde manier bewijzen we dat 2. =3. =1..
Het groot voordeel van stelling 3.2.4 is dat we, om de convergentie te onderzoeken, we de gemak-
kelijkstevan de drie normen kunnen kiezen. In de praktijk is dit bijna nooit de Euclidische norm,
maar wel dikwijls de maximumnorm of de norm ||
3
.
Stelling 3.2.5 Onderstel dat G een gesloten deel van R
n
is. Dan is (G, d
i
) een volledige metrische
ruimte (i = 1, 2, 3).
Bewijs. Uit stelling 3.2.4 blijkt dat het voldoende is om de stelling te bewijzen voor een van de drie
hierboven ingevoerde metrieken. We werken met de metriek d
2
. Ondersel dat (X
m
) een d
2
-Cauchy
rij in G is.
> 0, N N : p, m > N = |X
p
X
m
|
2
<
Omdat [x
(p)
i
x
(m)
i
[ |X
p
X
m
|
2
volgt hieruit dat (x
(m)
i
) een numerieke Cauchyrij is, voor elke
i = 1, . . . , n. We weten dat elke numerieke Cauchyrij convergeert, en stellen
x
i
= lim
m
x
(m)
i
33
en X = (x
1
, x
2
, . . . , x
n
). Voor elke > 0 hebben we
N
i
N : m > N
i
= [x
(m)
i
x
i
[ <
Stel N = maxN
1
, N
2
, . . . , N
n
. Dan geldt voor elke m > N dat
|X
m
X|
2
= max[x
(m)
i
x
i
[ : i = 1, . . . , n
en
d
2
- lim
m
X
m
= X
Omdat G gesloten is, hebben we dat X G. Dus is G volledig.
3.3 Convergentie van de iteratieve formules
Om de notaties wat te vereenvoudigen werken we in R
3
. Alles kan gemakkelijk uitgebreid worden
tot R
n
. Beschouw een functie O: GR
3
R
3
. Neem (x, y, z) G, en schrijf (u, v, w) =O(x, y, z).
We zeggen dat O voldoet aan de voorwaarde (V) indien er
i
,
i
,
i
R
3
bestaan zodat
_
_
_
[u
2
u
1
[
1
[x
2
x
1
[ +
1
[y
2
y
1
[ +
1
[z
2
z
1
[
[v
2
v
1
[
2
[x
2
x
1
[ +
2
[y
2
y
1
[ +
2
[z
2
z
1
[
[w
2
w
1
[
3
[x
2
x
1
[ +
3
[y
2
y
1
[ +
3
[z
2
z
1
[
(3.13)
voor alle (x
1
, y
1
, z
1
), (x
2
, y
2
, z
2
) G. We zeggen dat O voldoet aan het kolomcriterium als O voldoet
aan de voorwaarde (V), met
_
_
_

1
+
2
+
3
< 1

1
+
2
+
3
< 1

1
+
2
+
3
< 1
(3.14)
We zeggen dat O voldoet aan het rijcriterium als O voldoet aan de voorwaarde (V), met

i
+
i
+
i
< 1 (3.15)
for i = 1, 2, 3.
Stelling 3.3.1 Als O voldoet aan het rijcriterium, dan is O een contractie voor de metriek d
2
. Als
O voldoet aan het kolomcriterium, dan is O een contractie voor de metriek d
3
.
Bewijs. We schrijven
P
1
= (x
1
, y
1
, z
1
) ; P
2
= (x
2
, y
2
, z
2
)
O(P
1
) = (u
1
, v
1
, w
1
) ; O(P
2
) = (u
2
, v
2
, w
2
)
Onderstel O voldoet aan het rijcriterium. We hebben bijvoorbeeld dat
max[u
2
u
1
[, [v
2
v
1
[, [w
2
w
1
[ =[v
2
v
1
[
34
Dan is
d
2
(O(P
1
), O(P
2
)) = max[u
2
u
1
[, [v
2
v
1
[, [w
2
w
1
[
= [v
2
v
1
[

2
[x
2
x
1
[ +
2
[y
2
y
1
[ +
2
[z
2
z
1
[
(
2
+
2
+
2
)d
2
(P
1
, P
2
)
d
2
(P
1
, P
2
)
zodat O een contractie is voor de metriek d
2
.
Onderstel vervolgens dat O voldoet aan het kolomcriterium.
d
3
(O(P
1
), O(P
2
)) = [u
2
u
1
[ +[v
2
v
1
[ +[w
2
w
1
[
(
1
+
2
+
3
)[x
2
x
1
[
+(
1
+
2
+
3
)[y
2
y
1
[
+(
1
+
2
+
3
)[z
2
z
1
[
d
3
(P
1
, P
2
)
zodat O een contractie is voor de metriek d
3
.
Convergentie van de algemene iteratieve formule
We keren terug naar het stelsel F(X) = 0, en de iteratieve formule
X
m+1
= X
m
+M(X
m
)F(X
m
) = O(X
m
) (3.16)
Om de notaties te vereenvoudigen werken we in R
3
. Voor X R
3
schrijven we
O(X) =U =
_
_
_
u
v
w
_
_
_
=
_
_
_

1
(x, y, z)

2
(x, y, z)

3
(x, y, z)
_
_
_
We geven nu twee convergentiestellingen die alletwee een uitbreiding zijn van stelling 2.2.4. We
zullen in het vervolg steeds onderstellen dat de parti ele afgeleiden

i
x
j
continu zijn.
Stelling 3.3.2 Onderstel dat X een oplossing is van het stelsel F(X) =0, en dat er
i
,
i
,
i
bestaan
zodat

i
x
(x, y, z)

i
y
(x, y, z)

i
z
(x, y, z)


i
(3.17)
voor i = 1, 2, 3 en voor alle (x, y, z) G
2
=X R
3
: d
2
(X, X) . Als

i
+
i
+
i
< 1 (3.18)
dan convergeert het iteratieproces naar X voor elke startwaarde X
0
G
2
.
35
Bewijs. We nemen (x
1
, y
1
, z
1
), (x
2
, y
2
, z
2
) G
2
, en schrijven
O(x
j
, y
j
, z
j
) = (u
j
, v
j
, w
j
)
voor j = 1, 2. Vanwege de middelwaardestelling bestaat er een
(, , ) [(x
1
, y
1
, z
1
), (x
2
, y
2
, z
2
)] G
2
(G
2
is convex) zodat
[u
2
u
1
[ = [
1
(x
2
, y
2
, z
2
)
1
(x
1
, y
1
, z
1
)[
=

1
x
(, , )(x
2
x
1
) +

1
y
(, , )(y
2
y
1
) +

1
z
(, , )(z
2
z
1
)


1
[x
2
x
1
[ +
1
[y
2
y
1
[ +
1
[z
2
z
1
[
Dit is de eerste regel uit voorwaarde (V). Op analoge wijze zijn ook de twee andere regels voldaan,
en uit (3.18) volgt dat O voldoet aan het rijcriterium. O is dus een contractie voor de metriek d
2
.
Bovendien is O : G
2
G
2
. Immers, als X G
2
, dan is
d
2
(O(X), X) = d
2
(O(X), O(X)) d(X, X) <
en O(X) G
2
.
We kunnen nu de contractiestelling toepassen, en concluderen dat (O
n
(X
0
)) naar X convergeert
voor elke X
0
G
2
.
Stelling 3.3.3 Onderstel dat X een oplossing is van het stelsel F(X) =0, en dat er
i
,
i
,
i
bestaan
zodat

i
x
(x, y, z)

i
y
(x, y, z)

i
z
(x, y, z)


i
voor i = 1, 2, 3 en voor alle (x, y, z) G
3
=X R
3
: d
3
(X, X) . Als
_
_
_

1
+
2
+
3
< 1

1
+
2
+
3
< 1

1
+
2
+
3
< 1
(3.19)
dan convergeert het iteratieproces naar X voor elke startwaarde X
0
G
3
.
Bewijs. Volledig analoog aan dat van stelling 3.3.2.
We zeggen dat een matrix A M
nn
(R) voldoet aan het rijcriterium als
n

j=1
[a
i j
[ < 1
36
voor elke rijindex i. Analoog voldoet A aan het kolomcriterium als
n

i=1
[a
i j
[ < 1
voor elke kolomindex j.
We noteren F voor de Jacobiaanse matrix van
1
, . . . ,
n
:
F (X) =
_
_
_
_
_
_
_
_
_

1
x
1
(X)

1
x
2
(X)

1
x
n
(X)

2
x
1
(X)

2
x
2
(X)

2
x
n
(X)
.
.
.
.
.
.
.
.
.

n
x
1
(X)

n
x
2
(X)

n
x
n
(X)
_
_
_
_
_
_
_
_
_
Stelling 3.3.4 Onderstel dat X een wortel is van het stelsel F(X) =0, en dat F (X) voldoet aan het
rij- of kolomcriterium Dan convergeert de algemene iteratieve methode van zodra de startwaarde
X
0
voldoende dicht bij X ligt.
Bewijs. Onderstel bijvoorbeeld dat F (X) voldoet aan het rijcriterium. Dit betekent dat

i
x
(X)

i
y
(X)

i
z
(X)

< 1 (3.20)
Omdat de parti ele afgeleiden van de
i
continu zijn, geldt (3.20) over een gesloten d
2
-omgeving G
2
van X. Stelling 3.3.2 is van toepassing, en de iteratieve methode convergeert naar X zodra X
0
G
2
.

Convergentie van de methode van Newton-Raphson


We voeren volgende notatie in: voor een vectorwaardige functie
O(X) = (
1
(X),
2
(X), . . . ,
n
(X))
schrijven we
dO(X) = (d
1
, d
2
, . . . , d
n
) =F (X)dX
Analoog deni eren we voor een matrix A(X) de differentiaal dA(X). We kunnen dan gemakkelijk
nagaan dat
d(AU) = AdU +(dA)U
Onderstel nu dat X een oplossing is van F(X) =0, en dat J(X) een reguliere matrix is. De methode
van Newton-Raphson gebruikt volgende operator:
O(X) = X J(X)
1
F(X)
37
en we vinden
dO(X) = F (X)dX
= dX d(J(X)
1
)F(X) J(X)
1
dF(X)
= dX d(J(X)
1
)F(X) J(X)
1
J(X)dX
= d(J(X)
1
)F(X)
Omdat F(X) nul is vinden we dat
dO(X) =F (X)dX = 0
en F (X) = 0. F (X) voldoet dus zeker aan het rij- en kolomcriterium, en uit stelling 3.3.4 volgt
dat de methode van Newton-Raphson convergeert als de startwaarde X
0
dicht genoeg bij X ligt.
Opmerking 3.3.5 Net zoals in het geval van e en veranderlijke kan men aantonen dat de methode
van Newton-Raphson voor een stelsel niet-lineaire vergelijkingen een methode van orde 2 is.
Convergentie van de methode van de diagonaalterm
We onderstellen weer dat F(X) = 0, en dat
f
i
x
i
(X) ,= 0
voor i = 1, 2, , n. De iteratieve formule is nu

i
(X) = x
i

f
i
(X)
f
i
x
i
(X)
We vinden

i
x
i
(X) = 11+
f
i
(X)

2
f
i
x
2
i
(X)
_
f
i
x
i
(X)
_
2
en

i
x
i
(X) = 0
Voor i ,= j vinden we

i
x
j
(X) =
f
i
x
j
(X)
f
i
x
i
(X)
+
f
i
(X)

2
f
i
x
i
x
j
(X)
_
f
i
x
i
(X)
_
2
38
en

i
x
j
(X) =
f
i
x
j
(X)
f
i
x
i
(X)
We besluiten dat de methode van de diagonaalterm naar X convergeert als we een startwaarde dicht
genoeg bij X kiezen, en als de matrix
F (X) =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0

f
1
x
2
(X)
f
1
x
1
(X)

f
1
x
n
(X)
f
1
x
1
(X)

f
2
x
1
(X)
f
2
x
2
(X)

f
2
x
n
(X)
f
2
x
2
(X)

.
.
.
.
.
.
.
.
.

f
n
x
1
(X)
f
n
x
n
(X)

f
n
x
2
(X)
f
n
x
n
(X)

0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
voldoet aan het rij- of kolomcriterium.
Voorbeeld 3.3.6 We bepalen de snijpunten van de ellipsen
x
2
4
+
y
2
9
= 1 en
x
2
9
+
y
2
4
= 1
Er zijn vier snijpunten. Het snijpunt in het eerste kwadrant is
x = y =
6

13
= 1.66410058867569
De methode van de diagonaalterm levert
x
n+1
=
x
n
2

2y
2
n
9x
n
+
2
x
n
y
n+1
=
y
n
2

2x
2
n
9y
n
+
2
y
n
We nemen als startwaarden bijvoorbeeld x
0
= y
0
= 2. Een eenvoudig MATLAB programma
x(1) = 2;
y(1) = 2;
f or i = 1 : 20
39
x(i +1) = x(i)/2(2y(i)
2
)/(9x(i)) +2/x(i);
y(i +1) = y(i)/2(2x(i)
2
)/(9y(i)) +2/y(i);
end
[x; y]
/
levert 20 iteraties. We vinden
x
10
= y
10
= 1.66417940061712
x
15
= y
15
= 1.66409922203013
x
20
= y
20
= 1.66410061237543
Opmerking 3.3.7 Het is natuurlijk onontbeerlijk om een goede startwaarde te hebben. Een mo-
gelijke strategie is de volgende: men maakt een schets van de meetkundige situatie, en men tracht
zo de ligging van de wortels te bepalen. In bovenstaand voorbeeld kan men de twee ellipsen eerst
schetsen, en zo een ruwe benadering voor x
0
en y
0
bepalen. Een eenvoudig MATLAB programma
is het volgende:
t = 0 : .05 : 2 pi;
x1 = 2cos(t);
y1 = 3sin(t);
x2 = 3cos(t);
y2 = 2sin(t);
axis(
/
square
/
)
plot(x1, y1, x2, y2)
grid
Voor stelsels met meer dan twee vergelijkingen en onbekenden wordt dit uiteraard ingewikkelder.
Indien het gegeven stelsel een storing is van een eenvoudiger stelsel, dan kan men als startwaarde
de oplossing van het eenvoudige stelsel proberen. Om de snijpunten van de ellipsen
x
2
4.2
+
y
2
9.3
= 1 en
x
2
9.5
+
y
2
4.1
= 1
te bepalen, kunnen we vertrekken van de oplossingen van voorgaand voorbeeld.
3.4 De methode van Bairstow
Gegeven is een re ele veelterm
f (x) = a
0
x
n
+a
1
x
n1
+ +a
n
Gevraagd wordt om de veelterm te ontbinden in lineaire en kwadratische factoren. In Hoofdstuk
2 hebben we al gezien hoe we met behulp van de methode van Newton de lineaire factoren kan
40
bepalen. Om de kwadratische factoren te vinden hebben we de complexe nulpunten nodig. Deze
zijn twee aan twee complex toegevoegd.
Een eerste manier bestaat erin op te merken dat de methode van Newton ook werkt voor complexe
analytische functies f : CC. Men gebruikt dan als startwaarde bij de methode van Newton een
complex getal. Deze methode is van toepassing als men beschikt over een rekenmachine waarin
ook de bewerkingen met de complexe getallen geprogrammeerd zijn.
We zullen hier een methode bespreken die enkel berekeningen in R gebruikt. Men deelt de veel-
term f (x) door een kwadratische veelterm x
2
+ px +q. Dit geeft een quotient van graad n 2 en
een rest van graad 1:
f (x) = (x
2
+ px +q)(b
0
x
n2
+b
1
x
n3
+ +b
n2
) +Rx +S (3.21)
De co efci enten b
0
, b
1
, . . . , b
n2
, R en S zijn in feite functies van p en q. x
2
+ px +q is een factor
van f (x) als
_
R(p, q) = 0
S(p, q) = 0
(3.22)
We moeten het stelsel (3.22) oplossen. We doen dit met de methode van Newton-Raphson. Om
(3.6) te kunnen toepassen moeten we
R, S,
R
p
,
R
q
,
S
p
en
S
q
berekenen. Om R en S te bepalen voeren we gewoon de deling uit. Dit komt erop neer de regel van
Horner te veralgemenen tot de situatie waarbij we delen door veeltermen van graad 2. Gelijkstellen
van de co efci enten in (3.21) levert
_

_
a
0
= b
0
a
1
= b
1
+ pb
0
a
2
= b
2
+ pb
1
+qb
0
.
.
.
a
k
= b
k
+ pb
k1
+qb
k2
.
.
.
a
n1
= R+ pb
n2
+qb
n3
a
n
= S+qb
n2
(3.23)
Stel nu
b
1
= 0, b
n1
= R, b
n
= Spb
n1
De co efci enten b
k
, en dus ook R en S worden dan gevonden uit de betrekkingen
b
k
= a
k
pb
k1
qb
k2
(3.24)
met startwaarden b
1
= 0 en b
0
= a
0
. De twee laatste waarden b
n1
en b
n
leveren R en S. Om de
parti ele afgeleiden van R en S naar p te bepalen leiden we (3.24) af naar p. Dit geeft
b
k
p
=b
k1
p
b
k1
p
q
b
k2
p
41
Stel nu
c
k1
=
b
k
p
We krijgen
c
k1
= b
k1
pc
k2
qc
k3
of
c
k
= b
k
pc
k1
qc
k2
(3.25)
Omdat
c
1
=
b
0
p
=
a
0
p
= 0 en c
0
=
b
1
p
= b
0
= a
0
laat (3.25) ons toe om recursief c
1
, c
2
, . . . , c
n1
te berekenen. De getallen c
n2
en c
n1
leveren
R
p
en
S
p
want
R
p
=
b
n1
p
=c
n2
S
p
=
b
n
p
+b
n1
+ p
b
n1
p
= b
n1
c
n1
pc
n2
De parti ele afgeleiden van R en S naar q worden op analoge manier berekend. We leiden (3.24) af
naar q, en krijgen
b
k
q
=p
b
k1
q
b
k2
q
b
k2
q
We stellen nu
c
/
k2
=
b
k
q
zodat
c
/
k2
= b
k2
pc
/
k3
qc
/
k4
of
c
/
k
= b
k
pc
/
k1
qc
/
k2
(3.26)
We merken op dat
c
/
1
=
b
1
q
= 0 = c
1
en c
/
0
=
b
2
q
= a
0
= c
0
De beginwaarden en de recursieformules ter berekening van c
k
en c
/
k
zijn dezelfden, en we kunnen
dus concluderen dat c
k
= c
/
k
. Verder is
R
q
=
b
n1
q
=c
n3
S
q
=
b
n
q
+ p
b
n1
q
=c
n2
pc
n3
42
Als we de gevonden waarden voor R, S en hun parti ele afgeleiden vervangen in de formules van
Newton-Raphson (3.6)
p
m+1
= p
m

R
S
q
S
R
q
R
p
S
q

R
q
S
p
q
m+1
= q
m

S
R
p
R
S
p
R
p
S
q

R
q
S
p
dan vinden we
p
m+1
= p
m
+
b
n1
c
n2
b
n
c
n3
c
2
n2
+c
n3
(b
n1
c
n1
)
(3.27)
q
m+1
= q
m
+
b
n
c
n2
+b
n1
(b
n1
c
n1
)
c
2
n2
+c
n3
(b
n1
c
n1
)
(3.28)
en we kunnen ons algoritme als volgt samenvatten.
1) Onderstel dat p
m
en q
m
bepaald zijn.
2) Stel b
1
= c
1
= 0 en b
0
= c
0
= a
0
.
3) Bereken b
1
, , b
n
uit de recursieformule (3.24)
b
k
= a
k
p
m
b
k1
q
m
b
k2
4) Bereken c
1
, , c
n1
uit de recursieformule (3.25)
c
k
= b
k
p
m
c
k1
q
m
c
k2
5) Bepaal p
m+1
en q
m+1
met behulp van (3.27) en (3.28).
Bij elke iteratie vindt men een betere benadering voor de kwadratische factor x
2
+ px +q, en ook
voor het quoti ent b
0
x
n2
+ +b
n2
.
43
Hoofdstuk 4
Lineaire stelsels
Om een lineair stelsel vergelijkingen op te lossen zijn er twee klassen methodes. Vooreerst heeft
men iteratieve methodes, waarbij men een rij kolomvectoren iteratief berekent, in de hoop dat deze
naar de oplossing convergeren. Er zijn ook de directe methodes, zoals de eliminatiemethode van
Gauss.
4.1 De iteratieve methode van Gauss
Dit is de methode van de diagonaalterm toegepast op een lineair stelsel. Beschouw, om de gedach-
ten te vestigen, een 33-stelsel
a
i
x +b
i
y +c
i
z = d
i
(4.1)
voor i = 1, 2, 3. Als we de methode van de diagonaalterm toepassen, dan krijgen we volgende
iteratieve formules
x
m+1
=
d
1
a
1

b
1
a
1
y
m

c
1
a
1
z
m
(4.2)
y
m+1
=
d
2
b
2

a
2
b
2
x
m

c
2
b
2
z
m
(4.3)
z
m+1
=
d
3
c
3

a
3
c
3
x
m

b
3
c
3
y
m
(4.4)
Merk op dat we de formules gemakkelijk terugvinden door (4.1) op te lossen naar x, y en z. Een
voldoende voorwaarde voor convergentie is dat de matrix
_
_
_
_
0

b
1
a
1

c
1
a
1

a
2
b
2

c
2
b
2

a
3
c
3

b
3
c
3

0
_
_
_
_
voldoet aan het rij- of kolomcriterium.
44
De variante van Seidel
De computer werkt sequentieel en berekent eerst x
m+1
en nadien y
m+1
en z
m+1
. Op het ogenblik
dat y
m+1
berekend wordt, is x
m+1
reeds gekend. Aangezien we verwachten dat x
m+1
een betere
benadering voor x is dan x
m
, kunnen we in (4.3) x
m
beter vervangen door x
m+1
. Om dezelfde reden
vervangen we in (4.4) x
m
en y
m
door x
m+1
en y
m+1
. Dit levert de formules van Gauss-Seidel .
x
m+1
=
d
1
a
1

b
1
a
1
y
m

c
1
a
1
z
m
(4.5)
y
m+1
=
d
2
b
2

a
2
b
2
x
m+1

c
2
b
2
z
m
(4.6)
z
m+1
=
d
3
c
3

a
3
c
3
x
m+1

b
3
c
3
y
m+1
(4.7)
We verwachten dat formules van Gauss-Seidel sneller convergeren dan die van Gauss. In de prak-
tijk blijkt dit ook het geval te zijn. Zonder bewijs vermelden we verder de volgende eigenschap.
Stelling 4.1.1 Indien de matrix A van het stelsel AX = B symmetrisch en positief deniet is, dan
convergeren de formules van Gauss-Seidel voor elke beginwaarde.
4.2 Permutatiematrices en Frobeniusmatrices
Zij A een nm-matrix. We zullen soms volgende notatie gebruiken.
A =
_
_
_
a
11
a
12
A
13
a
21
a
22
A
23
A
31
A
32
A
33
_
_
_
Hierbij zijn de A
i j
matrices van de geschikte afmetingen: A
33
is een (n2) (m2)-matrix, A
13
is een rijvector, enzovoort.
45
Permutatiematrices
De nn-matrix
P
i j
=
_
_
_
_
_
_
_
_
_
_
_
_
_
i j
1 0 0 0 0
0 1 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
i 0 0 0 1 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
j 0 0 1 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 1
_
_
_
_
_
_
_
_
_
_
_
_
_
noemen we een permutatiematrix. P
i j
A is de matrix A met de i-de en j-de rij verwisseld. Voor
i = 1 en j = 2 bijvoorbeeld, vinden we
P
12
A =
_
_
_
0 1 0
1 0 0
0 0 I
_
_
_
_
_
_
a
11
a
12
A
13
a
21
a
22
A
23
A
31
A
32
A
33
_
_
_
=
_
_
_
a
21
a
22
A
23
a
11
a
12
A
13
A
31
A
32
A
33
_
_
_
Op dezelfde manier is AP
i j
de matrix A met de i-de en de j-de kolom met elkaar verwisseld.
Merk ook op dat P
1
i j
= P
i j
. Een product van permutatiematrices noemen we nog steeds een
permutatiematrix. Een matrix A linksvermenigvuldigen met een permuatiematrix komt er dus
op neer de rijen van A te permuteren. Rechtsvermenigvuldigen komt erop neer de kolommen te
permuteren.
Frobeniusmatrices
Een matrix van de vorm
F
i
=
_
_
_
_
_
_
_
_
_
_
_
i
1 0 0 0
0 1 0 0
.
.
.
.
.
.
.
.
.
.
.
.
i 0 0 1 0
i +1 0 0 a
i+1
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 a
n
1
_
_
_
_
_
_
_
_
_
_
_
46
noemen we een Frobeniusmatrix. De inverse van een Frobeniusmatrix is opnieuw Frobenius:
F
1
i
=
_
_
_
_
_
_
_
_
_
_
_
i
1 0 0 0
0 1 0 0
.
.
.
.
.
.
.
.
.
.
.
.
i 0 0 1 0
i +1 0 0 a
i+1
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 a
n
1
_
_
_
_
_
_
_
_
_
_
_
Een Frobeniusmatrix is een benedendriehoeksmatrix, en dus is het product van Frobeniusmatrices
opnieuw een benedendriehoeksmatrix. Als F
i
een Frobeniusmatrix is, en j, k > i, dan is
P
jk
F
i
= F
/
i
P
jk
(4.8)
met F
/
i
een nieuwe Frobeniusmatrix. We gaan dit na voor i = 1, j = 2 en k = 3.
_
_
_
1 0 0
0 0 1
0 1 0
_
_
_
_
_
_
1 0 0
a
2
1 0
a
3
0 1
_
_
_
=
_
_
_
1 0 0
a
3
0 1
a
2
1 0
_
_
_
=
_
_
_
1 0 0
a
3
1 0
a
2
0 1
_
_
_
_
_
_
1 0 0
0 0 1
0 1 0
_
_
_
Voor twee Frobeniusmatrices F
i
en F
j
met i < j kunnen we het product gemakkelijk uitrekenen:
F
i
F
j
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
i j
1 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
i 0 1 0 0
i +1 0 a
i+1
0 0
.
.
.
.
.
.
.
.
.
.
.
.
j 0 a
j
1 0
j +1 0 a
j+1
0 0
.
.
.
.
.
.
.
.
.
.
.
.
0 a
n
0 1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
i j
1 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
0 1 0 0
0 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1 0
0 0 b
j+1
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 b
n
1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
47
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
i j
1 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
i 0 1 0 0
i +1 0 a
i+1
0 0
.
.
.
.
.
.
.
.
.
.
.
.
j 0 a
j
1 0
j +1 0 a
j+1
b
j+1
0
.
.
.
.
.
.
.
.
.
.
.
.
0 a
n
b
n
1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
(4.9)
4.3 Gauss eliminatie en LU-decompositie
Beschouw het lineair stelsel AX = B. Door geschikte elementaire rijoperaties toe te passen op de
matrix (A, B) verkrijgen we een rijequivalente matrix (A
/
, B
/
) die in rijechelonvorm staat (zie de
cursus Algebra en Meetkunde). Het stelsel A
/
X = B
/
is equivalent met het oorspronkelijk stelsel,
en is gemakkelijk te bespreken en op te lossen.
We bekijken vanaf nu het bijzonder geval waarin A een reguliere vierkante matrix is. We schrijven
A
/
=U en B
/
=C. U is nu een bovendriehoeksmatrix, en het equivalente stelsel
UX =C
kan opgelost worden: men lost eerst de laatste vergelijking op, substitueert de oplossing in de voor-
laatste, en gaat zo verder. Laten we kort herhalen hoe een matrix in rijechelonvorm kan gebracht
worden.
Stap 1 Men zorgt ervoor dat a
11
,= 0, door eventueel de eerste rij te verwisselen met een andere.
Om de numerieke stabiliteit te verhogen passen we deze eerste stap nog een beetje aan: we zorgen
ervoor dat het element a
11
in absolute waarde het grootste op de eerste kolom is. Kies dus de index
r zo dat
[a
r1
[ = max[a
i1
[ : i = 1, . . . , n
en verwissel de eerste en de r-de rij. De nieuwe matrix noemen we A.
Stap 2 Voor i = 2, . . . , n trekken we a
i1
/a
11
maal de eerste rij af van de i-de. We verkrijgen aldus
een matrix van de vorm
(A
(1)
, B
(1)
) =
_
a
11
A
12
b
1
0

A

B
_
We herhalen nu het proc ed e voor de matrix (

A,

B), waarbij we de eerste rij en kolomvan (A


(1)
, B
(1)
)
onberoerd laten. Als we dit n1 maal doen, dan krijgen we de gewenste matrix (A
(n1)
, B
(n1)
) =
(U,C).
Merk op dat stap 1 er in feite op neer komt (A, B) links te vermenigvuldigen met de permutatiema-
48
trix P
1r
. Bij stap 2 vermenigvuldigen we links met de Frobeniusmatrix
F
1
=
_
_
_
_
_
_
_
_
_
1 0 0
a
21
/a
11
1 0
a
31
/a
11
0 0
.
.
.
.
.
.
.
.
.
a
n1
/a
11
0 1
_
_
_
_
_
_
_
_
_
We kunnen dus schrijven
(A
(1)
, B
(1)
) = F
1
P
1r
(A, B)
en de uiteindelijke matrix is dus van de vorm
(U,C) = (A
(n1)
, B
(n1)
) = F
n1
P
(n1)r
n1
F
n2
P
(n2)r
n2
F
1
P
1r
1
(A, B)
waarbij r
i
i. In het bijzonder is
F
n1
P
(n1)r
n1
F
n2
P
(n2)r
n2
F
1
P
1r
1
A =U
een bovendriehoeksmatrix. Stel nu
P = P
(n1)r
n1
P
(n2)r
n2
P
1r
1
P is een permutatiematrix. Door herhaaldelijk gebruik te maken van (4.8) vinden we
F
n1
F
/
n2
F
/
2
F
/
1
PA =U
waarbij de F
/
i
allen Frobeniusmatrices zijn. Tenslotte is
PA = F
/
1
1
F
/
1
2
F
1
n1
U = LU
waarbij
L = F
/
1
1
F
/
1
2
F
1
n1
een benedendriehoeksmatrix is, die gemakkelijk uit te rekenen is door (4.9). We hebben met andere
woorden het volgend resultaat bewezen.
Stelling 4.3.1 (LU decompositie) Voor elke vierkante reguliere matrix A bestaat er een permuta-
tiematrix P, een benedendriehoeksmatrix L en een bovendriehoeksmatrix U zodat
PA = LU (4.10)
Wat is het belang van zulk een decompositie? Als we van de matrix A de LU-decompositie kennen,
dan kunnen we het stelsel
AX = B (4.11)
gemakkelijk oplossen, ongeacht het rechterlid B. Immers, (4.11) is equivalent met
PAX = LUX = PB
49
Los eerst het stelsel
LY = PB
op. Dit kan gemakkelijk, omdat L een benedendriehoeksmatrix is. Los daarna het stelsel
UX =Y
op. Ook dit is gemakkelijk, want U is een bovendriehoeksmatrix.
Hoe kunnen we L, U en P in de praktijk bepalen? Uiteindelijk hoeven we enkel de matrix A door
elementaire rijoperaties in bovendriehoeksvorm te brengen. We vatten het algoritme samen als
volgt.
Algoritme 4.3.2 Stel T
(0)
= A. T
(s)
wordt uit T
(s1)
berekend als volgt. We schrijven t
(s)
i j
voor
het element op plaats (i, j) in de matrix T
(s)
.
stap 1 Kies de index r zo dat
[t
(s1)
rs
[ = max[t
(s1)
is
[ : i s
Als t
(s1)
rs
= 0, dan is de matrix A singulier.
stap 2 Verwissel de r-de en de s-de rij. We noemen de nieuwe matrix T.
stap 3 Stel nu
t
(s)
is
= l
is
=t
is
/t
ss
voor i > s
t
(s)
ik
= t
ik
l
is
t
sk
voor i, k > s
t
(s)
ik
= t
ik
anders
Stel T = T
(n1)
. Dan is
L =
_
_
_
_
_
_
1 0 0
t
21
1 0
.
.
.
.
.
.
.
.
.
t
n1
t
n2
1
_
_
_
_
_
_
en U =
_
_
_
_
_
_
t
11
t
12
t
1n
0 t
21
t
2n
.
.
.
.
.
.
.
.
.
0 0 t
nn
_
_
_
_
_
_
Opmerkingen 4.3.3 1) Uit (4.9) blijkt dat de elementen op de j-de kolom van L al bekend zijn bij
de j-de iteratie (op eventuele verwisselingen van de rijen achteraf na). We plaatsen deze onder de
diagonaal, op plaatsen die anders nul zijn. Dit spaart geheugenplaatsen uit.
2) Ook de j-de rij van U is bekend vanaf de j-de iteratie.
3) In ons algoritme passen we de zogenaamde parti ele pivotering toe. Bij volledige pivotering
vervangt men de eerste en tweede stap in het algoritme door:
Kies r en l zodat
[t
(s1)
rl
[ = max[t
(s1)
i j
[ : i, j s
Verwissel dan de r-de en de s-de rij, en de l-de en s-de kolom.
Men moet dan niet alleen links, maar ook rechts met een permutatiematrix vermenigvuldigen, zo-
dat ook de derde stap ingewikkelder wordt. We gaan hier niet verder in op de details. Volledige
50
pivotering wordt toegepast als de matrix niet ge ekwilibreerd is, dit wil zeggen dat de matrix ele-
menten van verschillende grootteorden bevat.
4) We kunnen ook het aantal bewerkingen berekenen dat nodig is om de LU-decompositie uit te
voeren (en dus om het lineaire stelsel op te lossen. Het aantal bewerkingen bij iteratiestap s is
(ns) +2(ns)
2
Gebruik makende van de formules
n

i=1
i =
n(n+1)
2
n

i=1
i
2
=
n(n+1)(2n+1)
6
vinden we voor het aantal bewerkingen
n1

s=1
((ns) +2(ns)
2
) =
n1

i=1
(i +2i
2
)
=
n(n1)
6
(3+4n+2)
=
n(n1)(4n+5)
6
en dit stijgt dus volgens 2n
3
/3. Het aantal bewerkingen stijgt dus snel met het aantal vergelijkin-
gen. Anders gezegd: als we het aantal vergelijkingen en onbekenden verdubbelen, dan wordt het
aantal nodige bewerkingen met 8 vermenigvuldigd.
5) Onderstel dat er bij de Gauss eliminatie geen pivoteringen nodig zijn. Om de LU-decompositie
te bepalen kan men dan ook als volgt te werk gaan. In L staan er (n1)n/2 onbekende elementen,
namelijk degenen die onder de diagonaal staan. In U staan er n(n +1)/2 onbekende elementen:
de elementen op en boven de diagonaal. In het totaal zijn er dus n
2
onbekenden te bepalen, en
hiervoor heeft men n
2
vergelijkingen, namelijk
LU = A
Dit stelsel met n
2
vergelijkingen en n
2
onbekenden blijkt gemakkelijk op te lossen te zijn. Al-
naargelang de volgorde waarin men de vergelijkingen oplost spreekt men van de methodes van
Crout of Banachiewiz. Deze blijken numeriek en theoretisch equivalent te zijn met de eliminatie-
methode van Gauss. Als men hierin ook de pivotering wil inbouwen, dan worden de algoritmes
ingewikkelder.
Voorbeeld 4.3.4 Beschouw de matrix
A = T
(0)
=
_
_
_
1 1 1
2 1 2
0 1 3
_
_
_
51
eerste iteratie: s = 1
stap 1: r = 2
stap 2: verwissel de eerste en de tweede rij. Dit komt eropneer A links te vermenigvuldigen met
P
12
.
T =
_
_
_
2 1 2
1 1 1
0 1 3
_
_
_
stap 3
T
(1)
=
_
_
_
2 1 2
1/2 1/2 0
0 1 3
_
_
_
tweede iteratie: s = 2
stap 1: r = 3
stap 2: verwissel de tweede en de derde rij. Dit komt eropneer T
(1)
links te vermenigvuldigen met
P
23
.
T =
_
_
_
2 1 2
0 1 3
1/2 1/2 0
_
_
_
stap 3
T
(2)
=
_
_
_
2 1 2
0 1 3
1/2 1/2 3/2
_
_
_
We vinden dus
L =
_
_
_
1 0 0
0 1 0
1/2 1/2 1
_
_
_
en U =
_
_
_
2 1 2
0 1 3
0 0 3/2
_
_
_
Verder is P = P
23
P
12
. A linksvermenigvuldigen met P komt erop neer de cyclische permutatie
(1 3 2) op de rijen van A toe te passen, met andere woorden
PA =
_
_
_
2 1 2
0 1 3
1 1 1
_
_
_
Met kan onmiddellijk veri eren dat LU = PA, zoals het moet.
52
4.4 Tridiagonale stelsels
Onderstel dat de matrix A van het stelsel AX = B tridiagonaal is, dit wil zeggen dat A van de
volgende vorm is.
A =
_
_
_
_
_
_
_
_
_
_
_
a
1
c
1
0 0 0 0
b
2
a
2
c
2
0 0 0
0 b
3
a
3
c
3
0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 a
n1
c
n1
0 0 0 0 b
n
a
n
_
_
_
_
_
_
_
_
_
_
_
In dit geval kunnen L en U in bidiagonale vorm gekozen worden, met andere woorden
L =
_
_
_
_
_
_
_
_
_
_
_
1 0 0 0 0 0

2
1 0 0 0 0
0
3
1 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 1 0
0 0 0 0
n
1
_
_
_
_
_
_
_
_
_
_
_
en U =
_
_
_
_
_
_
_
_
_
_
_

1
c
1
0 0 0 0
0
2
c
2
0 0 0
0 0
3
c
3
0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0
n1
c
n1
0 0 0 0 0
n
_
_
_
_
_
_
_
_
_
_
_
Om dit aan te tonen gebruiken we de methode van Crout: Als we de elementen op de eerste rij in
de identiteit LU = A aan elkaar gelijkstellen dan vinden we
a
1
=
1
en c
1
= c
1
De tweede rij levert
b
2
=
2

1
, a
2
=
2
c
1
+
2
en c
2
= c
2
In het algemeen levert de i-de rij
b
i
=
i

i1
, a
i
=
i
c
i1
+
i
en c
i
= c
i
We krijgen de volgende recursieve formule, die toelaat om
i
en
i
te bepalen:
1
= a
1
, en voor
i = 2, . . . , n is

i
=
b
i

i1
(4.12)

i
= a
i

i
c
i1
(4.13)
De methode werkt niet als een van de
i
nul is. Dit doet zich voor als det(A) = 0, of als pivote-
ringen nodig zijn vooraleer men de matrix in LU-vorm kan ontbinden. Dit laatste geval doet zich
bijvoorbeeld voor bij de matrix
A =
_
0 1
1 0
_
53
Opmerkingen 4.4.1 1) Men kan bovenstaande opmerking veralgemenen tot matrices met band-
breedte m. Dit zijn matrices waarvan alleen de elementen op de hoofddiagonaal en de m1
diagonalen boven en onder de hoofddiagonaal verschillend van nul zijn. Voor L kan men dan een
matrix nemen met enkel elementen verschillend van nul op de hoofddiagonaal en de m1 diago-
nalen eronder. Analoog voor U.
2) De methode is ook van toepassing in de situatie waarbij
A =
_
_
_
_
_
_
_
_
_
_
_
A
1
C
1
0 0 0 0
B
2
A
2
C
2
0 0 0
0 B
3
A
3
C
3
0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 A
n1
C
n1
0 0 0 0 B
n
A
n
_
_
_
_
_
_
_
_
_
_
_
waarbij A
i
, B
i
enC
i
vierkante matrices van een kleinedimensie zijn. In het algoritme (4.10)-(4.11)
moet men dan vermenigvuldigen met de inverse van de matrix
i
.
4.5 Singuliere waarden ontbinding
Neem twee Euclidische ruimten E en F, van dimensies respectievelijk N en m, en een lineaire
afbeelding f : E F. Het is onze bedoeling om orthonormale basissen voor E en F te vinden
tenopzichte waarvan de matrix van f zo eenvoudig mogelijk wordt.
We herhalen eerst dat de toegevoegde afbeelding
f

: F E
gekarakteriseerd wordt door de formule (zie Algebra en Meetkunde, 6.3).
x, f

(y)) = f (x),y)
voor elkex E eny F. We bekijken nu de samenstelling
f

f : E E
De afbeelding f

f is zelftoegevoegd, en bijgevolg bestaat er een orthonormale basis (zie Algebra


en Meetkunde, 7.3)
U =u
1
, ,u
n

van E zodat de matrix [ f

f ]
U,U
een diagonaalmatrix is. Bovendien zijn alle eigenwaarden niet-
negatief: als een (genormaliseerde) eigenvector is met eigenwaarde , dan is
( f

f )(u) = u
54
en dus
= u, u)
= u, ( f

f )(u))
= f (u), f (u))
= | f (u)|
2
0
We kunnen de volgorde in de basis U dus zo herschrijven dat
( f

f )(u
i
) =
_

2
i
u
i
als i r

0 als i > r
Hierbij is r = rg( f

f ). Voor i = 1, , r stellen we
v
i
=
f (u
i
)

i
Dan is
v
i
,v
j
) =
f (u
i
)

i
,
f (u
j
)

j
)
=
1

j
u
i
, ( f

f )(u
j
))
=
1

j
u
i
,
j
u
j
)
=

2
j

i j
=
i j
Vul v
1
, ,v
r
aan tot een orthonormale basis V =v
1
, ,v
m
van F. Schrijf
D
1
=
_
_
_
_
_
_

1
0 0
0
2
0
.
.
.
.
.
.
.
.
.
0 0
r
_
_
_
_
_
_
Voor i = 1, , r geldt
f (u
i
) =
i
v
i
en voor i = r +1, , m hebben we ( f

f )(u
i
) =

0, zodat
f (u
i
), f (u
i
)) =u
i
, ( f

f )(u
i
)) = 0
zodat
f (u
i
) =

0
55
We vinden daarom
[ f ]
U,V
=
_
D
1
0
0 0
_
Hieruit volgt ook dat
rg( f ) = r = rg( f

f )
en we hebben bewezen:
Stelling 4.5.1 Zij f : E F een lineaire afbeelding tussen twee eindigdimensionale Euclidische
ruimten. Dan is r = rg( f ) = rg( f

f ), en er bestaan orthonormale basissen U en V van respec-


tievelijk E en F zodat
[ f ]
U,V
=
_
D
1
0
0 0
_
waarbij D
1
een r r-diagonaalmatrix is, met positieve elementen
i
op de diagonaal.
We kunnen dit resultaat herinterpreteren in termen van matrices. Zij A een re ele mn-matrix, en
bekijk de lineaire afbeelding f : R
n
R
m
. We rusten R
n
en R
m
uit met het standaard inwendig
product. Uit stelling 4.5.1 volgt het bestaan van orthonormale basissen U en V van respectievelijk
R
n
en R
m
zodat
[ f ]
U,V
=
_
D
1
0
0 0
_
Zij M en N de overgangsmatrices van de standaardbasissen voor R
n
en R
m
naar U en V. Dan zijn
M en N orthogonale matrices, en modat A de matrix van f is tenopzichte van de standaardbasissen
volgt
N
t
AM =
_
D
1
0
0 0
_
Stelling 4.5.2 Onderstel dat A een mn-matrix is. Er bestaat een mm-orthogonale matrix N
en een nn-orthogonale matrix M zodat
N
t
AM =
_
D
1
0
0 0
_
M
mn
(R) (4.14)
Men noemt de getallen
1
,
2
, ,
r
de singuliere waarden van de matrix A. (4.14) noemt men de
singuliere waardenontbinding van A.
Meetkundige interpretatie
We werken met de hierboven beschreven basissen U van E en V van F. Beschouw de eenheidsbol
B in E. Deze heeft als vergelijking
x
2
1
+x
2
2
+ +x
2
n
1
56
Dit betekent dat we B onder de volgende vorm kunnen schrijven.
B =
_
n

i=1
x
i
u
i
[
n

i=1
x
2
i
1
_
Het beeld van B onder de lineaire afbeelding f is nu
f (B) =
_
n

i=1
x
i
f (u
i
) [
n

i=1
x
2
i
1
_
=
_
r

i=1
x
i

i
v
i
[
n

i=1
x
2
i
1
_
=
_
r

i=1
y
i
v
i
[
r

i=1
y
2
i

2
i
1
_
Het beeld van de eenheidsbol is dus de r 1-dimensionale ellipsoide met vergelijking
r

i=1
y
2
i

2
i
1
y
r+1
= = y
m
= 0
De singuliere waarden zijn dus de assen van het beeld van de eenheidsbol.
Het conditiegetal van een matrix
Onderstel dat A een vierkante reguliere matrix is (dus rg(A) = r = n = m). Het beeld van de
eenheidsbol is dan de ellipsoide met kleinste as
min
en grootste as
max
. Voor elke X R
n
geldt
dan

min
|X| |AX|
max
|X|
Beschouw nu het lineair stelsel
AX = B
Een fout B op het rechterlid veroorzaakt een fout X op de oplossing X:
A(X +X) = B+B
of
AX = B
Omdat
min
|X| |B| en |B|
max
|X| vinden we voor de relatieve fout op X de afschatting
|X|
|X|


max

min
|B|
|B|
Per denitie noemen we
k =

max

min
57
het conditiegetal van de matrix A. k is een betere maat voor de conditie van de matrix A dan de
determinant van A. Beschouw bijvoorbeeld de 100100-matrix met 0.1 op de hoofddiagonaal en
nullen elders. De determinant is heel klein:
det(A) = 10
100
maar het conditiegetal is 1. A zet de eenheidsbol om in een kleinere bol.
4.6 Veralgemeende inversen van matrices
Onderstel dat een probleem gesteld is, waarbij gevraagd wordt om vijf onbekende parameters te
bepalen. Informatie over de parameters kan men verkrijgen door metingen uit te voeren. Men voert
vijftig metingen uit. Men beschikt dan eigenlijk over vijftig betrekkingen tussen de vijf onbekende
parameters. Dit zijn natuurlijk meer vergelijkingen dan nodig. Door de meetfouten zal het stelsel
van vijftig vergelijkingen met vijf onbekenden een strijdig stelsel zijn. De zaak is nu om de meest
plausibele waarde voor de vijf onbekende parameters naar voor te schuiven. We zullen dit hier
doen in het geval dat de gegeven vergelijkingen lineair zijn. Desnoods linearizeren we ons stelsel
vergelijkingen: we benaderen onze vergelijkingen door lineaire.
Onze taktiek is de volgende: beschouw een lineair stelsel
AX = B
van m vergelijkingen met n onbekenden. Het stelsel heeft niet noodzakelijk een oplossing, en daar-
om stellen we ons tevreden met de vectoren X waarvoor |AX B| minimaal is. We werken hierbij
met de gewone Euclidische norm. Als A de matrix van een niet-injectieve lineaire afbeelding is,
dan zal |AX B| minimaal zijn voor meer dan een waarde van X. We kiezen de oplossing X van
minimale lengte. In het vervolg zullen we zien dat de afbeelding die B afbeeldt op X zoals hierbo-
ven beschreven, lineair is. We noemen deze de veralgemeende inverse of Moore-Penrose inverse
van A.
Zoals in de voorgaande paragraaf beschouwen we twee Euclidische ruimten E en F, van respec-
tievelijk dimensie n en m, en een lineaire afbeelding
f : EF
We noteren verder
K = Ker ( f ) E en L = Im( f ) F
We kunnen nu schrijven
E = KK

en F = LL

We gebruiken volgende notaties voor de orthogonale projecties


p
K
: E K p
K
: E K

p
L
: F L p
L
: E L

58
De lineaire afbeelding f beperkt zich tot een bijectie
h = f
[K
: K

L
Per denitie stellen we
f
+
= h
1
p
L
(4.15)
Neemy F, en onderstel dat f
+
(y) =x. Dan is
f (x) = p
L
(y) en x K

Herhaal dat p
L
(y) de vector in L is die het dichtst bij y gelegen is. Dus met andere woorden
|z y| |p
L
(y) y|
voor elkez L. Voor elkex
1
E is f (x
1
) L, en dus is
| f (x
1
) y| |p
L
(y) y| =| f (x) y|
en dus is | f (x) y| minimaal voor x = f
+
(y).
Als nux
1
een andere vector is waarvoor | f (x
1
)y| minimaal is, dan is f (x) = f (x
1
), enxx
1
K.
Maar dan is
x
1
=x +(x
1
x) K

K
en
|x
1
|
2
=|x|
2
+|x
1
x|
2
|x|
2
zodat we bewezen hebben dat x van minimale lengte is. Dit is de procedure die we hierboven
beschreven.
We zullen nu de eigenschappen van f
+
bestuderen. Merk om te beginnen op dat f
+
= f
1
als f
een isomorsme is.
Stelling 4.6.1
f
+
f = p
K
en f f
+
= p
L
(4.16)
f
+
f en f f
+
zijn zelftoegevoegd. Dit wil zeggen dat
f

f
+
= f
+
f (4.17)
f
+
f

= f f
+
(4.18)
Bovendien geldt
f f
+
f = f (4.19)
f
+
f f
+
= f
+
(4.20)
59
Bewijs. f f
+
= p
L
volgt onmiddellijk uit de denitie van f
+
.
Neemx E willekeurig, en stel f
+
( f (x)) =x
1
. Dan is x
1
K

, en f (x
1
) = f (x). Dus is f (x
1

x) =

0, enx
1
x K. Dit wil juist zeggen dat x
1
de orthogonale projectie vanx op K

is.
(4.17) en (4.18) volgen nu onmiddellijk uit het feit dat orthogonale projecties zelftoegevoegd zijn.
Tenslotte hebben we, voor allex E eny F
( f f
+
f )(x) = p
L
( f (x)) = f (x)
( f
+
f f
+
)(y) = f
+
(p
K
(y)) = (h
1
p
K
p
K
)(y) = f
+
(y)

We zullen nu zien dat (4.17)-(4.20) A


+
volledig karakteriseren.
Stelling 4.6.2 Onderstel dat g : F E voldoet aan volgende eigenschappen:
g f = f

(4.21)
f g = g

(4.22)
f g f = f (4.23)
g f g = g (4.24)
Dan is g = f
+
.
Bewijs.
g = g f g
(4.19) = g f f
+
f f
+
f f
+
f g
(4.17), (4.18), (4.21), (4.22) = f

f
+
f
+
f
+
f

= ( f g f )

f
+
f
+
f
+
( f g f )

(4.23) = f

f
+
f
+
f
+
f

(4.17), (4.18) = f
+
f f
+
f f
+
(4.20) = f
+

Gevolg 4.6.3 Voor een lineaire afbeelding f : E F geldt dat


f
++
= f en f
+

= ( f

)
+
Bewijs. Vervang in stelling 4.6.2 f door f
+
en g door f . Aan (4.21)-(4.24) is voldaan, zodat
f = f
++
. De tweede gelijkheid wordt op dezelfde manier bewezen.
Kies nu orthonormale basissen E en F voor E en F. Als [ f ]
E,F
= A, dan is de veralgemeende
inverse van de matrix A per denitie
A
+
= [ f
+
]
F ,E
60
Uit de twee bovenstaande stellingen volgt onmiddellijk dat A
+
gekenmerkt wordt door volgende
vergelijkingen.
A
+
A = A
t
A
+t
(4.25)
AA
+
= A
+t
A
t
(4.26)
AA
+
A = A (4.27)
A
+
AA
+
= A
+
(4.28)
Hoe kunnen we de veralgemeende inverse van een matrix A berekenen? Als we de singuliere
waarden ontbinding van A kennen, dan kennen we ook de veralgemeende inverse.
We gebruiken dezelfde notatie als in stelling 4.5.1. We hebben
[ f ]
U,V
=
_
D
1
0
0 0
_
M
mn
(R)
Van deze matrix kunnen we de veralgemeende inverse gemakkelijk uitrekenen:
[ f
+
]
V,U
=
_
D
1
1
0
0 0
_
M
nm
(R)
en dus is
A
+
= [ f
+
]
F ,E
= N[ f
+
]
V,U
M
t
= N
_
D
1
1
0
0 0
_
M
t
(4.29)
61
Hoofdstuk 5
Eigenwaarden en eigenvectoren
5.1 Algemene eigenschappen
We herhalen denitie en eigenschappen van eigenwaarden en eigenvectoren, uit de cursus Algebra
en Meetkunde. Zij A een (re ele) nn-matrix. X is een eigenvector van A als X ,= 0, en
AX = X (5.1)
We noemen een eigenwaarde van A. De eigenwaarden zijn de wortels van de karakteristieke
vergelijking
P
A
() = det(AI
n
) =

a
11
a
12
a
1n
a
21
a
22
a
2n
.
.
.
.
.
.
.
.
.
a
n1
a
n2
a
nn

= 0 (5.2)
P
A
is een veelterm van graad n in , en wordt de karakteristieke veelterm genoemd. Men kan
ook eigenwaarden en eigenvectoren van een willekeurige lineaire afbeelding deni eren (zie de
cursus Algebra en Meetkunde). Als A en B matrices zijn van eenzelfde lineaire afbeelding,
maar tenopzichte van verschillende basissen, dan is P
A
= P
B
, en bijgevolg hebben A en B dezelfde
eigenwaarden. Als A n lineair onafhankelijke eigenvectoren heeft, dan vormen deze een basis van
eigenvectoren. De lineaire afbeelding bepaald door A heeft een diagonale matrix tenopzichte van
deze basis van eigenvectoren, en we zeggen dat A diagonalizeerbaar is. Herhaal verder de volgende
eigenschappen.
Stelling 5.1.1 Voor elke re ele symmetrische matrix A bestaat er een orthonormale basis van ei-
genvectoren. Bijgevolgd bestaat er een orthogonale matrix M zodat
M
t
AM = D
diagonaal is.
62
Stelling 5.1.2 (formule van Cayley-Hamilton) Een vierkante matrix A voldoet steeds aan zijn
karakteristieke vergelijking:
P
A
(A) = 0
Om de eigenwaarden en eigenvectoren van een matrix A te bepalen kunnen we als volgt tewerk
gaan. We schrijven de karakteristieke vergelijking (5.2) op, en we bepalen de wortels
i
. Bij elke

i
bepalen we de bijhorende eigenvectoren, door (5.1) op te lossen. Voor grote waarden van n is
dit niet erg praktisch, en daarom zoeken we naar andere methoden.
De cirkels van Gerschgorin
Onderstel dat A een matrix is waarvan de waarden op de diagonaal veel groter zijn dan die bui-
ten de diagonaal. Men kan er dan van uitgaan dat de waarden op de diagonaal dicht tegen de
eigenwaarden liggen. Dit wordt bewezen in de volgende eigenschap.
Stelling 5.1.3 Schrijf
r
i
=
n

j=1, j,=i
[a
i j
[
Alle eigenwaarden van A liggen dan binnen de cirkels met middelpunt a
ii
en straal r
i
.
Bewijs. Onderstel dat AX = X. Dan is
n

j=1
a
i j
x
j
= x
i
voor i = 1, 2, , n. Kies nu de index i zodanig dat [x
i
[ [x
j
[ voor elke andere index j. Dan is
(a
ii
)x
i
=
n

j=1, j,=i
a
i j
x
j
en
[a
ii
[
n

j=1, j,=i
[a
i j
[

x
j
x
i

j=1, j,=i
[a
i j
[ = r
i

De methode van Krylov


Dit is een manier om de karakteristieke vergelijking op te stellen zonder een determinant te bere-
kenen. De karakteristieke vergelijking is van de vorm

n
+
n1

i=0
b
i

i
= 0 (5.3)
63
Uit de formule van Cayley-Hamilton weten we dat
A
n
+
n1

i=0
b
i
A
i
= 0
We vermenigvuldigen dit met een willekeurige kolomvector Y.
A
n
Y +
n1

i=0
b
i
A
i
Y = 0
Deze vectori ele betrekking kunnen we beschouwen als een lineair stelsel in b
0
, b
1
, , b
n1
. Oplos-
sen van dit stelsel (bijvoorbeeld met behulp van Gauss eliminatie) levert de co efci enten b
0
, b
1
, , b
n1
en dus de karakteristieke vergelijking.
5.2 De methode van de machten
We onderstellen dat A diagonalizeerbaar is, dit wil zeggen dat er een basis van eigenvectoren be-
staat. We schrijven X
1
, X
2
, , X
n
voor deze basis van eigenvectoren, en we noteren
1
,
2
, ,
n
voor de bijhorende eigenwaarden.
Onderstel nu dat de eigenwaarde
1
in absolute waarde groter is dan alle andere, m.a.w.
[
1
[ >[
i
[
voor i = 2, 3, , n. Neem nu een willekeurige vector Y. We kunnen schrijven:
Y =
n

i=1

i
X
i
Als we beide leden linksvermenigvuldigen met A
m
, dan vinden we
A
m
Y =
n

i=1

i
A
m
X
i
=
n

i=1

m
i
X
i
Deel nu beide leden door
m
1
.
A
m
Y

m
1
=
1
X
1
+
n

i=2

m
i

m
1
X
i
en
lim
m
A
m
Y

m
1
=
1
X
1
(5.4)
We kunnen besluiten dat de richting van A
m
Y in de limiet voor m de richting aanneemt van de
eigenvector X
1
behorend bij de dominante eigenwaarde. Om
1
te bepalen redeneren we als volgt:
vermenigvuldig (5.4) met een willekeurige rijvector E
t
(bijvoorbeeld een basisvector):
lim
m
E
t
A
m
Y

m
1
=
1
E
t
X
1
64
We hebben ook
lim
m
E
t
A
m+1
Y

m+1
1
=
1
E
t
X
1
Als we beide betrekkingen door mekaar delen, dan vinden we

1
= lim
m
E
t
A
m+1
Y
E
t
A
m
Y
(5.5)
Om X
1
te bepalen nemen we dus een startvector Y, en berekenen achtereenvolgens AY, A
2
Y, A
3
Y,
enz. Omdat enkel de richting van X
1
belangrijk is, normaliseren we onze benadering voor de
eigenvector bij elke iteratie: we zorgen ervoor dat de grootste component in absolute waarde 1
wordt. Opeenvolgende benaderingen van
1
vinden we met behulp van (5.5).
Algoritme 5.2.1 Kies een startvector Y = X
(0)
1
die als grootste component in absolute waarde 1
heeft.
Onderstel dat een benadering X
(s)
1
van X
1
gekend is, en dat de grootste component in absolute
waarde van X
(s)
1
gelijk is aan 1.
Bepaal AX
(s)
1
.
(s)
1
is de component van AX
(s)
1
die het grootste is in absolute waarde, en
X
(s+1)
1
=
X
(s)
1

(s)
1
In bovenstaand algoritme benaderen we
1
met behulp van (5.5): we nemen voor Y een van de
basisvectoren. Welk is de beste keuze voor Y. Of met andere woorden, als we een benadering X
hebben voor de eigenvector X
1
, welk is dan de beste schatting voor de bijhorende eigenwaarde. Dit
is het getal waarvoor |AX X| minimaal is.
Lemma 5.2.2 |AX X| is minimaal voor
=
X
t
AX
|X|
2
(5.6)
Bewijs.
|AX X|
2
= (AX X)
t
(AX X) =|X|
2

2
2X
t
AX+|AX|
2
We stellen de afgeleide naar gelijk aan nul:
2|X|
2
2X
t
AX = 0
Het maximum wordt dus bereikt voor
=
X
t
AX
|X|
2

65
Opmerking 5.2.3 Als
1
een meervoudige eigenwaarde is, dan werkt de methode nog altijd. On-
derstel dat met
1
twee lineair onafhankelijke vectoren X
1
en X
2
overeenstemmen. Als we redene-
ren zoals voor (5.4), dan vinden we dat
lim
m
A
m
Y

m
1
=
1
X
1
+
2
X
2
Als we vertrekken met een andere startvector Y
/
die geen veelvoud is van Y, dan vinden we
lim
m
A
m
Y
/

m
1
=
/
1
X
1
+
/
2
X
2
en op deze manier vinden we twee lineair onafhankelijke eigenvectoren die behoren bij
1
.
Opmerking 5.2.4 Wat gebeurt er als toevallig
1
= 0? In dit geval is
lim
m
A
m
Y

m
1
= 0
In de praktijk zal dit zich niet voordoen: door afrondingsfouten krijgt A
m
Y een component langs
X
1
die niet helemaal nul is. Initieel zal A
m
Y de richting van de eigenvector X
2
behorend bij de in
absolute waarde tweedegrootste eigenwaarde aannemen. Nadien convergeert de rij toch naar de
richting van X
1
.
Opmerking 5.2.5 Als [
2
/
1
[ 1, dan zal de methode der machten traag convergeren. Men kan
de convergentie versnellen door een verschuiving uit te voeren: men vervangt A door AsI. De
eigenvectoren blijven dan dezelfden, en de bijhorende eigenwaarden zijn
/
i
=
i
s. Door een
geschikte keuze van s wordt de verhouding [
2
/
1
[ kleiner, zodat de convergentie versnelt.
Als bijvoorbeeld
1
= 8,
2
= 7.9 en
3
= 2, dan is [
2
/
1
[ 1, zodat de convergentie traag
verloopt. Kiest men s =4, dan worden de nieuwe eigenwaarden
/
1
= 12,
/
2
=3.9 en
/
3
= 6.
Nu is [
/
2
/
/
1
[ = 1/2 zodat de convergentie verbetert.
Het nadeel aan deze methode is dat we s op goed geluk af moeten kiezen.
Opmerking 5.2.6 Met de techniek uit de vorige opmerking kunnen we nog een tweede eigen-
waarde en bijhorende eigenvector bepalen. Neem weer het voorbeeld uit voorgaande opmerking:

1
= 8,
2
= 7.9 en
3
= 2, en stel nu s = 4. De nieuwe eigenwaarden worden nu
/
1
= 4,

/
2
=11.9 en
/
3
=2.
/
2
is dus dominant geworden.
Bepalen van de overige eigenwaarden
Zoals blijkt uit de vorige opmerking kunnen we met behulp van de methode der machten steeds de
grootste en de kleinste eigenwaarde, en de bijhorende eigenwaarden bepalen. Onderstel nu dat A
re eel en symmetrisch is. We kunnen dan nog verder gaan.
Onderstel dat de dominante eigenwaarde
1
bepaald is, en normaliseer de bijhorende eigenvector
X
1
in Euclidische norm: onderstel dat |X
1
| = 1. Stel nu
B = A
1
X
1
X
t
1
66
Merk op dat X
1
X
t
1
het product is van een 31 en een 13 matrix is, en dus een 33-matrix.
A is re eel en symmetrisch, en dit betekent dat de (genormaliseerde) eigenvectoren een orthonor-
male basis van R
n
vormen (zie stelling 5.1.1). Voor i ,= 1 vinden we daarom dat
BX
i
= AX
i

1
X
1
X
t
1
X
i
= X
i
en, voor i = 1:
BX
1
= AX
1

1
X
1
X
t
1
X
1
= 0
De eigenvectoren van B zijn dus X
1
, X
2
, . . . , X
n
, met bijhorende eigenwaarden 0,
2
, . . . ,
n
. Toe-
passen van de methode der machten levert een eigenwaarde verschillend van
1
.
In theorie kan men op deze manier alle eigenwaarden en eigenvectoren bepalen. Voor grotere waar-
den van n stapelen de fouten zich op, en dit brengt mee dat men met de methode slechts enkele
eigenwaarden kan bepalen: degenen die het grootst zijn in absolute waarde.
De inverse machtenmethode
Onderstel dat ,= 0 een eigenwaarde is van A, met bijhorende eigenvector X:
AX = X
Als A regulier is, dan vinden we
A
1
X =
1
X
en dus is
1
een eigenwaarde van A
1
, en de bijhorende eigenvector is X.
Onderstel nu dat geen eigenwaarde is van A. Dan is 0 geen eigenwaarde van AI
n
, en AI
n
is dus regulier. De eigenwaarden van (AI
n
)
1
zijn dus (
i
)
1
(i = 1, . . . , n). Als een
benadering is voor e en van de eigenwaarden, bijvoorbeeld
k
, dan is (
k
)
1
de dominante ei-
genwaarde. Als zeer dicht bij
k
, dan is deze eigenwaarde v e el groter dan alle anderen, zodat de
methode der machten (toegepast op (AI
n
)
1
) zeer snel convergeert.
Als we de eigenwaarden ongeveer weten liggen (bijvoorbeeld met behulp van de cirkels van Gersh-
gorin), dan kunnen we deze allen bepalen met deze methode. Nadeel is dat we bij elke iteratieslag
moeten vermenigvuldigen met de inverse van AI
n
. We moeten dus een lineair stelsel oplossen.
Een verjning van deze methode is de volgende.
Rayleigh quotient iteratie
Men vertrekt van een benadering
0
van een van de eigenwaarden, en van een benadering X
0
van de bijhorende eigenvector. Men voert e en iteratie van de inverse machtenmethode uit. Men
vindt een benadering X
1
voor de eigenvector, en bepaalt hieruit een nieuwe benadering
1
van de
eigenwaarde, met behulp van lemma 5.2.2: men stelt
1
gelijk aan het Rayleigh quotient

1
=
X
t
1
AX
1
|X
1
|
2
Men herhaalt dan het proc ed e. We verkrijgen volgend algoritme.
67
Algoritme 5.2.7 Vertrek van benaderingen
0
en X
0
van de eigenwaarde en de bijhorende eigen-
vector X.

k+1
en X
k+1
worden uit
k
en X
k
berekend door oplossing van het stelsel
(A
k
I
n
)X
k+1
= X
k
Men vervangt X
k+1
door X
k+1
/|X
k=1
|, en men stelt

k+1
= X
t
k+1
AX
k+1
Dit algoritme convergeert zeer snel: als A re eel en symmetrisch is, dan kan men bewijzen dat het
van orde drie is.
5.3 De methode van Jacobi
Onderstel dat A re eel en symmetrisch is. Dan weten we dat er een orthogonale matrix Q bestaat
zodanig dat
Q
t
AQ = D
een diagonaalmatrix is. De elementen op de diagonaal zijn de eigenwaarden van A, en de ko-
lommen van Q zijn de (genormaliseerde) eigenvectoren van A. Als we Q kunnen bepalen is het
probleem opgelost.
Een typevoorbeeld van een orthogonale transformatie is een rotatie. Onze taktiek bestaat er nu
in om opeenvolgend rotaties uit te voeren zodanig dat de getransformeerde matrix A dichter en
dichter bij een diagonaalmatrix komt. Onderstel dat we een rotatie over een hoek uitvoeren in
het vlak bepaald door de r-de en de s-de eenheidsvector. De orthogonale matrix N die deze rotatie
bepaalt is
N =
_
_
_
_
_
_
_
_
_
_
_
_
_
r s
1 0 0 0 0
0 1 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
r 0 0 cos sin 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
s 0 0 sin cos 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 1
_
_
_
_
_
_
_
_
_
_
_
_
_
Als we deze rotatie uitvoeren, dan wordt de nieuw matrix
A = N
t
AN
We gaan deze nu berekenen. Om de berekeningen te vereenvoudigen stellen we r = 1 en s = 2. In
het algemeen zijn de berekeningen volledig analoog, maar veel omslachtiger om neer te schrijven.
68
Met notaties als in 4.2 hebben we
A =
_
_
_
a
11
a
12
A
13
a
21
a
22
A
23
A
31
A
32
A
33
_
_
_
en N =
_
_
_
cos sin 0
sin cos 0
0 0 I
n2
_
_
_
zodat
A = N
t
AN
=
_
_
_
cos sin 0
sin cos 0
0 0 I
n2
_
_
_
_
_
_
a
11
a
12
A
13
a
21
a
22
A
23
A
31
A
32
A
33
_
_
_
_
_
_
cos sin 0
sin cos 0
0 0 I
n2
_
_
_
=
_
_
_
cos sin 0
sin cos 0
0 0 I
n2
_
_
_
_
_
_
a
11
cos+a
12
sin a
11
sin+a
12
cos A
13
a
12
cos+a
22
sin a
12
sin+a
22
cos A
23
A
31
cos+A
32
sin A
31
sin+A
32
cos A
33
_
_
_
en we krijgen dus voor A volgende matrix :
_
_
_
a
11
cos
2
+2a
12
cossin+a
22
sin
2
cossin(a
22
a
11
) +(cos
2
sin
2
)a
12
cossin(a
22
a
11
) +(cos
2
sin
2
)a
12
a
22
cos
2
2a
12
cossin+a
11
sin
2

A
31
cos+A
32
sin A
31
sin+A
32
cos
cosA
13
+sinA
23
sinA
13
+cosA
23
A
33
_
_
_
De matrix A heeft volgende eigenschappen:
1) A is re eel en symmetrisch. Immers
A
t
= (N
t
AN)
t
= N
t
AN = A
2) A en A hebben dezelfde eigenwaarden. Immers, A en A stellen dezelfde lineaire afbeelding voor,
maar ten opzichte van verschillende (orthonormale) basissen.
3) a
i j
= a
i j
als i en j beiden verschillend zijn van r en s. Dit kunnen we zien aan de expliciete
vorm van de matrix A.
4)
n

i=1
n

j=1
a
2
i j
=
n

i=1
n

j=1
a
2
i j
(5.7)
Om (5.7) te bewijzen gaan we als volgt te werk. Onderstel dat N een orthogonale matrix is, en X
een kolomvector. Stel Y = NX. Dan is
n

i=1
y
2
i
=|Y|
2
=|NX|
2
=|X|
2
=
n

i=1
x
2
i
69
Immers, N is orthogonaal, en behoudt dus de lengte. Hieruit volgt dat, voor een vierkante matrix
A, en B = NA:
n

i=1
n

j=1
b
2
i j
=
n

i=1
n

j=1
a
2
i j
(5.8)
Als nu X een rijvector is, en N een orthogonale matrix, dan hebben we, met Y = XN
n

i=1
y
2
i
=|Y
t
|
2
=|N
t
X
t
|
2
=|X
t
|
2
=
n

i=1
x
2
i
en we kunnen hieruit concluderen dat (5.8) ook nog geldt als B = AN. Combineren van de twee
eigenschappen geeft (5.7).
Het basisidee van de methode van Jacobi bestaat er nu in om zo te kiezen dat a
rs
= a
sr
= 0. Uit
de expliciete formule voor A zien we dat
a
rs
= a
sr
= sincos(a
ss
a
rr
) +a
rs
(cos
2
sin
2
) (5.9)
en het volstaat dus om zo te kiezen dat
tg2 =
2a
rs
a
rr
a
ss
(5.10)
Uit (5.7), toegepast op het geval n = 2, volgt
a
2
rr
+a
2
rs
+a
2
sr
+a
2
ss
= a
2
rr
+a
2
rs
+a
2
sr
+a
2
ss
Als a
rs
= a
sr
= 0, dan hebben we dus dat
a
2
rr
+a
2
ss
= a
2
rr
+2a
2
sr
+a
2
ss
en
n

i=1
a
2
ii
=
n

i=1
a
2
ii
+2a
2
sr
De massa op de hoofddiagonaal is dus toegenomen.
Stel A
1
= A. We passen dezelfde procedure nogmaals toe, en maken een ander niet-diagonaal
element nul. We verkrijgen een nieuwe matrix A
2
. Jammer genoeg wordt dan het element a
rs
dat
we in de eerste stap nul maakten, opnieuw verschillend van nul.
Belangrijk evenwel is dat de massa op de hoofddiagonaal opnieuw toeneemt. Men verkrijgt aldus
een rij matrices A
0
, A
1
, , met stijgende massa op de hoofddiagonaal, en, vanwege (5.7), dalende
massa buiten de hoofddiagonaal. Men hoopt dat
lim
k
A
k
= D
een diagonaalmatrix is. In dat geval is
Q = lim
k
N
0
N
1
N
k
=

k=0
N
k
de gevraagde orthogonale matrix. De kolommen van Q zijn de genormalizeerde eigenvectoren.
70
Praktische werkwijze
Er zijn drie methodes.
1) De klassieke werkwijze
Dit is de meest voor de hand liggende methode. Het is de bedoeling om de massa buiten de hoofd-
diagonaal zo snel mogelijk nul te maken. Bij elke iteratie neemt de massa op de hoofddiagonaal
toe met tweemaal het kwadraat van de nul gemaakte term. Men zoekt dus telkens de grootste [a
rs
[
(met r ,= s), en maakt dit element nul. Dit optimaliseert het aantal iteraties. Het nadeel is dat men
telkens het grootste element moet zoeken.
2) De reeksmethode
Men doorloopt de niet-diagonale elementen in een vast bepaalde volgorde, en maakt deze telkens
nul. Het aantal nodige iteraties is dan uiteraard veel groter dan bij de klassieke werkwijze.
3) De drempelmethode
Men doorloopt de niet-diagonale elementen in een vast bepaalde volgorde, maar men voert de
iteratie enkel uit als het element [a
rs
[ in kwestie boven een gegeven drempelwaarde ligt. Als alle
elementen buiten de diagonaal kleiner zijn geworden dan de drempel, dan herbegint men met een
lagere drempel.
Men kan aantonen dat de methode van Jacobi convergeert in de drie gevallen.
Berekening van cos en sin
(5.10) levert tg2. Om de matrix N neer te schrijven hebben we echter cos en sin nodig. Uit
(5.10) volgt dat
sin2 =
2a
rs
R
cos2 =
a
rr
a
ss
R
met
R =
_
(a
rr
a
ss
)
2
+4a
2
rs
Hieruit halen we dat
cos
2
=
1
2
+
a
rr
a
ss
2R
(5.11)
sin
2
=
1
2

a
rr
a
ss
2R
(5.12)
sincos =
a
rs
R
(5.13)
Bij het gebruik van deze formules kan een numerieke instabiliteit optreden. Indien het algoritme
convergeert worden de elementen a
rs
buiten de diagonaal na verloop van tijd erg klein, zodat
R
2
(a
rr
a
ss
)
2
en
a
rr
a
ss
2R

1
2
(5.14)
71
Als het rechterlid van (5.14) 1/2 is, dan is (5.11) numeriek instabiel. Als het rechterlid 1/2 is,
dan is (5.12) numeriek instabiel. De numerieke instabiliteit wordt omzeild door het algoritme als
volgt aan te passen.
Als a
rr
> a
ss
, dan gebruikt men (5.11) en (5.13).
Als a
rr
< a
ss
, dan gebruikt men (5.11) en (5.12).
72
Hoofdstuk 6
Interpolatie
De oplossingen van de problemen in de voorgaande hoofdstukken waren steeds getallen (oplossing
van vergelijkingen) of vectoren (oplossing van stelsels).
Vanaf nu zullen we te maken hebben met problemen waarbij zowel de gegevens als de oplossingen
mogelijk functies zijn. We zullen dus te doen hebben met functies die gegeven zijn in een nume-
rieke vorm, dit wil zeggen dat we de functies slechts kennen in een aantal spilpunten x
0
, x
1
, . . . , x
n
.
Anders gezegd, de functie y = f (x) is gegeven door een tabel
x
0
f
0
= f (x
0
)
x
1
f
1
= f (x
1
)
.
.
.
x
n
f
n
= f (x
n
)
Onderstel dat f in deze vorm gegeven is. Een vraagstuk dat zich nu stelt is het volgende: gegeven
een waarde x die niet gelijk is aan een van de spilpunten. Wat is een plausibele waarde voor f (x)?
In dit hoofdstuk behandelen we het vraagstuk van de interpolatie: we bepalen een veelterm p
n
van
graad n zodanig dat
p
n
(x
i
) = f
i
(6.1)
voor i = 0, . . . , n. We stellen tevens een formule op voor de restterm
r
n
(x) = f (x) p
n
(x)
Onze formules zullen gebaseerd zijn op de stelling van Rolle (zie de cursus Analyse, volume 1):
Als f : [a, b] R een functie is die continu is over [a, b] en aeidbaar over (a, b), en f (a) = f (b),
dan bestaat er een (a, b) zodat
f
/
() = 0
73
6.1 De formule van Lagrange
De elementaire veeltermen van Lagrange
Om het probleem van Lagrange op te lossen kijken we eerst naar het speciaal geval waarin alle f
i
s
nul zijn, op f
j
na. Onderstel f
j
= 1, met andere woorden
f
i
=
i j
voor i = 0, 1, . . . , n. De oplossing van het probleem van Lagrange noemen we L
j
. L
j
moet dus
voldoen aan
L
j
(x
i
) =
i j
(6.2)
Stel
L
j
(x) = k(x x
0
)(x x
1
) (x x
j1
)(x x
j+1
) (x x
n
)
Dan is voldaan aan (6.2) voor i ,= j. Om ook i = j in orde te brengen stellen we
L
j
(x) =
(x x
0
)(x x
1
) (x x
j1
)(x x
j+1
) (x x
n
)
(x
j
x
0
)(x
j
x
1
) (x
j
x
j1
)(x
j
x
j+1
) (x
j
x
n
)
=
n

i=0, i,=j
x x
i
x
j
x
i
(6.3)
De interpolatieveelterm van Lagrange
We keren terug naar het algemeen probleem (6.1). Stel
p
n
(x) = f
0
L
0
(x) + f
1
L
1
(x) + + f
n
L
n
(x) (6.4)
p
n
voldoet aan (6.1) en wordt de interpolerende veelterm van Lagrange genoemd. In de volgende
stelling bepalen we de restterm.
Stelling 6.1.1 Onderstel dat I een open interval is dat de spilpunten x
0
, x
1
, . . . , x
n
bevat. Onderstel
dat f
(n+1)
bestaat en eindig is over I. Dan bestaat er een I zodat
f (x) = p
n
(x) +
(x x
0
)(x x
1
) (x x
n
)
(n+1)!
f
(n+1)
() (6.5)
Bewijs. De formule is juist als x = x
i
een der spilpunten is. Dan is namelijk de voorgestelde
restterm nul, en f (x
i
) = p
n
(x
i
).
Onderstel dus dat x ,= x
i
, voor i = 0, 1, . . . , n. Neem x vast, en beschouw de hulpfunctie
g(t) = f (t) p
n
(t) ( f (x) p
n
(x))
(t x
0
)(t x
1
) (t x
n
)
(x x
0
)(x x
1
) (x x
n
)
De nulpunten van g zijn x
0
, x
1
, . . . , x
n
en x. In het totaal zijn er dus n+2 verschillende nulpunten.
Vanwege de stelling van Rolle heeft g
/
een nulpunt tussen elke koppel nulpunten van g. g
/
heeft dus
zeker n+1 verschillende nulpunten. Op dezelfde manier heeft g
//
zeker n verschillende nulpunten.
74
Als we deze redenering herhalen, dan vinden we dat g
(n+1)
minstens een nulpunt I bevat. Nu
is
g
(n+1)
(t) = f
(n+1)
(t) (n+1)!
f (x) p
n
(x)
(x x
0
)(x x
1
) (x x
n
)
Stel t = , en los op naar f (x). We vinden (6.5).
Voorbeeld 6.1.2 We beschouwen de functie
f (x) =
2

Z
x
0
e
t
2
dt
Gegeven is
f (1.0) = 0.84270
f (1.1) = 0.88021
f (1.2) = 0.91031
Gevraagd wordt f (1.15). We benaderen dit door p
2
(1.15):
f (1.15) p
2
(1.15) = 0.84270
(1.151.1)(1.151.2)
(1.01.1)(1.01.2)
+0.88021
(1.151.0)(1.151.2)
(1.11.0)(1.11.2)
+0.91031
(1.151.0)(1.151.1)
(1.21.1)(1.21.1)
= 0.89619
In dit geval kunnen we ook een bovengrens vinden voor de fout r(x).
f
/
(x) =
2

e
x
2
f
//
(x) =
4x

e
x
2
f
///
(x) =
2

(4x
2
2)e
x
2
en
[ f
///
(x)[ max
1x1.2
2

(4x
2
2)e
x
2

(4(1.2)
2
2)e
1
1.6
zodat
[r(1.15)[ <[(1.151.0)(1.151.1)(1.151.2)[
1.6
6
0.000098
Opmerking 6.1.3 In ons voorbeeld werd het aantal spilpunten opgelegd. In de praktijk wordt f
dikwijls gegeven door een tabel, en dan kan men het aantal spilpunten zo groot kiezen als men wil.
Men zal dan achtereenvolgens p
1
(x), p
2
(x), p
3
(x), . . . berekenen, waarbij men de spilpunten kiest
die het dichtst bij x liggen, en men stopt als de berekende waarden dicht bij elkaar liggen.
In dit geval is het niet efci ent om (6.4) te gebruiken. Het is beter om een recursief algoritme op
te stellen, en dit is wat we hierna zullen doen.
75
6.2 Het algoritme van Neville
We noteren p
n
1
,n
2
,...,n
k
(x) voor de interpolatieveeltermvan Lagrange die de spilpunten x
n
1
, x
n
2
, . . . , x
n
k
gebruikt. Dit is een veelterm van graad k1. Zo is p
3,6,9
de veelterm van graad 2 die de spilpunten
x
3
, x
6
en x
9
gebruikt.
Lemma 6.2.1
p
n
1
,n
2
,...,n
k
,n
k+1
(x) =
1
x
n
k+1
x
n
k

x x
n
k
p
n
1
,n
2
,,n
k1
,n
k
(x)
x x
n
k+1
p
n
1
,n
2
,,n
k1
,n
k+1
(x)

(6.6)
Bewijs. Beide leden zijn veeltermen van graad k. Het volstaat om te bewijzen dat deze gelijk zijn
in de k +1 punten x
n
1
, x
n
2
, . . . , x
n
k+1
. Voor i = 1, 2, . . . , k 1 vinden we
f (x
n
i
) =
1
x
n
k+1
x
n
k

x
n
i
x
n
k
f (x
n
i
)
x
n
i
x
n
k+1
f (x
n
i
)

Bovendien geldt
f (x
n
k
) =
1
x
n
k+1
x
n
k

0 f (x
n
k
)
x
n
k
x
n
k+1
?

en
f (x
n
k+1
) =
1
x
n
k+1
x
n
k

x
n
k+1
x
n
k
?
0 f (x
n
k+1
)

en dit bewijst het Lemma.


Lemma 6.2.1 wordt systematisch gebruikt bij het opstellen van de volgende tabel. Dit is het algo-
ritme van Neville. De gezochte waarden staan op de diagonaal.
x
1
x x
1
p
1
(x)
x
2
x x
2
p
2
(x) p
1,2
(x)
x
3
x x
3
p
3
(x) p
1,3
(x) p
1,2,3
(x)
x
4
x x
4
p
4
(x) p
1,4
(x) p
1,2,4
(x) p
1,2,3,4
(x)
Hierbij is p
i
(x) = f
i
.
Voorbeeld 6.2.2 Beschouw de situatie uit voorbeeld 6.1.2. Het algoritme van Neville geeft vol-
gende tabel, voor x = 1.15.
x
i
x x
i
f
i
1.1 0.05 0.88201
1.2 0.05 0.91031 0.89526
1.0 0.15 0.84270 0.89897 0.89619
76
6.3 De methode der gedeelde verschillen
Het nadeel bij het algoritme van Neville is dat we p
n
(x) slechts in een punt berekenen. We zouden
een formule willen opstellen die toelaat om p
n
te bepalen, en die zo is dat we niet helemaal opnieuw
moeten beginnen met rekenen als we een spilpunt toevoegen. Om dit te verwezenlijken schrijven
we p
n
(x) onder de vorm
p
n
(x) = a
0
+a
1
(x x
0
) +a
2
(x x
0
)(x x
1
) + +a
n
(x x
0
)(x x
1
) (x x
n1
) (6.7)
Als we hierin x = x
0
, x
1
, . . . , x
n
invullen, dan vinden we
_

_
f
0
= a
0
f
1
= a
0
+a
1
(x
1
x
0
)
f
2
= a
0
+a
1
(x
2
x
0
) +a
2
(x
2
x
0
)(x
2
x
1
)
.
.
.
f
n
= a
0
+a
1
(x
n
x
0
) +a
2
(x
n
x
0
)(x
n
x
1
) + +a
n
(x
n
x
0
)(x
n
x
1
) (x
n
x
n1
)
(6.8)
Dit is een driehoekig lineair stelsel dat gemakkelijk op te lossen is. Omdat de punten x
i
onderling
verschillen is de oplossing enig. Bovendien veranderen de berekende co efci enten a
0
, . . . , a
n
niet
als men spilpunten toevoegt. Immers, dit komt erop neer aan het stelsel (6.8) een vergelijking toe
te voegen, met nieuwe onbekende a
n+1
.
Hieruit volgt ook dat a
j
enkel afhangt van de functiewaarden f
0
, f
1
, . . . , f
j
. Daarom voeren we de
volgende notatie in
a
j
= f [x
0
, x
1
, . . . , x
j
] (6.9)
Als we de co efci enten van x
n
vergelijken in (6.7) en
p
n
(x) =
n

i=0
f
i
L
i
(x) =
n

i=0
f
i
n

j=0, j,=i
(x x
j
)
n

j=0, j,=i
(x
i
x
j
)
dan vinden we
a
n
= f [x
0
, x
1
, . . . , x
n
] =
n

i=0
f
i
n

j=0, j,=i
(x
i
x
j
)
(6.10)
Hieruit vinden we bijvoorbeeld dat
f [x
0
, x
1
] =
f (x
1
) f (x
0
)
x
1
x
0
(6.11)
Uit (6.10) volgt eveneens dat a
n
een lineaire combinatie is van f
0
, f
1
, . . . , f
n
, en dat a
n
een symme-
trische functie is van x
0
, x
1
, . . . , x
n
. Dit laatste betekent dat a
n
niet verandert als we de volgorde van
de x
i
s veranderen. We beweren nu dat
a
n
= f [x
0
, x
1
, . . . , x
n
] =
f [x
1
, x
2
, . . . , x
n
] f [x
0
, x
1
, . . . , x
n1
]
x
n
x
0
(6.12)
77
Het grote voordeel aan (6.12) is dat we de co efci enten a
n
nu recursief kunnen berekenen. We
bewijzen (6.12) met behulp van (6.10). Noem het rechter- en linkerlid van (6.12) resp. RL en LL.
Dan geldt
RL =
1
x
n
x
0
n

i=1
f
i
n

j=1, j,=i
(x
i
x
j
)

1
x
n
x
0
n1

i=0
f
i
n1

j=0, j,=i
(x
i
x
j
)
=
f
n
n1

j=0
(x
n
x
j
)
+
f
0
n

j=1
(x
0
x
j
)
+
1
x
n
x
0
n1

i=1
f
i
n1

j=1, j,=i
(x
i
x
j
)
_
1
x
i
x
n

1
x
i
x
0
_
Nu is
1
x
n
x
0
_
1
x
i
x
n

1
x
i
x
0
_
=
1
(x
i
x
n
)(x
i
x
0
)
zodat
RL =
n

i=0
f
i
n

j=0, j,=i
(x
i
x
j
)
= LL
De berekening van de co efci enten a
j
kan nu uitgevoerd worden met behulp van de volgende tabel
x
0
f [x
0
]
x
1
f [x
1
] f [x
0
, x
1
]
x
2
f [x
2
] f [x
1
, x
2
] f [x
0
, x
1
, x
2
]
x
3
f [x
3
] f [x
2
, x
3
] f [x
1
, x
2
, x
3
] f [x
0
, x
1
, x
2
, x
3
]
(6.13)
Als men een spilpunt toevoegt, dan verandert de tabel niet, maar wordt slechts uitgebreid met een
nieuwe rij.
Om de interpolerende veelterm in een punt uit te rekenen schrijft men deze als volgt op.
p
3
(x) = a
0
+(x x
0
)
_
a
1
+(x x
1
)
_
a
2
+(x x
2
)a
3
_
_
6.4 Differentierekening
Tot nu toe waren de spilpunten x
0
, x
1
, . . . , x
n
willekeurig. In vele gevallen liggen de spilpunten op
een gelijke afstand h van elkaar. We kunnen dan schrijven
x
k
= x
0
+kh
78
waarbij k =0, 1, . . . , n. De overeenstemmende functiewaarden noteren we nog steeds door f
0
, f
1
, , f
n
.
Tabel (6.13) neemt nu de volgende vorm aan
x
0
f
0
x
1
f
1
f
1
f
0
h
x
2
f
2
f
2
f
1
h
f
2
2f
1
+ f
0
2h
2
x
3
f
3
f
3
f
2
h
f
3
2f
2
+ f
1
2h
2
f
3
3 f
2
+3f
1
f
0
6h
3
(6.14)
We zullen alles nu in een meer elegante vorm herschrijven. We noteren R
N
voor de vectorruimte
waarvan de elementen numerieke rijen
( f
0
, f
1
, f
2
, ) = ( f
n
)
zijn. We bekijken ook de operator (in feite de lineaire afbeelding)
: R
N
R
N
gedenieerd als volgt
(f
n
) = ( f
1
f
0
, f
2
f
1
, f
3
f
2
, . . .)
= (f
1
, f
2
, f
3
, . . .)
= ( f
n+1
f
n
)
Op een rij ( f
n
) kunnen we de operator verschillende malen toepassen. We vinden bijvoorbeeld
((f
n
)) = (
2
f
n
) = ( f
2
2 f
1
+ f
0
, f
3
2 f
2
+ f
1
, . . .) = ( f
n+2
2 f
n+1
+ f
n
)
De tabel van de gedeelde verschillen (6.14) neemt nu de volgende vorm aan
x
0
f
0
x
1
f
1
f
0
h
x
2
f
2
f
1
h

2
f
0
2h
2
x
3
f
3
f
2
h

2
f
1
2h
2

3
f
0
6h
3
(6.15)
In het algemeen zien we dat
f [x
0
, x
1
, , x
n
] =

n
f
0
n!h
n
(6.16)
We voeren nu een verandering van veranderlijke uit, door x = x
0
+sh te stellen. De algemene term
van de interpolatieveelterm neemt volgende vorm aan.
a
j
(x x
0
)(x x
1
) (x x
j1
) =

j
f
0
j!h
j
sh(s 1)h (s j +1)h
=
s(s 1)(s 2) (s j +1)
j!

j
f
0
=
_
s
j
_

j
f
0
79
en we kunnen de interpolerende veelterm in de volgende elegante vorm herschrijven (de interpo-
latieveelterm van Newton).
p
n
(x) = p
n
(x
0
+sh) =
n

j=0
_
s
j
_

j
f
0
(6.17)
Behalve kunnen we nog andere lineaire transformaties van R
N
bekijken. We noteren I voor de
identieke afbeelding. E is de shift operator:
E : R
N
R
N
wordt gegeven door
(E f
n
) = ( f
1
, f
2
, f
3
, ) = ( f
n+1
)
We zien onmiddellijk dat
= E I en E = +I
Doordat E en I commuteren (dit wil zeggen dat EI =I E), mogen we het binomium van Newton
toepassen, en we vinden

k
= (E I)
k
= E
k

_
k
1
_
E
k1
+
_
k
2
_
E
k2
+(1)
k
I (6.18)
Als we (6.18) toepassen op de rij ( f
n
), dan vinden we

k
f
n
= f
n+k

_
k
1
_
f
n+k1
+
_
k
2
_
f
n+k2
+(1)
k
f
n
(6.19)
Op analoge wijze vinden we
E
k
= (I +)
k
= I +
_
k
1
_
+
_
k
2
_

2
+ +
_
k
k 1
_

k1
+
k
(6.20)
en
f
n+k
= f
n
+
_
k
1
_
f
n
+
_
k
2
_

2
f
n
+ +
_
k
k 1
_

k1
f
n
+
k
f
n
(6.21)
Als toepassing van (6.21) geven we volgende eigenschap van machtreeksen.
Stelling 6.4.1 Beschouw een rij ( f
n
). Als x ligt in het inwendige van het convergentieinterval van
de machtreeksen

n=0
f
n
n!
x
n
en

n=0

n
f
0
n!
x
n
dan hebben we dat

n=0
f
n
n!
x
n
= e
x

n=0

n
f
0
n!
x
n
80
Bewijs. Machtreeksen mogen binnen hun convergentiegebeid vermenigvuldigd worden als gewone
veeltermen. De co efci ent van x
n
in het product
_

m=0
x
m
m!
__

s=0

s
f
0
s!
x
s
_
is
n

s=0
1
(ns)!

s
f
0
s!
=
1
n!
n

s=0
_
n
s
_

s
f
0
=
f
n
n!
De laatste gelijkheid volgt uit (6.21).
Voorbeeld 6.4.2 We stellen
f
n
=
1
n+1
In dit geval is

n=0
f
n
n!
x
n
=

n=0
x
n
(n+1)!
=
e
x
1
x
zodat
e
x

n=0
f
n
n!
x
n
=
1e
x
x
=

n=0
(1)
n
x
n
(n+1)!
en uit stelling 6.4.1 volgt dat

n
f
0
=
(1)
n
n+1
Als toepassing zullen we een - soms bruikbare - formule opstellen voor de n-de parti ele som van
een machtreeks. We merken eerst op dat
n1

k=1
f
k
= (I +E +E
2
+ +E
n1
) f
0
Nu is
(
n1

k=0
E
k
) = (E I) (
n1

k=0
E
k
)
= E
n
I
= (+I)
n
I
=
n

i=1
_
n
i
_

i
= (
n1

k=0
_
n
k +1
_

k
)
Als : R
N
R
N
bijectief zou zijn, dan zouden we kunnen besluiten dat
n1

k=0
E
k
=
n1

k=0
_
n
k +1
_

k
(6.22)
81
is geen bijectie, maar toch is (6.22) geldig. We bewijzen (6.22) per inductie op n. Voor n = 1 is
de formule duidelijk geldig. Onderstel dat ze waar is voor n. Dan geldt
n

k=0
E
k
=
n1

k=0
_
n
k +1
_

k
+(+I)
n
=
n1

k=0
_
n
k +1
_

k
+
n

k=0
_
n
k
_

k
=
n1

k=0
_
n+1
k +1
_

k
+
_
n+1
n+1
_

n
=
n

k=0
_
n+1
k +1
_

k
en dit bewijst (6.22). Uit (6.22) volgt ook dat
n1

k=0
f
k
=
_ n

i=1
_
n
i
_

i1
_
f
0
= nf
0
+
_
n
2
_
f
0
+
_
n
3
_

2
f
0
+ +
n1
f
0
(6.23)
Als toepassing berekenen we
n

k=0
k
2
. Stel in (6.23) f
k
= (k +1)
2
. Dan is
f
0
= 1, f
0
= 3,
2
f
0
= 2 en
k
f
0
= 0
voor k > 2. We vinden dat
n1

k=0
(k +1)
2
=
n

k=1
k
2
= n+
n(n1)
2
3+
n(n1)(n2)
6
2
=
1
6
n(n+1)(2n+1)
Dezelfde methode kan gebruikt worden om de som van de r-de machten van de eerste n natuurlijke
getallen op te stellen. We zien dat dit een veelterm van graad r +1 in n is.
6.5 De minimaxbenadering
De rest in de interpolatieformule van Lagrange wordt gegeven door de formule
r
n
(x) = (x x
0
)(x x
1
) (x x
n
)
f
(n+1)
()
(n+1)!
Op f
(n+1)
hebben we uiteraard geen enkele vat. In sommige gevallen kan men de spilpunten x
i
vrij
kiezen, en dan gaat men die zo bepalen dat
max[(x x
0
)(x x
1
) (x x
n
)[ : x [a, b]
82
minimaal is. In deze paragraaf bespreken we hoe we deze spilpunten kunnen bepalen. Door een
lineaire transformatie kunnen we het interval [a, b] herleiden tot het interval [1, 1]. Onze methode
maakt gebruik van de veeltermen van Chebyshev. We zullen deze eerst behandelen.
De veeltermen van Chebyshev
De n-de veelterm van Chebyshev is per denitie
T
n
(x) = cos(nbgcosx) (6.24)
(6.24) denieert T
n
(x) enkel voor x [1, 1]. We zullen eerst aantonen dat T
n
(x) een veelterm is,
die gedenieerd is voor elke waarde van x.
Stel x = cos, zodat T
n
(x) = cosn. Uit de formule van Simpson
cos(n+1)+cos(n1) = 2coscosn
volgt onmiddellijk dat
T
n+1
(x) = 2xT
n
(x) T
n1
(x) (6.25)
(6.25) laat toe om de veeltermen van Chebyshev recursief te berekenen.
T
0
(x) = 1
T
1
(x) = x
T
2
(x) = 2x
2
1
T
3
(x) = 4x
3
3x
T
4
(x) = 8x
4
8x
2
+1
T
5
(x) = 16x
5
20x
3
+5x
T
6
(x) = 32x
6
48x
4
+18x
2
1
We zien dus dat T
n
een veelterm van graad n is.
Stelling 6.5.1 De veeltermen van Chebyshev vormen een orthogonaal stel over [1, 1] ten opzichte
van de gewichtsfunctie
w(x) =
1

1x
2
Bewijs. Neem n ,= m. We moeten aantonen dat
I =
Z
1
1
cos(nbgcosx)cos(mbgcosx)
dx

1x
2
= 0
Om dit te doen voeren we volgende substitutie uit.
= bgcosx ; d =
dx

1x
2
83
en vinden
I =
Z
0

cosncosmd
=
1
2
Z
0

_
cos(n+m)+cos(nm)
_
d
= 0

Uit (6.25) volgt dat de hoogste graadsterm van T


n
(x) gelijk is aan 2
n1
. We zullen nu de graek
van T
n
(x) schetsen. T
n
(x) = 0 als cosn = 0, of als
n = (2k +1)

2
met k Z. De verzameling nulpunten is dus
_
cos
_
2k +1
2n

_
: k = 0, 1, 2, . . . , n1
_
Er zijn dus n enkelvoudige nulpunten, allen gelegen in het interval [1, 1], zoals het hoort voor
orthogonale veeltermen.
We bepalen vervolgens de extreme waarden.
d
dx
T
n
(x) =
d
d
(cosn)
d
dx
= n
sinn
sin
Als T
/
n
(x) =0, dan is dus sinn =0, en dus is =k/n, waarbij k Z. k =0 bepaalt geen nulpunt,
en dus vinden we n1 nulpunten
_
cos
_
k
n

_
: k = 1, 2, . . . , n1
_
Deze liggen telkens tussen 2 nulpunten van T
n
in, zodat in elk van deze punten een extremum
bereikt wordt. De waarde die in dit extremum bereikt wordt is
cos
_
nbgcos cos
_
k
n

__
= cosk = (1)
k
Laten we ook de waarden in de eindpunten bepalen.
T
n
(1) = cosn = (1)
n
en T
n
(1) = cos0 = 1
We kunnen besluiten dat T
n
het interval [1, 1] afbeeldt op [1, 1]. De functiewaarden 1 en 1
worden bereikt in n +1 punten, namelijk in de n 1 nulpunten van de afgeleide, en ook in de
punten 1 en 1. We kunnen dus de graek van T
n
schetsen. We doen dit hieronder voor kleine
waarden van n
84
-1.5
-1
-0.5
0
0.5
1
1.5
-1.5 -1 -0.5 0 0.5 1 1.5
y=T_3(x)
x-as
y
-
a
s
-1
-0.5
0
0.5
1
1.5
-1.5 -1 -0.5 0 0.5 1 1.5
y=T_4(x)
x-as
y
-
a
s
-1.5
-1
-0.5
0
0.5
1
1.5
-1.5 -1 -0.5 0 0.5 1 1.5
y=T_5(x)
x-as
y
-
a
s
-1
-0.5
0
0.5
1
1.5
-1.5 -1 -0.5 0 0.5 1 1.5
y=T_6(x)
x-as
y
-
a
s
Figuur 6.1: De veeltermen van Chebychef
Oplossing van het minimaxprobleem
Stelling 6.5.2
max[(x x
0
)(x x
1
) (x x
n
)[ : x [1, 1]
bereikt haar minimale waarde als men voor x
0
, x
1
, . . . , x
n
de n +1 nulpunten van de Chebyshev
veelterm T
n+1
kiest.
Bewijs. De hoogste graadsterm van T
n+1
(x) is 2
n
. We moeten dus aantonen dat het minimum
bereikt wordt door de veelterm
(x x
0
)(x x
1
) (x x
n
) =
1
2
n
T
n+1
(x)
Onderstel dat er een monische veelterm q
n+1
(x) bestaat, verschillend van T
n+1
(x)/2
n
, en van graad
n+1, zodat
max[q
n+1
(x)[ : x [1, 1] < max
_

T
n+1
(x)
2
n

: x [1, 1]
_
=
1
2
n
(6.26)
85
We stellen
r
n
(x) = q
n+1
(x)
T
n+1
(x)
2
n
r
n
is dan een veelterm van graad ten hoogste n.
In een punt waar
T
n+1
2
n
zijn maximale waarde
1
2
n
bereikt, geldt dat r
n
(x) < 0, vanwege (6.26).
In een punt waar
T
n+1
2
n
zijn minimale waarde
1
2
n
bereikt, geldt dat r
n
(x) > 0, eveneens vanwege
(6.26).
In de n +2 punten waar
T
n+1
2
n
extreem is, neemt r
n
dus afwisselend een positief en negatief teken
aan. Dit betekent dat r
n
n+1 nulpunten heeft. Aangezien r
n
van graad ten hoogste n is, betekent
dit dat r
n
= 0. Dus is
q
n+1
(x) =
T
n+1
(x)
2
n
en dit is strijdig met onze onderstelling, zodat onze stelling bewezen is.
86
Hoofdstuk 7
Benadering volgens de methode van de
kleinste kwadraten
7.1 Algemene methode
Een functie f is numeriek gegeven: de functiewaarde is bekend in de spilpunten x
1
, x
2
, . . . , x
n
. In
het vorige hoofdstuk hebben we een veelterm van graad n 1 geconstrueerd die in de spilpunten
dezelfde waarde bereikte als f . Soms heeft dit niet veel zin.
In vele gevallen is het zo dat de de functiewaarden in de spilpunten slechts in benadering bekend
zijn. In dat geval heeft het geen zin om een veelterm te nemen die precies door de gegeven punten
gaat.
In andere gevallen heeft men bijkomende informatie over de functie f , bijvoorbeeld dat deze lineair
is. We beschikken nu in feite over te veel gegevens: we hebben n gegevens, en er zijn slechts twee
co efci enten te bepalen.
In het algemeen gaan we als volgt te werk: we kiezen m+1 functies

0
(x),
1
(x), . . . ,
m
(x)
Gevraagd wordt om co efci enten a
0
, a
1
, . . . , a
m
zo te bepalen dat f (x) zo goed mogelijk benaderd
wordt door
m

j=0
a
j

j
(x)
De meest gebruikte methode bestaat erin om te eisen dat
n

i=1
_
f
i

j=0
a
j

j
(x
i
)
_
2
minimaal is. Nog iets algemener is de situatie waarbij niet alle benaderde functiewaarden f
i
even
betrouwbaar zijn. In dat geval hecht men gewichten w
i
> 0 aan elke metingen, en men vraagt om
de co efci enten a
j
zo te bepalen dat
H(a
0
, a
1
, . . . , a
m
) =
n

i=1
w
i
_
f
i

j=0
a
j

j
(x
i
)
_
2
(7.1)
87
minimaal is. Een nodige voorwaarde om een extremum te hebben is dat de parti ele afgeleiden van
H naar elk van de a
k
nul zijn, dit wil zeggen dat
n

i=1
w
i
_
f
i

j=0
a
j

j
(x
i
)
_

k
(x
i
) = 0 (7.2)
(7.2) is een lineair stelsel van m+1 vergelijkingen met m+1 onbekenden a
0
, a
1
, . . . , a
m
. Als de de-
terminant van dit stelsel niet nul is, dan heeft het stelsel een unieke oplossing, en men kan aantonen
dat hiermee een minimum overeenstemt. Men noemt (7.2) het stelsels normaalvergelijkingen.
Benadering door veeltermen
In principe kan men voor
j
(x) gelijk welke functie nemen. Een voor de hand liggende keuze is

j
(x) = x
j
Dit betekent dat men f tracht te benaderen door een veelterm van graad m. De normaalvergelij-
kingen worden nu
n

i=1
w
i
_
f
i

j=0
a
j
x
j
i
_
x
k
i
= 0
of
m

j=0
_ n

i=1
w
i
x
j+k
i
_
a
j
=
n

i=1
w
i
f
i
x
k
i
(7.3)
voor k = 0, 1, . . . , m. Alles gaat goed zolang m niet te groot wordt. Voor m 6 hebben we niet
alleen het probleem dat we een lineair stelsel van relatief grote omvang moeten oplossen, het blijkt
bovendien dat dit stelsel meestal slecht geconditionneerd is.
Een belangrijk geval is het geval n = 1: men benadert de graek van f door een rechte. Men
spreekt dan van lineaire regressieanalyse. In veel praktische gevallen weet men ook dat f (0) = 0.
Het stelsel (7.3) herleidt zich dan tot 1 vergelijking met 1 onbekende, namelijk
a
1
n

i=1
w
i
x
2
i
=
n

i=1
w
i
f
i
x
i
en
a
1
=

n
i=1
w
i
f
i
x
i

n
i=1
w
i
x
2
i
7.2 Benadering met Forsythe veeltermen
Zoals al gezegd is het lineaire stelsel (7.3) slecht geconditionneerd. Als we ervoor kunnen zorgen
dat het stelsel (7.3) een diagonaal stelsel wordt, dan is er uiteraard geen probleem. Om dit te
88
verwezenlijken zullen we niet langer werken met
j
(x) = x
j
, maar we zullen voor
j
(x) = p
j
(x)
een veelterm van graad j nemen. Voor twee functies f en g deni eren we
f , g) =
n

i=1
w
i
f
i
g
i
(7.4)
Merk eerst op dat , ) alle eigenschappen van een inwendig product heeft: , ) is bilineair,
symmetrisch en niet-negatief. Alleen de positiviteit hebben we niet: het is mogelijk dat f , f ) = 0,
terwijl de functie f toch niet identiek nul is: het volstaat om een functie f te nemen die 0 is in elk
van de spilpunten x
1
, x
2
, . . . , x
n
. Het lineair stelsel (7.2) kunnen we nu herschrijven onder de vorm
m

j=0
p
j
, p
k
)b
j
= f , p
k
) (7.5)
voor j =0, 1, . . . , m. Het stelsel (7.5) is een diagonaalstelsel indien p
j
, p
k
) =0 voor j ,=k. Vandaar
de volgende denitie.
Denitie 7.2.1 Zij p
0
, p
1
, . . . , p
m
een stel veeltermen van graad 0, 1, 2, . . . , m. We noemen dit stel
orthogonaal over de spilpunten x
1
, x
2
, . . . , x
n
ten opzichte van de gewichten w
i
indien
p
j
, p
k
) = 0
voor j ,= k. De veeltermen p
j
worden ook Forsythe veeltermen genoemd.
Constructie van de Forsythe veeltermen
Een eerste manier bestaat erin om het orthogonalizatieproc ed e van Gram-Schmidt toe te passen op
1, x, x
2
, . . . , x
m
. In de hiernavolgende stelling geven we een meer praktische formule.
Stelling 7.2.2 Stel p
1
(x) = 0 en p
0
(x) = 1. Er bestaan getallen
j+1
en
j
( j = 0, 1, . . . , n) zodat
p
j+1
(x) = (x
j+1
)p
j
(x)
j
p
j1
(x) (7.6)
orthogonaal zijn over de spilpunten x
1
, x
2
, . . . , x
n
ten opzichte van de gewichten w
i
.
Bewijs. We werken per inductie op j. Voor j = 0 wordt (7.6)
p
1
(x) = (x
1
)p
0
Dan is
p
1
, p
0
) =x
1
, 1) = 0
als

1
=
x, 1)
1, 1)
=

n
i=1
w
i
x
i

n
i=1
w
i
Onderstel nu dat p
0
, p
1
, . . . , p
k
gekend zijn en orthogonaal zijn. We stellen, volgens (7.6)
p
k+1
(x) = (x
k+1
)p
k
(x)
k
p
k1
(x)
89
We moeten
k+1
en
k
zo bepalen dat
p
k+1
, p
j
) =xp
k
, p
j
)
k+1
p
k
, p
j
)
k
p
k1
, p
j
) = 0 (7.7)
voor j = 0, 1, . . . , k. Omdat xp
k
, p
j
) =p
k
, xp
j
) is aan (7.7) altijd voldaan voor j = 0, 1, . . . , k 2.
Voor j = k 1 herleidt (7.7) zich tot
p
k
, xp
k1
)
k
p
k1
, p
k1
) = 0
en hieraan is voldaan als

k
=
p
k
, xp
k1
)
p
k1
, p
k1
)
=

n
i=1
w
i
x
i
p
k
(x
i
)p
k1
(x
i
)

n
i=1
w
i
p
k1
(x
i
)
2
(7.8)
We kunnen de formule voor
k
nog iets eenvoudiger herschrijven. Stel in (7.6) j = k 1 en neem
het inwendig product met p
k
. Dan volgt
p
k
, p
k
) =p
k
, xp
k1
)
k
p
k
, p
k1
)
k1
p
k
, p
k2
) =p
k
, xp
k1
)
en

k
=
p
k
, p
k
)
p
k1
, p
k1
)
=

n
i=1
w
i
p
k
(x
i
)
2

n
i=1
w
i
p
k1
(x
i
)
2
(7.9)
Voor j = k vinden we voor (7.7)
p
k
, xp
k
)
k+1
p
k
, p
k
) = 0
en hieraan is voldaan als

k+1
=
p
k
, xp
k
)
p
k
, p
k
)
=

n
i=1
w
i
x
i
p
k
(x
i
)
2

n
i=1
w
i
p
k
(x
i
)
2
(7.10)

Opmerkingen 7.2.3 1) De stelling geeft niet alleen het bestaan van, maar ook een formule voor

j+1
en
j
: (7.9) en (7.10) laten toe om
j+1
en
j
te berekenen.
2) De orthogonale veeltermen zijn slechts bepaald op een constante na. In het bewijs van stel-
ling 7.2.2 worden ze zo geconstrueerd dat de co efci ent van de hoogste graadsterm 1 is.
3) Uiteraard mag de noemer
n

i=1
w
i
p
k
(x
i
)
2
van (7.9) en (7.10) niet nul zijn. Zolang k < n is dit geen probleem, want een veelterm van graad
k < n heeft ten hoogste n 1 nulpunten, zodat zeker e en van de p
k
(x
i
) ,= 0, en dan is de noemer
verschillend van nul.
Vanaf k = n is er wel een probleem. Om dit in te zien merken we op dat we in feite in de n-
dimensionale Euclidische ruimte aan het werken zijn: voor ons inwendig product zijn twee func-
ties f en g aan elkaar gelijk van zodra ze in de n spilpunten gelijk zijn. In een n-dimensionale
Euclidische ruimte is het maximaal aantal ortogonale, van nul verschillende vectoren n. Als we
dus p
0
, . . . , p
n1
geconstrueerd hebben, dan zijn we dus aan het einde van onze mogelijkheden:
90
elke vector die loodrecht staat op p
0
, . . . , p
n1
is nul. De veelterm p
n
(x) die men uiteindelijk vindt
door (7.6) herhaaldelijk toe te passen is dus noodzakelijk nul in elk van de spilpunten. Aangezien
gr(p
n
) = n geldt dus noodzakelijk dat
p
n
(x) = (x x
1
)(x x
2
). . . (x x
n
)
Bij de volgende iteratie is de noemer van (7.10) nul, en het algoritme is niet langer van toepassing.
Voor ons heeft dit echter geen belang, aangezien we enkel p
0
, p
1
, . . . , p
n1
nodig hebben.
Voorbeeld 7.2.4 We stellen w
i
=1, en werken met de spilpunten 0, 1, 2. We vinden achtereen-
volgens
p
0
(x) = 1

1
=
1
5
5

i=1
x
i
= 0
p
1
(x) = x

1
=

5
i=1
p
1
(x
i
)
2

5
i=1
p
0
(x
i
)
2
= 2

2
=

5
i=1
x
3
i

5
i=1
x
2
i
= 0
p
2
(x) = xp
1
(x) 2p
0
(x) = x
2
2

2
=

5
i=1
(x
2
i
2)
2

5
i=1
x
2
i
=
7
5

3
=

5
i=1
x
i
p
2
(x
i
)
2

5
i=1
p
2
(x
i
)
2
= 0
p
3
(x) = xp
2
(x)
7
5
p
1
(x) =
1
5
(5x
3
17x)

3
=

5
i=1
p
3
(x
i
)
2

5
i=1
p
2
(x
i
)
2
=
36
35

4
=

5
i=1
x
i
p
3
(x
i
)
2

5
i=1
p
3
(x
i
)
2
= 0
p
4
(x) = xp
3
(x)
36
35
p
2
(x) =
1
35
(35x
4
155x
2
+72)

4
=

5
i=1
p
4
(x
i
)
2

5
i=1
p
3
(x
i
)
2
=
4
7

5
=

5
i=1
x
i
p
4
(x
i
)
2

5
i=1
p
4
(x
i
)
2
= 0
p
5
(x) = xp
4
(x)
4
7
p
3
(x) = x
5
5x
3
+4x = x(x 1)(x +1)(x 2)(x +2)
Voorbeeld 7.2.5 We stellen w
i
= 1, en nemen als spilpunten de nulpunten van de n-de Chebyshev
veelterm T
n
(x). Als orthogonale veeltermen vinden we dan precies T
0
(x), T
1
(x), . . . , T
n
(x).
91
Voor we dit bewijzen formuleren we eerst enkele eenvoudige Lemmas.
Lemma 7.2.6 Onderstel dat de getallen e
i
0
, e
i
1
, . . . , e
i
n1
in het complexe vlak de hoekpunten
zijn van een regelmatige n-hoek. Dan is
n1

j=0
cos
j
= 0
Bewijs. Stel
0
= . Dan zijn de hoeken die optreden
+
2k
n
[ k = 0, . . . , n1
De e
i
j
zijn dan de nulpunten van de veelterm
P(z) = (e
i
z)
n
1
De som van de nulpunten is min de co efci ent van z
n1
, en is dus 0. Daarom is
n1

j=0
e
i
j
= 0
en het resultaat volgt na het nemen van het re eel gedeelte van beide leden.
Lemma 7.2.7 Neem k 1, 2, . . . , 2n1. Dan is
n1

j=0
cos(
2 j +1
2n
k) = 0
Bewijs. Omdat cosx = cos(2x) is
n1

j=0
cos(
2 j +1
2n
k) =
1
2
2n1

j=0
cos(
2 j +1
2n
k)
De punten
e
i
2j+1
2n

[ j = 0, 1, . . . , 2n1
zijn de hoekpunten van een regelmatige 2n-hoek. Ook de punten
e
i
2j+1
2n
k
[ j = 0, 1, . . . , 2n1
zijn de hoekpunten van een regelmatige veelhoek. Het aantal hoekpunten is een deler van 2n. Het
aantal hoekpunten is ook groter dan 1, omdat k < 2n. Vanwege lemma 7.2.6 is dus
2n1

j=0
cos(
2 j +1
2n
k) = 0
92
en dit bewijst ons Lemma.
Bewijs. van voorbeeld 7.2.5 Herhaal dat T
n
(x) = cos(nbgcosx). De n-nulpunten
x
0
, x
1
, . . . , x
n1
worden gegeven door de formule
x
i
= cos
2i +1
2n

en we vinden, voor 0 l < k < n,
T
k
, T
l
) =
n1

i=0
T
k
(x
i
)T
l
(x
i
)
=
n1

i=0
cos
(2i +1)k
2n
cos
(2i +1)l
2n

=
1
2
n1

i=0
cos
(2i +1)
2n
(k +l)+
1
2
n1

i=0
cos
(2i +1)
2n
(k l)
= 0
Hierbij gebruikten we de formules van Simpson, en lemma 7.2.7 (in acht genomen dat 0 < k +l <
2n en 0 < k l < 2n).
Zonder bewijs formuleren we ook nog volgend voorbeeld.
Voorbeeld 7.2.8 Stel w
i
= 1, en neem als spilpunten 0, 1, 2, . . . , n. Dan worden de p
k
(x) gegeven
door de formule
p
k
(x) =
k
_
x(x 1) (x k +1)(x n1)(x n2) (x nk)
_
93
Hoofdstuk 8
Numeriek Aeiden
8.1 Aeiden van de interpolatieformule van Lagrange
Gegeven is een functie y = f (x). We zullen onderstellen dat f gekend is in n +1 spilpunten
x
0
, x
1
, . . . , x
n
. We zullen bovendien onderstellen dat de spilpunten ekwidistant zijn:
x
k
= x
0
+kh
Deze onderstelling is strikt genomen niet nodig, maar vereenvoudigt wel de formules. In de prak-
tijk gebeurt het dikwijls dat een functie f numeriek gegeven wordt door een tabel.
Gevraagd wordt om f
/
te berekenen in elk van de spilpunten. Men kan daarna f
/
benaderen in een
willekeurig punt door interpolatie.
We onderstellen dat de spilpunten x
0
, x
1
, . . . , x
n
in een open interval I gelegen zijn, en dat f
(n+1)
(x)
eindig is over I. We kunnen dan de interpolatieformule van Lagrange (zie stelling 6.1.1) opschrij-
ven: voor elke x I hebben we
f (x) =
n

i=0
f
i
L
i
(x) +
n

j=0
(x x
j
)
f
(n+1)
((x))
(n+1)!
(8.1)
We leiden (8.1) af en vinden
f
/
(x) =
n

i=0
f
i
L
/
i
(x) +
f
(n+1)
((x))
(n+1)!
d
dx
_ n

j=0
(x x
j
)
_
+
n

j=0
(x x
j
)
d
dx
f
(n+1)
((x))
(n+1)!
De laatste term is moeilijk te manipuleren, omdat we niets weten over de functie (x). Als we
onderstellen dat de afgeleide van f
(n+1)
eindig is over I, dan is de laatste term nul in elk der
spilpunten. Dit is de reden waarom we de formule enkel gebruiken in de spilpunten. In een spilpunt
94
x
k
vinden we
d
dx
_ n

j=0
(x x
j
)
_
x=x
k
=
n

j=0, j,=k
(x
k
x
j
)
= h
n
k(k 1)(k 2) 2.1.(1)(2) ((nk))
= h
n
(1)
nk
k!(nk)!
We krijgen dus volgende formule voor de afgeleide in de spilpunten.
f
/
(x
k
) =
n

i=0
f
i
L
/
i
(x
k
) +(1)
nk
h
n
k!(nk)!
(n+1)!
f
(n+1)
(
k
) (8.2)
8.2 Praktische formules
Na enig rekenwerk kunnen we (8.2) expliciet uitschrijven in de gevallen n = 2, 3, . . .. We doen dit
voor n = 2. In dit geval hebben we
L
0
(x) =
(x x
1
)(x x
2
)
(x
0
x
1
)(x
0
x
2
)
=
1
2h
2
(x x
0
h)(x x
0
2h)
L
1
(x) =
(x x
0
)(x x
2
)
(x
1
x
0
)(x
1
x
2
)
=
1
h
2
(x x
0
)(x x
0
2h)
L
2
(x) =
(x x
0
)(x x
1
)
(x
2
x
0
)(x
2
x
1
)
=
1
2h
2
(x x
0
)(x x
0
h)
Aeiden geeft
L
/
0
(x) =
1
2h
2
(2x 2x
0
3h)
L
/
1
(x) =
1
h
2
(2x 2x
0
2h)
L
/
2
(x) =
1
2h
2
(2x 2x
0
h)
Substitutie in (8.2) geeft, na enig gereken
f
/
(x
0
) =
1
2h
(3 f
0
+4 f
1
f
2
) +
h
2
3
f
(3)
(
0
) (8.3)
f
/
(x
1
) =
1
2h
(f
0
+ f
2
)
h
2
6
f
(3)
(
1
) (8.4)
f
/
(x
2
) =
1
2h
( f
0
4 f
1
+3 f
2
) +
h
2
3
f
(3)
(
2
) (8.5)
Opmerkingen 8.2.1 1) In de praktijk beschikt men gewoonlijk over veel meer dan drie spilpun-
ten, zodat men kan kiezen tussen de drie bovenstaande formules. Gewoonlijk kiest men dan (8.4),
95
omdat de fout tweemaal kleiner is, en omdat de formule iets eenvoudiger is dan de twee anderen.
We merken ook op dat bovenstaande formules numeriek instabiel zijn: in (8.4) worden twee ge-
tallen die ongeveer aan mekaar gelijk zijn van mekaar afgetrokken. Dit is het geval voor alle
numerieke formules om afgeleiden te berekenen.
2) Als we n = 1 stellen in (8.2), dan vinden we de volgende formule:
f
/
(x
0
) =
1
h
( f
1
f
0
)
h
2
f
//
(
0
)
Vergelijk deze met de denitie van de afgeleide:
f
/
(x
0
) = lim
h0
1
h
( f (x
0
+h) f (x
0
))
Als we (8.4) uitschrijven voor n = 2, 3, 4, dan vinden we de hiernavolgende formules. Deze zijn
uitgeschreven in moleculaire vorm. Dit betekent bijvoorbeeld dat de eerste formule in het geval
n = 3 kan herschreven worden als
f
/
(x
0
) =
1
6h
(11f
0
+18 f
1
9 f
2
+2 f
3
)
h
3
4
f
(4)
(
0
)
-3 4 -1
2hD
N
__ rest
h
2
3
D
3
-1 0 1
2hD _
N
_ rest
h
2
6
D
3
1 -4 3
2hD __
N
rest
h
2
3
D
3
-11 18 -9 2
6hD
N
___ rest
h
3
4
D
4
-2 -3 6 -1
6hD _
N
__ rest
h
3
12
D
4
1 -6 3 2
6hD __
N
_ rest
h
3
12
D
4
-2 9 -18 11
6hD ___
N
rest
h
3
4
D
4
-25 48 -36 16 -3
12hD
N
____ rest
h
4
5
D
5
96
-3 -10 18 -6 1
12hD _
N
___ rest
h
4
20
D
5
1 -8 0 8 -1
12hD __
N
__ rest
h
4
30
D
5
-1 6 -18 10 3
12hD ___
N
_ rest
h
4
20
D
5
3 -16 36 -48 25
12hD ____
N
rest
h
4
5
D
5
97
Hoofdstuk 9
Numerieke Integratie
9.1 De Newton-Cotes formules
Ons doel is om algoritmen te ontwikkelen die toelaten om
Z
b
a
f (x)dx
numeriek te berekenen. Onderstel dat a, b, x
0
, . . . , x
n
gelegen zijn in een gesloten interval I waar-
over f tenminste n +1 maal continu differentieerbaar is. We onderstellen verder dat f gekend is
in de spilpunten x
0
, x
1
, . . . , x
n
. Net als in het voorgaande hoofdstuk vertrekken we van de interpo-
latieformule van Lagrange.
f (x) =
n

i=0
f
i
L
i
(x) +r
n
(x) (9.1)
met
r
n
(x) =
f
(n+1)
((x))
(n+1)!
n

j=0
(x x
j
)
(9.1) integreren geeft
Z
b
a
f (x)dx =
n

i=0
f
i
Z
b
a
L
i
(x)dx +
Z
b
a
r
n
(x)dx
We stellen c
i
=
R
b
a
L
i
(x)dx, en vinden als integratieformule
Z
b
a
f (x)dx =
n

i=0
c
i
f
i
+E( f ) (9.2)
waarbij de gemaakte fout E( f ) gegeven wordt door de formule
E( f ) =
Z
b
a
r
n
(x)dx (9.3)
98
Opmerkingen 9.1.1 1) Als f een veelterm van graad ten hoogste n is, dan is de fout r
n
(x) in de
interpolatieformule 0, en dus is ook E( f ) = 0. We zeggen dat de interpolatieformule juist is.
2) E is linear als functie van f :
E(f +g) = E( f ) +E(g)
We maken nu welbepaalde keuzes voor de spilpunten. Stel h = (ba)/n, a = x
0
, x
k
= x
0
+kh en
b = x
n
. a en b zijn dus spilpunten, en de spilpunten zijn ekwidistant. De integratieformules die
a = x
0
x
1
x
2
x
n1
x
n
b
h
Figuur 9.1: De gesloten Newton-Cotes formules
men aldus verkrijgt noemt men de gesloten Newton-Cotes formules.
Bij de open Newton-Cotes formules gebruikt men a en b niet als spilpunten. Men stelt h = (b
a)/(n +2), x
1
= a, x
k
= x
1
+ (k +1)h, en dus b = x
n+1
. In beide gevallen vinden we voor de
a x
0
x
1
b
x
n
Figuur 9.2: De open Newton-Cotes formules
co efci enten c
i
de volgende formule
c
i
=
Z
b
a
n

j=0, j,=i
x x
j
x
i
x
j
dx =
(1)
ni
h
n
i!(ni)!
Z
b
a
n

j=0, j,=i
(x x
j
)dx (9.4)
We zullen nu de co efci enten c
i
berekenen in een aantal eenvoudige gevallen.
Voorbeeld 9.1.2 De open formule met 1 spilpunt
In dit geval is x
0
= (a +b)/2, en L
0
= 1. (9.4) geeft c
0
= b a. De integratieformule neemt
volgende vorm aan
Z
b
a
f (x)dx (ba) f ((a+b)/2)
Dit is natuurlijk een erg ruwe benadering! In de praktijk gaat men gewoonlijk als volgt tewerk:
men deelt het interval [a, b] op in een aantal deelintervallen, en past op elk van die deelintervallen
de Newton-Cotes formule toe. Dit komt er in dit geval op neer de integraal te benaderen door een
Riemann som.
Voorbeeld 9.1.3 De trapeziumregel
We schrijven de gesloten formule met twee spilpunten neer. Gebruik makend van (9.4) vinden we
c
0
=
1
h
Z
x
1
x
0
(x x
1
)dx =
1
h
Z
0
h
tdt =
h
2
99
en
c
1
=
1
h
Z
x
1
x
0
(x x
0
)dx =
h
2
zodat
Z
x
1
x
0
f (x)dx
h
2
( f
0
+ f
1
) (9.5)
We berekenen dus in feite de oppervlakte van een trapezium. Als we het interval [a, b] opdelen in n
y
y = f(x)
x
0
x
1
x
Figuur 9.3: De trapeziumregel
gelijke deelintervallen [x
i1
, x
i
] en op elk van die deelintervallen de trapeziumregel toepassen, dan
vinden we
Z
x
n
x
0
f (x)dx
h
2
( f
0
+2 f
1
+2 f
2
+. . . +2 f
n1
+ f
n
) (9.6)
De trapeziumregel wordt meestal in deze vorm gebruikt.
Voorbeeld 9.1.4 De formule van Simpson
We schrijven de gesloten formule met drie spilpunten neer. Om de berekeningen te vereenvoudigen
onderstellen we eerst dat de spilpunten 0, 1 en 2 zijn. Uit (9.4) volgt
c
i
=
(1)
i
i!(2i)!
Z
2
0
2

j=0, j,=i
(x j)dx
en dus
c
0
=
1
2
Z
2
0
(x 1)(x 2)dx =
1
3
c
1
=
Z
2
0
x(x 2)dx =
4
3
c
2
=
1
2
Z
2
0
x(x 1)dx =
1
3
zodat
Z
2
0
g(t)dt
1
3
_
g(0) +4g(1) +g(2)

Om de algemene formule te vinden nemen we als substitutie


x = x
0
+th en dx = hdt
100
We krijgen
Z
x
2
x
0
f (x)dx = h
Z
2
0
f (x
0
+ht)dt

h
3
_
f (x
0
) +4 f (x
0
+h) + f (x
0
+2h)

of
Z
x
2
x
0
f (x)dx
h
3
( f
0
+4 f
1
+ f
2
) (9.7)
Dit is de formule van Simpson, en het is een van de veelgebruikte formules om bepaalde integralen
te benaderen. Als we het interval [a, b] opdelen in n intervallen van gelijke lengte, en op elk van
die intervallen de formule van Simpson toepassen, dan vinden we
Z
x
2n
x
0
f (x)dx
h
3
( f
0
+4f
1
+2 f
2
+4 f
3
+2f
4
+ +2 f
2n2
+4 f
2n1
+ f
2n
) (9.8)
Op deze manier kan men natuurlijk zoveel integratieformules opstellen als men wil. We geven
enkele voorbeelden van eenvoudige formules. We vermelden ook de restterm, die we zullen be-
spreken in de volgende paragraaf.
Gesloten formules
Z
x
1
x
0
f (x)dx =
h
2
( f
0
+ f
1
)
h
3
12
f
//
() (9.9)
Z
x
2
x
0
f (x)dx =
h
3
( f
0
+4 f
1
+ f
2
)
h
5
90
f
(4)
() (9.10)
Z
x
3
x
0
f (x)dx =
3h
8
( f
0
+3 f
1
+3 f
2
+ f
3
)
3h
5
80
f
(4)
() (9.11)
Z
x
4
x
0
f (x)dx
2h
45
(7 f
0
+32f
1
+12 f
2
+32 f
3
+7 f
4
)
8h
7
945
f
(6)
() (9.12)
Open formules
Z
x
1
x
1
f (x)dx = 2h f
0
+
h
3
3
f
//
() (9.13)
Z
x
2
x
1
f (x)dx =
3h
2
( f
0
+ f
1
) +
3h
3
4
f
//
() (9.14)
Z
x
3
x
1
f (x)dx =
4h
3
(2f
0
f
1
+2f
2
) +
28h
5
90
f
(4)
() (9.15)
Z
x
4
x
1
f (x)dx =
5h
24
(11f
0
+ f
1
+ f
2
+11f
3
) +
95h
5
144
f
(4)
() (9.16)
(9.15) staat bekend als de formule van Milne.
101
Voorbeeld 9.1.5 We berekenen het getal met de formule
=
Z
2
0
_
4x
2
dx
We gebruiken de formule van Simpson met h = 0.2, en vinden
A
B
C
1, 6
0 1, 2 2
Figuur 9.4: Berekening van

0.2
3
( f
0
+4 f
1
+2 f
2
+4 f
3
+2 f
4
+ +4 f
9
+ f
10
) = 3.127008
Deze benadering voor is een beetje teleurstellend. De reden voor de minder goede benadering
is de verticale raaklijn in het punt x = 2. In een omgeving van x = 2 zijn de afgeleiden van orde
1, 2, . . . willekeurig groot, zodat ook de fout in de interpolatieformule van Lagrange groot wordt.
Het is niet moeilijk om dit ook kwalitatief in te zien: bij de interpolatieformule van Lagrange
benaderen we een functie f door een veelterm. Als deze functie f ergens een verticale raaklijn
heeft, dan kan deze benadering nooit goed zijn, omdat veeltermen nooit een verticale raaklijn
hebben.
Het is mogelijk deze moeilijkheden te vermijden door de kwartcirkel te verdelen in drie delen A, B
en C, zoals op bovenstaande guur. De formule van Simpson geeft
A+B
0.2
3
( f
0
+4f
1
+2 f
2
+4 f
3
+2f
4
+4 f
5
+ f
6
) = 2.246991
en
B+C =
Z
1.6
0
_
4y
2
dy
0.2
3
( f
0
+4 f
1
+2 f
2
+4f
3
+2 f
4
+4 f
5
+2f
6
+4 f
7
+ f
8
) = 2.814534
Tenslotte is
= (A+B) +(B+C) B 2.246991+2.814534(1.2)(1.6) = 3.141525
en dit is een veel betere benadering dan de voorgaande.
102
9.2 De rest in de formule van Newton-Cotes
We beschouwen een Newton-Cotes formule met n+1 spilpunten. We weten dat E( f ) =0 als f een
veelterm is van graad ten hoogste n. Het kan zijn dat ook E(x
n+1
) = 0. In dat geval is E( f ) = 0
voor veeltermen van graad ten hoogste n +1. We deni eren het getal k als het maximale getal
waarvoor E(x
i
) = 0, voor elke i k. Het getal k kan eenvoudig bepaald worden: men bepaalt
gewoon achtereenvolgens E(x
n+1
), E(x
n+2
), enz, en men stopt wanneer men een resultaat vindt
dat niet gelijk is aan nul. Hoe groter k, hoe beter onze interpolatieformule!
Onderstel dat de spilpunten 0, 1, . . . , n zijn. Als we ons inspireren op de rest bij de formule van
Lagrange, dan verwachten we dat E( f ) van de volgende vorm is:
E( f ) = c
f
(k+1)
()
(k +1)!
Voor een willekeurig interval vinden we dan, via de subsitutie x = a+th, dat
Z
b
a
f (x)dx = h
Z
n
0
f (a+th)dt
=
n

i=0
c
i
f
i
+hch
k+1
f
(k+1)
()
(k +1)!
en vandaar de volgende denitie:
Denitie 9.2.1 Een integratieformule wordt een simplexformule genoemd indien men de rest kan
schrijven onder de vorm
E( f ) = ch
k+2
f
(k+1)
()
(k +1)!
(9.17)
Zonder bewijs geven we volgende stelling
Stelling 9.2.2 De Newton-Cotesformules zijn simplexformules.
Voor een gegeven Newton-Cotes formule kunnen we nu gemakkelijk h en c bepalen. We geven
twee voorbeelden.
De rest in de formule van het trapezium
We bepalen eerst het getal k. We weten dat k 1. Onderstel eerst dat het integratieinterval [0, 1]
is.
E(x
2
) =
Z
1
0
x
2
dx
1
2
(0
2
+1
2
) =
1
3

1
2
=
1
6
,= 0
Daarom is k = 1. Aangezien
E(x
2
) =
1
6
=
c
2!
d
2
dx
2
(x
2
) = c
103
vinden we dat c =1/6. De formule voor de rest is
E( f ) =
1
12
f
//
()
Voor een willekeurig integratieinterval krijgen we de volgende formule voor de rest
E( f ) =
h
3
12
f
//
() (9.18)
Men ziet dit in door de substitutie x = a+ht toe te passen.
De rest in de formule van Simpson
We bepalen eerst het getal k. We weten dat k 2. Onderstel eerst dat het integratieinterval [0, 2]
is.
E(x
3
) =
Z
2
0
x
3
dx
1
3
(0
3
+4 1
3
+2
3
) = 0
E(x
4
) =
Z
2
0
x
4
dx
1
3
(0
3
+4 1
4
+2
4
) =
4
15
We concluderen dat k = 3 en c =4/15. De formule voor de rest is
E( f ) =
h
5
90
f
(4)
() (9.19)
We hebben dus een voorbeeld van een integratieformule waarvoor k > n. Dit verklaart ook het
belang van de formule van Simpson. Enerzijds is deze tamelijk eenvoudig, en langs de andere kant
is deze veel nauwkeuriger dan bijvoorbeeld de trapeziumregel.
9.3 Rombergintegratie
We vertrekken van de trapeziumregel met rest
Z
x
1
x
0
f (x)dx =
h
2
( f
0
+ f
1
)
h
3
12
f
//
()
Onderstel dat f
//
(x) in benadering constant is, en stel c =f
//
(x)/12. We passen de regel van het
trapezium toe op de intervallen [x
0
, x
2
], [x
0
, x
1
] en [x
1
, x
2
]. We krijgen enerzijds
I =
Z
x
2
x
0
f (x)dx =
2h
2
( f
0
+ f
2
) +8h
3
c
en anderzijds
Z
x
2
x
0
f (x)dx =
Z
x
1
x
0
f (x)dx +
Z
x
2
x
1
f (x)dx =
h
2
( f
0
+2f
1
+ f
2
) +h
3
c +h
3
c
104
Stel
A
0,0
= h( f
0
+ f
2
) en A
1,0
=
h
2
( f
0
+2 f
1
+ f
2
)
dan hebben we in feite
Z
x
2
x
0
f (x)dx = A
0,0
+8h
3
c
= A
1,0
+2h
3
c
Hieruit kunnen we c elimineren, en we vinden
Z
x
2
x
0
f (x)dx =
1
3
(4A
1,0
A
0,0
) =
h
3
( f
0
+4f
1
+ f
2
)
Dit is niets anders dan de regel van Simpson, en is dus, zoals verwacht, een betere benadering voor
de integraal.
Meer algemeen kunnen we de integraal berekenen met behulp van de trapeziumformule door het
integratieinterval op te delen in achtereenvolgens 1, 2, 4, 8, 16, . . . deelintervallen. De opeenvolgen-
de benaderingen die we verkrijgen voor de integraal noemen we
A
0,0
, A
1,0
, A
2,0
, . . . , A
n,0
, . . .. Uit A
n1,0
en A
n,0
vinden we dan een nog betere benadering, namelijk
A
n,1
=
1
3
(4A
n,0
A
n1,0
)
Op deze manier vinden we een nieuwe rij benaderingen.
Uitgaande van de rij (A
n,1
) kan men alweer een nieuwe rij nog betere benaderingen (A
n,2
) opstel-
len. Om dit te doen heeft men een meer verjnde vorm van de rest van de trapeziumformule nodig.
In de onderstelling dat f voldoende aeidbaar is, kan men bewijzen dat er constanten bestaan zodat
Z
x
1
x
0
f (x)dx =
h
2
( f
0
+ f
1
) +c
1
h
3
+c
2
h
5
+ +c
N
h
2N+1
f
(2N)
() (9.20)
Wat we hierboven gedaan hebben is het elimineren van de constante c
3
. De fout wordt dan van de
orde h
5
, en dit is inderdaad wat we voor de formule van Simpson gevonden hebben. De volgende
stap bestaat erin de term in h
5
te elimineren, zodat de fout van de orde h
7
wordt. Laten we dit
expliciet uitvoeren. Als we in (9.20) alle termen vanaf c
3
h
7
verwaarlozen, dan vinden we
I A
1,1
+c
/
2
(2h)
5
Als we het interval in twee delen, en de formule op elk interval toepassen, dan krijgen we
I A
2,1
+2c
/
2
h
5
We elimineren c
/
2
, en stellen het resultaat gelijk aan A
2,2
. Dit levert
A
2,2
=
1
15
(16A
2,1
A
1,1
)
Meer algemeen krijgen we
A
m,2
=
1
15
(16A
m,1
A
m1,1
)
105
We kunnen deze redenering herhalen, en vinden de volgende algemene formule
A
m,n+1
=
4
n+1
A
m,n
A
m1,n
4
n+1
1
(9.21)
Dit leidt tot de volgende tabel
A
0,0
A
1,0
A
1,1
A
2,0
A
2,1
A
2,2
A
3,0
A
3,1
A
3,2
A
3,3
.
.
.
.
.
.
.
.
.
.
.
.
(9.22)
We verwachten dat de kolommen sneller en sneller naar de gezochte integraal I zullen convergeren.
We hebben inderdaad het volgende resultaat (zonder bewijs).
Stelling 9.3.1 Als f analytisch over het interval [a, b], dan convergeren de kolommen van (9.22)
allemaal naar I. Bovendien convergeert elke kolom sneller dan de vorige, dit wil zeggen dat
lim
m
I A
m,n+1
I A
m,n
= 0
Opmerkingen 9.3.2 1) De methode heeft slechts zin als de functiewaarden in de spilpunten vol-
doende nauwkeurig bekend zijn. Zoniet maken de fouten op de f
i
alle verbeteringen zinloos.
2) Bij overgang van A
m1,0
naar A
m,0
hoeft men f (x) alleen te berekenen in de extra toegevoegde
spilpunten.
Voorbeeld 9.3.3 We passen de methode van Romberg toe op
Z
1
0
dx
1+x
= ln2 = 0.69314 71805 59945. . .
Rombergintegratie levert ons de volgende tabel
.75000 00000 00
.70833 33333 34 .69444 44444 45
.69702 38095 25 .69325 39682 53 .69317 46031 73
.69412 18503 72 .69315 45306 53 .69314 79014 73 .69314 74776 37
.69339 12022 06 .69314 76528 17 .69314 71942 93 .69314 71830 68 .69314 71819 1
.69320 82082 69 .69314 72102 9 .69314 71807 87 .69314 71805 73 .69314 71805 65 .69314 71805 64
9.4 De integratieformules van Gauss
Tot nu toe kozen we onze spilpunten ekwidistant. Men kan ze ook willekeurig verspreid over [a, b]
nemen. We kiezen n spilpunten x
1
, x
2
, . . . , x
n
, en we integreren de formule van Lagrange:
Z
b
a
f (x)dx =
n

i=1
c
i
f
i
+E( f )
106
Merk op dat we onze spilpunten anders nummeren dan in de voorgaande paragrafen. De integratie-
formule is zeker juist voor f een veelterm van graad ten hoogste n1. Het idee van Gauss bestaat
er nu in om de spilpunten x
i
zo te kiezen dat
E(x
n
) = E(x
n+1
) = = E(x
2n1
) = 0
Het getal k is dan 2n1, zodat we een zeer nauwkeurige integratieformule hebben. Om de spilpun-
ten x
1
, x
2
, . . . , x
n
te bepalen moeten we in feite een stelsel van n vergelijkingen met n onbekenden
oplossen. We gaan echter anders te werk.
Vooreerst voeren we de lineaire substitutie
x =
a+b
2
+
ba
2
t
uit, zodat het integratieinterval [1, 1] wordt. Beschouw nu de veeltermen van Legendre P
n
(x).
Deze werden bestudeerd in volumes 3 en 4 van de cursussen Analyse en Differentiaal- en Inte-
graalrekening. We herhalen de volgende eigenschappen:
1) P
n
is een veelterm van graad n;
2) P
n
heeft n enkelvoudige nulpunten x
1
, x
2
, . . . , x
n
die allemaal in het interval [1, 1] gelegen zijn;
3) Als f een veelterm van graad strikt kleiner dan n is, dan is
Z
1
1
f (x)P
n
(x)dx = 0
We kiezen nu voor de spilpunten in onze integratieformule de n nulpunten x
1
, x
2
, . . . , x
n
van P
n
(x).
Zij f een veelterm van graad ten hoogste 2n1. We delen f (x) door P
n
(x), en we krijgen
f (x) = q(x)P
n
(x) +r(x)
waarbij q(x) en r(x) veeltermen zijn van graad kleiner dan of gelijk aan n1. Daarom is
E(r(x)) = 0
en
E(q(x)P
n
(x)) =
Z
1
1
q(x)P
n
(x)dx
n

i=1
c
i
q(x
i
)P
n
(x
i
)
= 00 = 0
We concluderen dat E( f ) = 0, zodat we het idee van Gauss verwezenlijkt hebben. We zullen de
methode van Gauss nog veralgemenen, maar eerst hebben we een interpolatieformule nodig.
De interpolatieformule van Hermite
Beschouw n spilpunten x
1
, x
2
, . . . , x
n
. Gevraagd wordt om een veelterm P(x) te vinden zodanig dat
P(x
i
) = f (x
i
) = f
i
(9.23)
P
/
(x
i
) = f
/
(x
i
) = f
/
i
(9.24)
107
voor i = 1, . . . , n, waarbij f een gegeven functie is. We gaan als volgt tewerk: ons inspirerend op
de interpolatieveelterm van Lagrange proberen we een veelterm P van de vorm
P(x) =
n

i=1
f
i
h
i
(x) +
n

i=1
f
/
i
h
i
(x)
waarbij h
i
(x) en h
i
(x) veeltermen van graad 2n1 zijn. Als we ervoor kunnen zorgen dat
h
i
(x
j
) =
i j
h
i
(x
j
) = 0 (9.25)
h
/
i
(x
j
) = 0 h
/
i
(x
j
) =
i j
(9.26)
dan is aan (9.23) en (9.24) voldaan en ons probleem is opgelost.
We nemen de elementaire veelterm van Lagrange
L
i
(x) =
n

j=1, j,=i
x x
j
x
i
x
j
De veelterm L
2
i
(x) is dan van graad 2n2. Bovendien is
L
2
i
(x
j
) =
i j
(9.27)
d
dx
(L
2
i
)(x
j
) = 0 (9.28)
voor i ,= j. We stellen
h
i
(x) = r
i
(x)L
2
i
(x) en h
i
(x) = s
i
(x)L
2
i
(x)
waarbij r(x) en s(x) veeltermen van graad 1 zijn. Aan (9.25) en (9.26) wordt dan voldaan voor
i ,= j. We bepalen tenslotte r
i
(x) en s
i
(x) door te eisen dat aan (9.25) en (9.26) wordt voldaan voor
i = j. Dit geeft
r
i
(x
i
) = 1 r
/
i
(x
i
) +2L
/
i
(x
i
) = 0
s
i
(x
i
) = 0 s
/
i
(x
i
) = 1
zodat
r
i
(x) = 12L
/
i
(x
i
)(x x
i
) en s
i
(x) = x x
i
(9.29)
en we hebben de veelterm P(x) gevonden. We noemen P(x) de interpolatieveelterm van Hermite
We willen vervolgens een formule vinden voor de fout r(x) = f (x) P(x). We onderstellen dat
f
(2n)
eindig is over een interval I dat de spilpunten x
1
, x
2
, . . . , x
n
bevat, en beschouwen de hulp-
functie
F(t) = f (t) P(t) k
n

i=1
(t x
i
)
2
We zien onmiddellijk dat x
1
, x
2
, . . . , x
n
nulpunten zijn van zowel F(t) als F
/
(t). Kies x I vast, en
verschillend van elk van de spilpunten x
1
, x
2
, . . . , x
n
. We stellen
k =
f (x) P(x)

n
i=1
(x x
i
)
2
108
zodat ook x een nulpunt is van F(t). Gebruik makend van de stelling van Rolle vinden we
dat F
/
(t) n nulpunten x
/
1
, x
/
2
, . . . , x
/
n
heeft die tussen de punten x
1
, x
2
, . . . , x
n
en x liggen. Deze
nieuwe nulpunten zijn verschillend van x
1
, x
2
, . . . , x
n
, en dus heeft F
/
2n verschillende nulpun-
ten x
1
, x
2
, . . . , x
n
, x
/
1
, x
/
2
, . . . , x
/
n
. Herhaaldelijk gebruik makend van de stelling van Rolle vinden we
dat F
//
2n1 nulpunten heeft, F
(3)
2n2, enzovoort. F
(2n)
heeft tenminste 1 nulpunt I.
F
(2n)
() = f
(2n)
() k(2n)! = 0
We concluderen dat
k =
f
(2n)
()
(2n)!
en
f (x) = P(x) +
f
(2n)
((x))
(2n)!
n

i=1
(x x
i
)
2
We vatten onze resultaten samen in de volgende stelling.
Stelling 9.4.1 Onderstel dat f : I Reen eindige afgeleide van orde 2n heeft, en neem spilpunten
x
1
, x
2
, . . . , x
n
I. Dan is
f (x) = P(x) +r(x)
waarbij
P(x) =
n

i=1
f
i
h
i
(x) +
n

i=1
f
/
i
h
i
(x)
h
i
(x) =
_
12L
/
(x
i
)(x x
i
)
_
L
2
i
(x)
h
i
(x) = (x x
i
)L
2
i
(x)
r(x) =
f
(2n)
((x))
(2n)!
n

i=1
(x x
i
)
2
De integratieformule van Gauss
We onderstellen dat f : I = [a, b] R voldoet aan de voorwaarden van stelling 9.4.1. Zij w : I =
[a, b] R een gewichtsfunctie (m.a.w. w(x) 0). We vermenigvuldigen de interpolatieformule
van Hermite met w(x) en integreren van a tot b.
Z
b
a
w(x) f (x)dx =
n

i=1
H
i
f
i
+
n

i=1
H
i
f
/
i
+E( f ) (9.30)
met
H
i
=
Z
b
a
w(x)h
i
(x)dx
H
i
=
Z
b
a
w(x)h
i
(x)dx
E( f ) =
1
(2n)!
Z
b
a
f
(2n)
((x))w(x)
n

i=1
(x x
i
)
2
dx
109
(9.30) is een integratieformule die juist is voor veeltermen tot en met graad 2n1. Het nadeel van
de formule is dat men de afgeleiden van f in de spilpunten moet kennen. De truc bestaat er nu in
om de spilpunten zo te kiezen dat de co efci enten H
i
wegvallen. Dit kunnen we doen door gebruik
te maken van orthogonale veeltermen.
Zij p
n
(x) een rij orthogonale veeltermen over [a, b] ten opzichte van de gewichtsfunctie w(x). Uit de
resultaten van volume 4 van de cursussen Analyse en Differentiaal- en integraalrekeningweten
we dat zulk een rij veeltermen bestaat. Bovendien heeft p
n
(x) n enkelvoudige nulpunten die allen
in het interval [a, b] liggen. We kiezen als spilpunten nu de nulpunten van p
n
(x). Merk op dat
p
n
(x) = A(x x
1
) (x x
i
) (x x
n
) = a
i
(x x
i
)L
i
(x)
zodat
H
i
=
Z
b
a
w(x)(x x
i
)L
2
i
(x)dx =
1
a
i
Z
b
a
w(x)p
n
(x)L
i
(x)dx = 0
aangezien gr(L
i
(x)) = n1 < n. We vinden dus een integratieformule
Z
b
a
w(x) f (x)dx =
n

i=1
H
i
f
i
+E( f ) (9.31)
die juist is voor veeltermen tot en met graad 2n1. Voor de co efci enten H
i
vinden we
H
i
=
Z
b
a
w(x)h
i
(x)dx
=
Z
b
a
w(x)L
2
i
(x)dx 2L
/
i
(x
i
)
Z
b
a
w(x)(x x
i
)L
2
i
(x)dx
=
Z
b
a
w(x)L
2
i
(x)dx (9.32)
We kunnen voor H
i
een meer eenvoudige formule opstellen. Neem f (x) =L
j
(x) in (9.31). E(L
j
) =
0, omdat L
j
van graad n1 2n1 is, en
Z
b
a
w(x)L
j
(x)dx =
n

i=1
H
i
L
j
(x
i
) = H
j
en we vinden
H
i
=
Z
b
a
w(x)L
i
(x)dx (9.33)
De integratieformule (9.31) is dus de formule die men verkrijgt door te vertrekken van de inter-
polatieformule van Lagrange met als spilpunten de nulpunten van p
n
(x), en die te integreren na
vermenigvuldiging met w(x).
We zullen nu een formule voor de rest opstellen. Onderstel dat f
(2n)
((x)) een continue functie
van x is. Met behulp van de stelling van het gemiddelde vinden we
E( f ) =
1
(2n)!
Z
b
a
f
(2n)
((x))w(x)
n

i=1
(x x
i
)
2
dx
=
f
(2n)
()
A
2
(2n)!
Z
b
a
w(x)p
n
(x)
2
dx
De rest is dus van de vorm k f
(2n)
().
110
De formules van Legendre-Gauss
Als het integratieinterval eindig is, dan kan men het door een lineaire substitutie herleiden tot
[1, 1]. Kiest men w(x) = 1, dan vindt men als orthogonale veeltermen de veeltermen van Legen-
dre P
n
.
P
n
(x) =
1
(1)
n
2
n
d
n
dx
n
(1x
2
)
n
De integratieformule neemt de volgende vorm aan
Z
1
1
f (x)dx =
n

i=1
H
i
f (x
i
) +
2
2n+1
(n!)
4
(2n+1)((2n)!)
3
f
(2n)
() (9.34)
In de hiernavolgende tabel geven we de spilpunten x
i
, en de co efci enten H
i
.
Spilpunten x
i
Co efci enten H
i
n = 2 0.577 350 27 1
n = 3 0 0.888 888 89
0.774 596 67 0.555 555 56
n = 4 0.339 981 04 0.652 145 15
0.861 136 31 0.347 854 85
n = 5 0 0.568 888 89
0.538 469 31 0.478 628 67
0.906 179 85 0.236 926 89
De formules van Laguerre-Gauss
We werken over het interval [0, +), met gewichtsfunctie w(x) = e
x
. De orthogonale veeltermen
die we aldus verkrijgen zijn de veeltermen van Laguerre
L
n
(x) = e
x
d
n
dx
n
(x
n
e
x
)
meer bepaald
L
0
(x) = 1
L
1
(x) = 1x
L
2
(x) = 24x +x
2
L
3
(x) = 618x +9x
2
x
3
L
4
(x) = 2496x +72x
2
16x
3
+x
4
111
Voor n = 2 zijn de spilpunten de nulpunten 2

2 van L
2
(x). De bijhorende gewichten zijn
(2

2)/4, en we krijgen de volgende integratieformule.


Z
+
0
e
x
f (x)dx =
1
4
_
(2+

2) f (2

2) +(2

2) f (2+

2)
_
+
f
(4)
()
6
Na een lineaire transformatie vinden we een formule die toelaat om de Laplacegetranformeerde te
benaderen.
L( f )(p) =
Z
+
0
e
xp
f (x)dx =
1
4p
_
(2+

2) f (
2

2
p
) +(2

2) f (
2+

2
p
)
_
+
f
(4)
()
6p
5
De algemene integratieformule luidt als volgt
Z
+
0
e
x
f (x)dx =
n

i=1
H
i
f (x
i
) +
(n!)
2
(2n)!
f
(2n)
() (9.35)
In de hiernavolgende tabel geven we de spilpunten x
i
, en de co efci enten H
i
.
Spilpunten x
i
Co efci enten H
i
n = 2 0.585 786 44 0.853 553 39
3.414 213 56 0.146 446 61
n = 3 0.415 774 56 0.711 093 01
2.294 280 36 0.278 517 73
6.289 945 08 0.010 389 26
n = 4 0.322 547 69 0.603 154 10
1.745 761 10 0.357 418 69
4.536 620 30 0.038 887 91
9.395 070 91 0.000 539 29
n = 5 0.263 560 32 0.521 755 61
1.413 403 06 0.398 666 81
3.596 425 77 0.075 942 45
7.085 810 01 0.003 611 76
12.640 800 84 0.000 023 37
De formules van Hermite-Gauss
We werken over het interval (, +), met gewichtsfunctie w(x) = e
x
2
. De orthogonale veelter-
men die we aldus verkrijgen zijn de veeltermen van Hermite.
H
n
(x) = (1)
n
e
x
2 d
n
dx
n
(e
x
2
)
112
De algemene integratieformule luidt als volgt
Z
+

e
x
2
f (x)dx =
n

i=1
H
i
f (x
i
) +
n!

2
n
(2n)!
f
(2n)
() (9.36)
In de hiernavolgende tabel geven we de spilpunten x
i
, en de co efci enten H
i
.
Spilpunten x
i
Co efci enten H
i
n = 2 0.707 106 78 0.886 226 93
n = 3 0 1.181 635 90
1.224 744 87 0.295 408 98
n = 4 0.524 647 62 0.804 914 09
1.650 680 12 0.081 312 84
n = 5 0 0.945 308 72
0.958 572 46 0.393 619 32
2.020 182 87 0.019 953 24
Voor een overzicht van integratieformules opgesteld met behulp van nog andere orthogonale veel-
termen, en voor meer uitgebreide tabellen verwijzen we naar M. Abramovitz en I. Stegun, Hand-
book of Mathematical functions, Dover Publ. Inc., New York, Hoofdstuk 25.
113
Hoofdstuk 10
Differentiaalvergelijkingen
In de eerste vier paragrafen bespreken we differentiaalvergelijkingen van orde 1
y
/
= f (x, y) (10.1)
met beginvoorwaarde
y(x
0
) = y
0
(10.2)
De algoritmes die we zullen ontwikkelen zijn ook van toepassing op stelsels differentiaalvergelij-
kingen
dy
dx
= f (x,y)
met beginvoorwaardey(x
0
) =y
0
. Doordat een differentiaalvergelijking van orde n steeds te herlei-
den is tot een stelsel differentiaalvergelijkingen van n vergelijkingen en n onbekenden van orde 1,
vinden we in principe ook algoritmen voor differentiaalvergelijkingen van hogere orde met begin-
voorwaarden.
Een numeriek veel ingewikkelder probleem is het oplossen van een differentiaalvergelijking van
orde 2 met randvoorwaarden. Een korte bespreking geven we in paragraaf 5.
In een laatste paragraaf worden parti ele differentiaalvergelijkingen zeer kort behandeld.
10.1 De methode van Euler-Heun
We zullen (10.1) integreren met behulp van de methode van de discretisatie. Dit wil zeggen dat we
de onbekende functie y zullen trachten te berekenen in de spilpunten
x
n
= x
0
+nh n = 0, 1, 2, . . .
Het getal h noemen we de pas. De benaderde waarden voor y(x
n
) noteren we y
n
. (10.1) en (10.2)
zijn equivalent met
y(x) = y
0
+
Z
x
x
0
f (x, y)dx (10.3)
114
We benaderen de integraal in het rechterlid met een van de methodes uit het voorgaande hoofdstuk.
Stel x = x
1
, en bereken de integraal in het rechterlid met de trapeziumregel. Dit levert
y
1
y
0
+
h
2
( f (x
0
, y
0
) + f (x
1
, y
1
)) (10.4)
(10.4) is een vergelijking in y
1
, en is van de vorm y = g(y). We lossen deze op via iteratie. Een
eerste benadering voor y
1
is
y

1
= y
0
+h f (x
0
, y
0
) (10.5)
Dit betekent dat we de kromme y = y(x) vervangen door de raaklijn in het punt (x
0
, y
0
). (10.5)
noemt men de voorspellingsformule Men vervangt y

1
in het rechterlid van (10.4) en voert een
1
x x
00
0 1
y
y
y
0
1
1
*
Figuur 10.1: De methode van Euler-Heun
eerste iteratie uit
y
1
= y
0
+
h
2
( f (x
0
, y
0
) + f (x
1
, y

1
)) (10.6)
(10.6) noemt men de verbeteringsformule. Meestal stopt men na e en iteratie. Het heeft geen zin
om de wortels van (10.4) nauwkeuriger te bepalen, aangezien (10.4) zelf reeds een benadering is,
omdat men de rest in de trapeziumformule niet kan meenemen. Als we ons tevreden stellen met
de voorspellingsformule (10.5), dan noemen we onze methode de methode van Euler. (10.5) ge-
combineerd met (10.6) noemen we de methode van Heun.
Nadat y
1
berekend is, gaan we op dezelfde manier tewerk om achtereenvolgens y
2
, y
3
, . . . te bere-
kenen. Merk op dat de afrondingsfouten en methodefouten groter en groter worden naarmate we
verder en verder van x
0
weggaan.
Als men een kleinere pas h neemt, dan worden de methodefouten kleiner. Men heeft dan evenwel
meer iteraties nodig om bij een gegeven waarde van x te geraken, zodat de afrondingsfouten dan
weer groter worden. In de praktijk heeft het dus niet altijd zin om h te klein te nemen.
10.2 De methode van Runge-Kutta
Er bestaan een groot aantal meer ingewikkelde varianten van de methode van Euler-Heun. Een
veel gebruikte variante is die van Runge-Kutta. Hierbij gebruikt men de methode van Simpson
in plaats van de trapeziumregel. Stel x = x
2
in (10.3), en benader de integraal met de regel van
Simpson:
y
2
y
0
+
h
3
_
f (x
0
, y
0
) +4 f (x
1
, y
1
) + f (x
2
, y
2
)
_
(10.7)
115
y y
y
x x x
0 1
2
0 1 2
Figuur 10.2: De methode van Runge-Kutta
In het rechterlid staan er nu twee grootheden die we niet kennen: y
1
en y
2
. We gaan als volgt
tewerk.
We benaderen y
1
met behulp van de methode van Heun, via (10.5) en (10.6).
Als we een benadering y
1
voor y(x
1
) hebben, dan hebben we ook een benadering voor y
/
(x
1
),
namelijk y
/
1
= f (x
1
, y
1
). We hebben dus
y

1
= y
0
+h f (x
0
, y
0
)
y
1
= y
0
+
h
2
( f (x
0
, y
0
) + f (x
1
, y

1
))
y
/
1
= f (x
1
, y
1
)
We schrijven dan de veelterm p
3
van Hermite neer voor de spilpunten x
0
en x
1
. p
3
is van graad 3.
We benaderen dan y
2
in het rechterlid van (10.7) door p
3
(x
2
).
Gebruik makend van (9.29) vinden we
h
0
(x) =
_
1+
2
h
(x x
0
)
_
(x x
1
)
2
h
2
h
1
(x) =
_
1
2
h
(x x
1
)
_
(x x
0
)
2
h
2
h
0
(x) = (x x
0
)
(x x
1
)
2
h
2
h
1
(x) = (x x
1
)
(x x
0
)
2
h
2
en
h
0
(x
2
) = 5 h
1
(x
2
) =4
h
0
(x
2
) = 2h h
1
(x
2
) = 4h
Als voorspellingsformule voor y
2
krijgen we dus
y

2
= p
3
(x
2
) = 5y
0
4y
1
+2hy
/
0
+4hy
/
1
(10.8)
De verbeteringsformule is (10.7). We vatten alles samen als volgt. We schrijven f
i
= f (x
i
, y
i
) en
f

i
= f (x
i
, y

i
).
y

1
= y
0
+h f
0
116
y
1
= y
0
+
h
2
( f
0
+ f

1
)
y

2
= 5y
0
4y
1
+2h f
0
+4h f
1
= y
0
2h f

1
+4h f
1
y
2
= y
0
+
h
3
( f
0
+4 f
1
+ f

2
) (10.9)
In deze formules worden dikwijls kleine getallen bij grotere opgeteld. Het is numeriek stabieler
om eerst de kleine getallen bij elkaar op te tellen, en daarom herschrijven we ons algoritme als
volgt.
y
2
= y
0
+
1
6
(k
1
+4k
3
+k
4
) (10.10)
met
k
1
= 2hf
0
= 2h f (x
0
, y
0
)
k
3
= 2h f
1
= 2h f (x
0
+h, y
0
+
k
1
4
+
k
2
4
)
k
2
= 2h f

1
= 2h f (x
0
+h, y
0
+
k
1
2
)
k
4
= 2h f

2
= 2h f (x
0
+2h, y
0
k
2
+2k
3
)
Hiermee is tevens het spilpunt x
1
uit ons algoritme verdwenen. We hernummeren daarom de
spilpunten: x
2
wordt vervangen door x
1
, en h door h/2. Het oorspronkelijk interval [x
0
, x
2
] (na
hernummering [x
0
, x
1
]) krijgt dus lengte h. We verkrijgen nu het algoritme Runge-Kutta I.
k
1
= h f (x
0
, y
0
)
k
2
= h f
_
x
0
+
h
2
, y
0
+
k
1
2
_
k
3
= h f
_
x
0
+
h
2
, y
0
+
k
1
4
+
k
2
4
_
k
4
= h f
_
x
0
+h, y
0
k
2
+2k
3
_
y
1
= y
0
+
1
6
(k
1
+4k
3
+k
4
) (10.11)
Een lichte variante van dit algoritme is het algoritme van Runge-Kutta II. Dit is iets eenvoudiger,
en levert in de praktijk even goede resultaten op.
k
1
= h f (x
0
, y
0
)
k
2
= h f
_
x
0
+
h
2
, y
0
+
k
1
2
_
k
3
= h f
_
x
0
+
h
2
, y
0
+
k
2
2
_
k
4
= h f
_
x
0
+h, y
0
+k
3
_
y
1
= y
0
+
1
6
(k
1
+2k
2
+2k
3
+k
4
) (10.12)
117
10.3 De orde van een eenstapsmethode
De methoden uit de vorige twee paragrafen zijn van de vorm
y
1
= y
0
+h(x
0
, y
0
, h) (10.13)
We spreken van een eenstapsmethode. Onderstel nu dat z de exacte oplossing is van de differenti-
aalvergelijking (10.1) met beginvoorwaarde (10.2). Het differentiequoti ent van de exacte oplossing
wordt gegeven door de formule
(x
0
, y
0
, h) =
_
_
_
z(x
0
+h) y
0
h
als h ,= 0
f (x
0
, y
0
) als h = 0
(10.14)
Voor de benaderde oplossing is het differentiequoti ent
y
1
y
0
h
= (x
0
, y
0
, h)
Hoe kleiner het verschil tussen deze twee differentiequoti enten, hoe beter y
1
de werkelijke func-
tiewaarde z(x
1
) benadert. Daarom stellen we
(x
0
, y
0
, h) = (x
0
, y
0
, h) (x
0
, y
0
, h) (10.15)
Voor een redelijk algoritme geldt steeds dat
lim
h0
(x
0
, y
0
, h) = 0
Als we aannemen dat continu is in h = 0 volgt dus:
lim
h0
(x
0
, y
0
, h) = f (x
0
, y
0
)
Als dit het geval is, dan noemen we onze methode consistent. We noemen onze methode van orde
p indien
(x
0
, y
0
, h) = O(h
p
)
Dit betekent dat

(x
0
, y
0
, h)
h
p

M
voor h voldoende klein. Hieraan is voldaan indien de eerste niet triviale term in de Taylor-
ontwikkeling van (x
0
, y
0
, h) als functie van h in h
p
staat.
We ontwikkelen z in Taylor:
z(x
0
+h) = z(x
0
) +hz
/
(x
0
) +
h
2
2
z
//
(x
0
) +
en
(x
0
, y
0
, h) = z
/
(x
0
) +
h
2
z
//
(x
0
) +
118
Nu is
z
/
(x
0
) = f (x
0
, y
0
)
z
/
(t) = f (t, z(t))
z
//
(t) =
f
x
(t, z(t)) +
f
y
(t, z(t))z
/
(t)
z
//
(x
0
) =
f
x
(x
0
, y
0
) +
f
y
(x
0
, y
0
) f (x
0
, y
0
)
zodat
(x
0
, y
0
, h) = f (x
0
, y
0
) +
h
2
_
f
x
(x
0
, y
0
) +
f
y
(x
0
, y
0
) f (x
0
, y
0
)
_
+ (10.16)
Voorbeeld 10.3.1 De methode van Euler
In dit geval is (x
0
, y
0
, h) = f (x
0
, y
0
), en
(x
0
, y
0
, h) =
h
2
_
f
x
(x
0
, y
0
) +
f
y
(x
0
, y
0
) f (x
0
, y
0
)
_
De methode van Euler is dus van orde 1.
Voorbeeld 10.3.2 De methode van Euler-Heun
Nu is
(x
0
, y
0
, h) =
1
2
_
f (x
0
, y
0
) + f
_
x
0
+h, y
0
+h f (x
0
, y
0
)
_
_
= f (x
0
, y
0
) +
h
2
_
f
x
(x
0
, y
0
) +
f
y
(x
0
, y
0
) f (x
0
, y
0
)
_
+
Tot op orde 1 vallen de Taylor ontwikkelingen van en samen. Hieruit volgt dat de methode van
Euler-Heun van orde twee is.
Voorbeeld 10.3.3 De gemodieerde methode van Euler
Hierbij is
(x
0
, y
0
, h) = f
_
x
0
+
h
2
, y
0
+
h
2
f (x
0
, y
0
)
_
(10.17)
en dus
y
1
= y
0
+h f
_
x
0
+
h
2
, y
0
+
h
2
f (x
0
, y
0
)
_
(10.18)
Toon zelf aan dat de gemodieerde methode van Euler van orde 2 is.
Voorbeeld 10.3.4 De methode van Runge-Kutta
Een berekening analoog aan die van hierboven (maar ingewikkelder) toont aan dat de algoritmes
van Runge-Kutta (I en II) van orde 4 zijn.
119
10.4 Meerstapsmethodes
Bij de voorgaande methodes werd enkel y
n
gebruikt omy
n+1
te berekenen. Gebruikt men y
nk
, y
nk+1
, . . . , y
n
,
dan heeft men een meerstapsmethode.
Een probleem is natuurlijk dat men in het begin slechts 1 waarde van y kent, namelijk y
0
. Men
lost dit op door y
1
, . . . , y
k
te berekenen met een eenstapsmethode, bijvoorbeeld een algoritme van
Runge-Kutta.
Men vertrekt van
y
n+1
= y
n
+
Z
x
n+1
x
n
f (x, y)dy
Om de integraal te berekenen vervangt men f (x, y) door een interpolatieveelterm waarbij men
x
nk
, x
nk+1
, . . . , x
n
en eventueel x
n+1
als spilpunten gebruikt.
Als men enkel x
nk
, x
nk+1
, . . . , x
n
gebruikt, dan bekomt men een expliciete formule (de Adams-
Bashfort formule).
Voorbeeld 10.4.1 We interpoleren in de punten x
n1
en x
n
. We schrijven f
n
= f (x
n
, y
n
). De
interpolatieveelterm is
p(x) =
x x
n
x
n1
x
n
f
n1
+
x x
n1
x
n
x
n1
f
n
en we vinden
y
n+1
= y
n

f
n1
h
Z
x
n+1
x
n
(x x
n
)dx +
f
n
h
Z
x
n+1
x
n
(x x
n1
)dx
= y
n
+
h
2
(3 f
n
f
n1
) (10.19)
Op analoge wijze vinden we, gebruik makend van de spilpunten x
n2
, x
n1
en x
n
:
y
n+1
= y
n
+
h
12
(23f
n
16f
n1
+5f
n2
) (10.20)
en, gebruik makend van de spilpunten x
n3
, x
n2
, x
n1
en x
n
:
y
n+1
= y
n
+
h
24
(55f
n
59f
n1
+37f
n2
9f
n3
) (10.21)
Als men naast x
nk
, x
nk+1
, . . . , x
n
ook x
n+1
als spilpunt gebruikt, dan bekomt men een impliciete
formule (de Adams-Moulton formule). Gebruik makend van spilpunten x
n1
, x
n
en x
n+1
vinden we
y
n+1
= y
n
+
h
12
(5 f
n+1
+8 f
n
f
n1
) (10.22)
Met spilpunten x
n2
, x
n1
, x
n
en x
n+1
vinden we
y
n+1
= y
n
+
h
24
(9 f
n+1
+19f
n
5 f
n1
+ f
n2
) (10.23)
120
De impliciete formules kunnen als verbeteringsformules gebruikt worden. Deze moeten dan ge-
combineerd worden met een expliciete formule als voorspellingsformule. Er zijn allerlei combina-
ties mogelijk. Een veelgebruikt algoritmes is het volgende.
1) Bereken y
1
, y
2
, y
3
met Runge-Kutta;
2) gebruik (10.21) als voorspellingsformule;
3) gebruik (10.23) als verbeteringsformule.
10.5 Differentiaalvergelijkingen met randvoorwaarden
We bekijken nu de differentiaalvergelijking
y
//
= f (x, y, y
/
) (10.24)
met randvoorwaarden
y(a) = y
0
en y(b) = y
1
(10.25)
Eerste methode: de shooting method
We trachten het vraagstuk op te lossen door y
/
(a) te raden: we nemen als beginvoorwaarden
y(a) = y
0
en y
/
(a) =
en integreren de vergelijking met een van de methodes uit de vorige paragrafen. De verkregen
oplossing noemen we y

. Meestal is y

(b) ,= y
1
. We krijgen een algebraische vergelijking
.

b
x
a
y
0
y
1
Figuur 10.3: De shooting method
y

= y
1
met als onbekende de parameter . We kunnen deze oplossen met behulp van de methode van de
koorde. Het nadeel is wel dat we bij elke iteratie een numerieke integratie moeten uitvoeren.
Voorbeeld 10.5.1 We bekijken de lineaire differentiaalvergelijkingen
y
//
+ p(x)y
/
+q(x)y = r(x)
121
met randvoorwaarden (10.25). We bepalen eerst de oplossing y
I
(x) die voldoet aan de beginvoor-
waarden
y(a) = y
0
en y
/
(a) = 1
Daarna bepalen we de oplossing y
II
(x) van de homogene vergelijking
y
//
+ p(x)y
/
+q(x)y = 0
met beginvoorwaarden
y(a) = 0 en y
/
(a) = 1
De functie y(x) = y
I
(x) +y
II
(x) is dan een oplossing van de volledige vergelijking die voldoet
aan de eerste randvoorwaarde y(a) = y
0
. Het volstaat nu om zodanig te kiezen dat
y(b) = y
1
(b) +y
2
(b) = y
1
Discretisatie
Men stelt h = (b a)/n en x
k
= a +kh. Het interval [a, b] wordt dus in n gelijke delen verdeeld.
De bedoeling is om de oplossing y(x) in de spilpunten te berekenen.
In de differentiaalvergelijking (10.24) vervangt men de afgeleiden door een formule voor nume-
rieke aeiding: y
(k)
wordt vervangen door een uitdrukking van de vorm
n

i=0

i
y
i
Dit levert in elk spilpunt een (lineaire) vergelijking met y
0
, y
1
, . . . , y
n
als onbekenden.
Voorbeeld 10.5.2 We bekijken het Sturm-Liouville probleem
y
//
+y = 0
met randvoorwaarden
y(0) = y() = 0
De eigenwaarden van het Sturm-Liouville probleem zijn die waarden van waarvoor er van nul
verschillende oplossingen zijn (zie Volume 4 van de cursus Analyse). In dit geval zijn de eigen-
waarden = m
2
, met m = 1, 2, 3, . . .. De bijhorende eigenfuncties zijn
y
m
= sinmx
We proberen deze eigenfuncties numeriek terug te vinden. We delen het interval (0, ) op in n
gelijke delen: x
k
= kh, met h = /n.
We hebben een numerieke formule voor de tweede afgeleide nodig. Uit de formule van Taylor
volgt
y
k+1
= y
k
+hy
/
k
+
h
2
2
y
//
k
+
h
3
6
y
///
k
+
h
4
24
y
(4)
(
1
)
y
k1
= y
k
hy
/
k
+
h
2
2
y
//
k

h
3
6
y
///
k
+
h
4
24
y
(4)
(
2
)
122
Optelling geeft
y
//
(x
k
) =
y
k+1
2y
k
+y
k1
h
2
+O(h
2
)
We verkrijgen het lineair stelsel
_
_
_
y
0
= 0
y
k1
+(h
2
2)y
k
+y
k1
= 0 k = 1, 2. . . , n1
y
n
= 0
Dit is een lineair homogeen stelsel. Om niet-triviale oplossingen te hebben moet de determinant
nul zijn. Dit levert een vergelijking in , waaruit een benadering van de eigenwaarde kan gevonden
worden. Met die waarden van kunnen we dan het lineaire stelsel oplossen, waaruit de eigenfunc-
ties volgen.
Voor n = 2 wordt het stelsel
_
_
_
y
0
= 0
y
0
+(h
2
2)y
1
+y
2
= 0
y
2
= 0
Er is een niet-triviale oplossing als
=
2
h
2
=
8

2
0.81
We vinden dus in benadering de eerste eigenwaarde = 1 terug.
Voor n = 3 wordt het stelsel, na vereenvoudiging
_
(h
2
2)y
1
+y
2
= 0
y
1
+(h
2
2)y
2
= 0
Als we de determinant van het stelsel gelijk aan nul stellen vinden we
(h
2
2)
2
= 1
Een van de wortels is

1
=
9

2
0.91
De andere wortel is

2
=
27

2
2.73
Collocatiemethodes
We bekijken de lineaire differentiaalvergelijking
y
//
+a(x)y
/
+b(x)y = f (x) (10.26)
met randvoorwaarden
y(x
0
) = y
0
en y(x
1
) = y
1
(10.27)
123
Het basisidee bestaat erin om een stel functies
0
(x), . . . ,
n
(x) te kiezen zodat

0
(x
0
) = y
0
en
0
(x
1
) = y
1
en

i
(x
0
) =
i
(x
1
) = 0
Een lineaire combinatie van de vorm
(x) =
0
(x) +
n

k=1

k
(x)
voldoet dan steeds aan de randvoorwaarden (10.25). Men tracht dan
1
, . . . ,
n
zo te bepalen dat
(x) zo goed mogelijk voldoet aan de differentiaalvergelijking:
//
+a(x)
/
+b(x) moet zo dicht
mogelijk bij f liggen. Dit kan op verschillende manieren gebeuren.
Methode der spilpunten
Men kiest n spilpunten
1
,
2
, . . . ,
n
, en men bepaalt de
i
zodanig dat

//
(
k
) +a(
k
)
/
(
k
) +b(
k
)(
k
) = f (
k
)
in elk van de spilpunten. Dit geeft een lineair stelsel van n vergelijkingen met n onbekenden

1
, . . . ,
n
.
Methode van de functieruimte
Men bepaalt de co efci enten
1
, . . . ,
n
zodanig dat de afstand tussen de functies f en
//
+
a(x)
/
+b(x) minimaal is. Hierbij heeft men verschillende mogelijke keuzes voor de afstand
tussen twee functies, bijvoorbeeld
d( f , g) =
_
Z
x
1
x
0
( f (x) g(x))
2
dx
10.6 Parti ele differentiaalvergelijkingen
Numeriek integreren van parti ele differentiaalvergelijkingen is een vak op zichzelf! We beperken
ons hier tot een enkel eenvoudig voorbeeld.
Gegeven is een rechthoek ABCD waarvan de zijden evenwijdig zijn met de co ordinaatassen, en
een functie f (x, y) gedenieerd op deze rechthoek.
Gevraagd wordt om een functie z(x, y) te bepalen zodat

2
z
x
2
+

2
z
y
2
= f (x, y)
binnen de rechthoek, met randvoorwaarden
z = 0 op de intervallen [A, B] en [C, D]
z
x
= 0 op de intervallen [A, D] en [C, B]
124
D C
A B
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
h
k
Figuur 10.4: Parti ele differentiaalvergelijkingen
We discretiseren onze rechthoek: we leggen een rooster over de beschouwde rechthoek, en zoeken
z in de roosterpunten. Als we dit doen zoals op de tekening, dan vinden we 21 roosterpunten
P
1
, P
2
, . . . , P
21
waarin we de functiewaarden z
1
, z
2
, . . . , z
21
trachten te benaderen. De roosterpunten
op de intervallen [A, B] en [C, D] geven we geen nummer, want de functiewaarde is er toch nul.
We vervangen de parti ele afgeleiden door een benaderende formule. In P
10
hebben we bijvoorbeeld

2
z
x
2

z
9
2z
10
+z
11
h
2

2
z
y
2

z
3
2z
10
+z
17
k
2
en de differentiaalvergelijking geeft ons in dit punt
z
9
2z
10
+z
11
h
2
+
z
3
2z
10
+z
17
k
2
= f
10
We vinden een dergelijke vergelijking in elk punt. Dit geeft een lineair stelsel van 21 vergelijkin-
gen met 21 onbekenden. Oplossen geeft een benadering in elk van de roosterpunten.
Merk op dat de matrix van het lineair stelsel ijl is: in elk van de vergelijkingen treden slechts 5
co efci enten op die van nul verschillen.
Merk ook op dat we in een punt op de rand moeten rekening houden met de randvoorwaarden. In
P
1
bijvoorbeeld, wordt de vergelijking
z
x
= 0
3z
1
+4z
2
z
3
2h
of
3z
1
+4z
2
z
3
= 0
Als het gebied waarover we werken een willekeurige vorm heeft, dan is het uiteraard minder een-
voudig om met de randvoorwaarden rekening te houden.
125
Index
Adams-Bashfort formule 120
Adams-Moulton formule 120
afrondingsfout 7
algoritme van Neville 76
Cauchy rij 20
conditiegetal 11
contractie 20
contractiestelling 20
dekpuntstelling 14
dekpuntstelling 20
discretisatie 114
drijvende komma representatie 8
eenstapsmethode 118
eigenvector 62
eigenwaarde 62
exponent 8
formule van Milne 101
formule van Newton 14
formule van Simpson 100
Forsythe veeltermen 89
gesloten Newton-Cotes formule 99
interpolatieveelterm van Hermite 108
interpolatieveelterm van Newton 80
kolomcriterium 34
machinegetallen 7
machinenauwkeurigheid 9
mantisse 8
methode van Aitken 27
methode van de vaste richting 15
methode van Euler 115
methode van Gauss-Seidel 45
methode van Heun 115
methode van Runge-Kutta 115
metrische ruimte 20
metrische ruimte 31
modelfouten 7
Moore-Penrose inversematrix 58
Morrey 30
Newton-Raphson 30
normaalvergelijkingen 88
numeriek stabiel algoritme 10
open Newton-Cotes formule 99
overow 8
permutatiematrix 46
regula falsi 16
rijcriterium 34
Runge-Kutta I 117
Runge-Kutta II 117
samentrekking 20
simplexformule 103
singuliere waarden 56
totale rekenfout 7
trapeziumregel 99
tridiagonale matrix 53
underow 8
veeltermen van Chebyshev 83
veeltermen van Hermite 112
veeltermen van Laguerre 111
veralgemeende inverse matrix 58
verbeteringsformule 115
voorspellingsformule 115
voorwaarde (V) 34
126
Bibliograe
[1] G.H. Golub, C.F. Van Loan, Matrix Computations, The John Hopkins Universtity Press, Bal-
timore, 1988.
[2] I. Jacques, C. Judd, Numerical Analysis, Chapman and Hill, London 1987.
[3] A. Ralston, A rst course in Numerical Analysis, Mc Graw-Hill, New York, 1965.
[4] J. Stoer, R. Bulirsch, Introduction to Numerical Analysis, Springer Verlag, Berlin, 1980.
127

You might also like