• No results found

X Het geheel

N/A
N/A
Protected

Academic year: 2021

Share "X Het geheel"

Copied!
113
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

P. de Groen

Abstract

Deze syllabus omvat hoofdstukken over een aantal onderwerpen die in de cursus behandeld wor- den: Afrondfouten, “Fast Fourier Transformatie”, interpolatie, approximatie door polynomen, spline-approximatie en numerieke integratie, Totale Kleinste Kwadraten, Geconjungeerde gradi- enten en Newton-methoden. Voor het hoofdstuk “Numerieke Lineaire Algebra” wordt verwezen naar de cursus van het tweede jaar Bachelor en het standaardwerk:

G.H. Golub & C.F. Van Loan, Matrix Computations, The Johns Hopkins University Press, Baltimore, Maryland, USA, 2de druk, 1988.

Andere goede referentiewerken voor Numerieke Analyse zijn:

R. Bulirsch & J. Stoer, Introduction to Numerical Analysis, Springer Verlag, Berlin, 1977. (Ook verkrijgbaar in een goedkope duitstalige pocketeditie).

D. Kincaid & W. Cheney, Numerical Analysis, Brooks & Cole Publishing Company, Pacific Grove, California, USA, 1991; 2de druk, 1996.

0

(2)

Contents

0 Foutenanalyse 3

0.a Elementaire definities . . . . 3

0.b Voorstelling van re¨ele getallen en “floating-point” aritmetiek . . . . 3

0.c Voorbeelden van een afrondfoutenanalyse . . . . 5

1 Interpolatie en Approximatie 8 1.a Lagrange interpolatie . . . . 8

1.b Alternatieven voor het representeren en uitrekenen van een interpolatiepolynoom . . . . 11

1.c Polynoomapproximatie . . . . 14

1.d Approximaties op deelintervallen . . . . 15

1.e Kubische Splines . . . . 16

1.f Praktisch rekenen met kubische splines . . . . 17

2 Fourier analyse en de “Fast Fourier Transform” 21 3 Numerieke Integratie 25 3.a Probleemstelling . . . . 25

3.b Gauss-integratie . . . . 27

3.c Samengestelde integratieformules . . . . 29

3.d Romberg integratie . . . . 32

3.e Voorbeeld van het Rombergschema . . . . 33

3.f Integratie met veranderlijke stapgrootte . . . . 35

3.g Numerieke stabiliteit . . . . 36

3.h De sommatieformule van Euler-McLaurin en de trapeziumregel . . . . 37

4 B-splines 40 4.a Definities en elementaire eigenschappen . . . . 40

4.b Het rekenen met B-splines . . . . 43

4.c B´ezier-polynomen en controlepunten . . . . 45

4.d B-spline-krommen en controlepunten . . . . 47

5 Totale kleinste kwadraten 49 5.a Beste benadering in IR . . . . 49

5.b Lineaire regressie in IR2 . . . . 49

5.c Lineaire regressie van x op y . . . . 51

5.d De totale kleinste-kwadratenbenadering . . . . 52

5.e Regressie in meer dan twee dimensies . . . . 53

5.f De normaalvergelijkingen in IRm . . . . 54

5.g Oplossing via de singuliere-waardenontbinding . . . . 55

5.h Totale kleinste kwadraten in IRn . . . . 56

5.i Een alternatieve benadering voor totale kleinste kwadraten in IRn . . . . 58

6 Geconjungeerde gradienten 59 7 Stelsels niet-lineaire vergelijkingen en minimalisatieproblemen 72 7.a Probleemstelling in ´e´en dimensie . . . . 72

7.b Intervalhalvering of binaire search . . . . 72

7.c Successieve substitutie . . . . 72

7.d Newton-Raphson . . . . 73

7.e Problemen in verscheidene dimensies . . . . 75

7.f Een aangepaste (gedempte) Newtonmethode . . . . 76

7.g De methode van de steilste helling (steepest descent) . . . . 79

8 Oefeningen Numerieke Analyse 82 8.a Fouriertransformatie . . . . 82

8.b Approximatie . . . . 84

8.c Orthogonale polynomen . . . . 85

8.d Een spline-benadering . . . . 88

8.e Numerieke integratie . . . . 90

8.f Lineaire Algebra . . . . 95

(3)

8.g Matrixalgoritmen . . . . 97

8.h De Cholesky-ontbinding . . . 100

8.i Givensrotaties etc . . . 102

8.j Niet-lineaire problemen . . . 105

9 Enige recente schriftelijke examens voor Numerieke Analyse I 106 9.a Examen Numerieke Analyse, juni 2001 . . . 106

9.b Examen Numerieke Analyse, april 2000 . . . 108

9.c Examen Numerieke Analyse, september 1999 . . . 110

(4)

0 Foutenanalyse

0.a Elementaire definities

Gegeven is een grootheid X en haar benaderingX. De absolute en relatieve fouten in de benaderinge X worden gegeven door:e

absolute fout in X : Fe X := X − Xe zodat X = X + Fe X, relatieve fout in X : fe X := X − Xe

X zodat X = X(1 + fe X) (mits X 6= 0).

(0.1)

Het begrip “absolute fout” heeft in principe niets te maken met absolute waarden; absoluut staat slechts in tegenstelling tot relatief. De absolute fout heeft dezelfde dimensies (bv. lengte, gewicht, tijd) als de grootheid zelf, terwijl de relatieve fout dimensieloos is.

Opgave 1: laat zien, dat voor de absolute en relatieve fouten in de twee groothedenX ene Y geldt:e FX+Y = FX + FY en fX∗Y = fX + fY + fXfY .

Als we de (absolute of relatieve) fout in een (gemeten of berekende) grootheid X kennen, dane kennen we ook de grootheid zelf! Helaas zijn we bijna nooit in deze situatie en kennen we alleen een bovengrens voor de absolute waarde van de fout. In het gangbare spraakgebruik spreken we gewoonlijk over de “fout” in een grootheid terwijl we zo’n bovengrens bedoelen (of nog erger, terwijl we de spreiding in de stochastische fluctuaties rond de exacte waarde bedoelen). Dus, bij een gegeven benaderingX van een grootheid X defini¨eren we:e

X is (een bovengrens voor) de absolute fout in Xe als |X − X | ≤ ∆e X, δX is (een bovengrens voor) de relatieve fout inXe als

¯¯

¯¯

¯

X − Xe X

¯¯

¯¯

¯ ≤ δX. (0.2) Opgave 2: Bewijs de volgende rekenregels voor “de fouten” in de groothedenX ene Y :e

X±Y ≤ ∆X+ ∆YXY ≤ |Y |∆X+ |X|∆Y + ∆XY , δX±Y ≤ |X|δX+ |Y |δY

|X ± Y | δXY ≤ δX+ δY + δXδY . (0.3) N.B. Lees deze regels alsvolgt: Als ∆X en ∆Y bovengrenzen zijn voor de fouten in X resp. Y , dan is er een bovengrens ∆X±Y voor de fout in X ± Y waarvoor geldt ∆X±Y ≤ ∆X + ∆Y . Hieruit volgt dus dat ∆X + ∆Y een bovengrens voor de fout in X ± Y is, etc.

Wat zijn de overeenkomstige rekenregels voor de absolute en relatieve fouten (bovengrenzen) in het quoti¨ent X/Y ?

0.b Voorstelling van re¨ele getallen en “floating-point” aritmetiek

Om een groot dynamisch bereik mogelijk te maken voor re¨ele getallen worden deze in een computer opgeslagen in de vorm mantisse maal exponent. Hiertoe wordt een grondtal β (meestal 2, soms 8 (vroeger op CDC) of 16 (IBM)) gekozen. Een x ∈ IR kan dan worden voorgesteld door een paar (m, e) met

x = m · βe, (0.4)

waarin m de mantisse is en e de exponent. Omdat het paar (m · β , e − 1 ) hetzelfde getal voorstel kunnen we de mantisse normaliseren, b.v. door 1/β ≤ | m | < 1. Het spreekt vanzelf dat we in de

(5)

praktijk een eindige representatie willen hebben en dus het aantal β-tallige cijfers in mantisse en exponent zullen beperken. De IEEE-standaard voor 64-bits REALs is een tweetallige representatie (β = 2) met 53 resp. 10 bits voor de absolute waarden van mantisse en exponent en twee tekenbits.

Omdat een genormaliseerde binaire mantisse altijd begint met een 1 (ga na!), hoeft dit eerste bit niet opgeslagen te worden. Met 10 bits is ook de grootte van de exponent aan een maximum gebonden.

Getallen die een exponent groter dan 210 of kleiner dan 2−10 vragen (waarvan de absolute waarde dus kleiner dan (ongeveer) 10−300of groter dan 10300 is), kunnen dus niet gerepresenteerd worden;

we spreken dan van over- of underflow. De IEEE-standaard geeft de mogelijkheid om by underflow een getal op nul te zetten, en bij overflow een N aN (Not a Number) te genereren zodat er een soepele foutenopvang mogelijk is. Een re¨eel getal binnen het bereik zal in het algemeen niet exakt gerepresenteerd kunnen worden. Voor een gegeven x ∈ IR (binnen het bereik) noteren we met fl(x) het meest naburige wel repesenteerbare getal (machinegetal). Het verschil x − fl(x) is dan de afrondfout.

Stelling. Als voor een machinegetal een β-tallige representatie wordt gekozen met t bits in de mantisse, dan geldt voor de relatieve afrondfout bij afronding naar het dichtstbijzijnde machinegetal (behoudens over- en underflow):

¯¯

¯¯x − fl(x) x

¯¯

¯¯≤ η maar ook

¯¯

¯¯x − fl(x) fl(x)

¯¯

¯¯≤ η met η := 12β1−t. (0.5) De grootheid η heet de machineprecisie.

Opgave 3: Bewijs deze stelling.

Ga ook na, dat er (behoudens over- en underflow) getallen ε1 en ε2 zijn bij iedere aritmetische operatie ⊙ ∈ {+, −, ∗, /} tussen twee machinegetallen x en y, zodat

fl(x ⊙ y) = (x ⊙ y)(1 + ε1) = x ⊙ y 1 + ε2

met |ε1| ≤ η en ε2| ≤ η . (0.6)

Opmerking. We kunnen η ook defini¨eren als het grootste re¨ele getal, zodat fl(1 + η) = 1, ga na!

Opgave 4: De reeksontwikkeling van de exponentiaal is: ex = X k=0

xk k!

Hoeveel termen heb je nodig om e−5 te berekenen met een relatieve fout kleiner dan 10−3?

Kun je dit doen met een computer, waarin de variabelen van het type IR een mantisse van 4 decimalen hebben ?

Is er een betere manier om e−5 te berekenen met zo’n computer ?

Opgave 5: Laat f een voldoend gladde re¨ele funktie (b.v. f (x) = sin(x)) zijn met maxx |f′′′(x)| ≤ M .

De afgeleide van f in x kunnen we dan benaderen met de centrale differentie Dhf (x) := f (x + h) − f(x − h))

2h .

Laat zien, dat voor de afbreekfout in Dhf geldt:

f (x + h) − f(x − h)

2h = f(x) + h2

6 f′′′(x + ϑh) met |ϑ| ≤ 1 . (0.7) Veronderstel, dat er voor de berekening van f een procedure beschikbaar is, die bij iedere waarde van x een resultaat aflevert met een relatieve fout kleiner dan of gelijk aan 2η . Geef dan een (goede) bovengrens voor de relatieve fout in de berekende waarde van Dhf als funktie van h en schets een grafiek van (een bovengrens voor) de totale fout (afbreek- plus afrondfout) in deze berekende waarde.

(6)

0.c Voorbeelden van een afrondfoutenanalyse Gevraagd te berekenen x = ϕ(a).

Met een algoritme voor het berekenen van ϕ(a) vinden we ten gevolge van afrondfouten de berekende waarde: fl(x).

In een foutenanalyse proberen we fouten δx, δa of εa en εx te vinden, zodat fl(x) = x + δx voorwaartse foutenanalyse

= ϕ(a + δa) achterwaartse foutenanalyse

= ϕ(a + εa) + εx gemengde foutenanalyse

Definitie: We noemen de algoritme numeriek stabiel als we kunnen bewijzen:

δx of εx van de grootteorde van de onvermijdelijke fout, δa of εa van de grootteorde van de machineprecisie.

Voorbeeld 1: Er is een ε met | ε | ≤ η ( = machineprecisie ) zodat

fl(a + b) =

a + b + ε (a + b) voorwaarts

ea + eb met a := a(1 + ε)e en eb := a(1 + ε) achterwaarts Voorbeeld 2: Er zijn ε1 en ε2 ( met | εi| ≤ η ) zodat

fl(1 − x2) = (1 − x ∗ x ∗ (1 + ε1)) ∗ (1 + ε2)

= (1 − xe2) (1 + ε2) met x := xe

1 + ε1 gemengd.

Voorbeeld 3: Geef een schatting van de afrondfout in de berekende waarde van de positieve wortel van de vierkantsvergelijking

a − 2x − c x2 met a ≥ 0 en c ≥ 0 bij gebruik van de formule

x := −1 + √

1 + a c c

onder de aanname betreffende de afrondfout in de berekende waarde van de vierkantswortel fl(√

x) = √

x (1 + εx) met | εx| ≤ η voor iedere x . Antwoord: Er bestaan ε1, ε2 en ε3 met | εi| ≤ η , zodat

fl(√

1 + a c) = p(1 + a c (1 + ε1)) (1 + ε2) (1 + ε3)

= √

1 + eac (1 + ξ1) met ξ1 := √

1 + ε2(1 + ε3) − 1 en ea := a (1 + ε1) Bijgevolg zijn er ξ2 en ξ3, ( | ξi| ≤ η ) zodat:

fl(x) = −1 + √

1 + ea c (1 + ξ1)

c (1 + ξ2) (1 + ξ3)

= −1 + √

1 + ea c

c (1 + ξ2) (1 + ξ3) + ξ1

√1 + ea c c De tweede term is groot t.o.v. x als | ac | ≪ 1.

Alternatieve (numeriek stabiele) rekenwijze voor deze wortel:

x := a

1 + √

1 + a c.

(7)

Voorbeeld 4: Afrondfout in de berekende waarde van het inprodukt S :=

Xn i=1

xiyi berekend met algoritme: S := 0;

for i := 1 to n do S := S + xi ∗ yi

Voor de berekende waarde van S vinden we getallen ξi en ηi met | ξi|, | εi| ≤ η, i = 1 · · · n : fl(S) = x1y1(1 + ξ1) (1 + ε2) · · · (1 + εn)

+ x2y2(1 + ξ2) (1 + ε2) · · · (1 + εn) + · · ·

+ xn−2yn−2(1 + ξn−2) (1 + εn−2) · · · (1 + εn) + xn−1yn−1(1 + ξn−1) (1 + εn−1) (1 + εn) + xnyn(1 + ξn) (1 + εn)

zodat

S − fl(S) = Xn i=1

xiyiζi met

ζi := 1 − (1 + ξi) (1 + εi) · · · (1 + εn) en | ζi| ≤ (n − i + 2) η als nη ≤ 0.1 . Bijgevolg geldt voor de voorwaartse fout:

|S − fl(S)

S | ≤ (n + 1) η

| S | Xn i=1

| xiyi| ≤ (n + 1) ηk x k2k y k2

| xTy| Voorbeeld 5: Bereken xn uit de vergelijking

a = Xn i=1

xiyi, a, x1 · · · xn−1, y1 · · · yn gegeven, en bepaal de afrondfout in de berekende waarde van xn.

Algoritme:

S := a;

for i := 1 to n − 1 DO S := S − xi ∗ yi; xn := S / yn

Voor de berekende waarden van S en xn vinden we voor zekere ξi en ηi met | ξi|, | εi| ≤ η : fl(S) = a (1 + ε1) · · · (1 + εn−1)

− x1y1(1 + ξ1) (1 + ε1) · · · (1 + εn−1)

− x2y2(1 + ξ2) (1 + ε2) · · · (1 + εn−1)

− · · ·

− xn−2yn−2(1 + ξn−2) (1 + εn−2) (1 + εn−1)

− xn−1yn−1(1 + ξn−1) (1 + εn−1) en

xen := fl(xn) = fl(S) / ( yn(1 + ξn) )

(8)

Deling door (1 + ε1) · · · (1 + εn−1) geeft de achterwaartse foutschatting:

a = x1y1(1 + ξ1) + x2y2 1 + ξ2

1 + ε1 + · · · + xn−1yn−1 1 + ξn−1

(1 + ε1) · · · (1 + εn−2) + xenyn 1 + ξn

(1 + ε1) · · · (1 + εn−1)

=

n−1X

i=1

xiyi(1 + δi)xenyn(1 + δn)

met

δi := 1 + ξi

(1 + ε1) · · · (1 + εi−1) − 1 , zodat | δi| ≤ (i + 1) η als n η < 0.1 . Conclusie: De berekende waardexen is de oplossing van een naburige vergelijking

a = Xn j=1

xjyej, yej := yj(1 + δj) .

Opgave 6: Voor de standaardafwijking S bestaan in de statistiek twee formules die wiskundig (in exacte re¨ele arithmetiek) gelijkwaardig zijn :

S2 = 1 n − 1 (

Xn i=1

x2i − n g2 ) en S2 = 1 n − 1

Xn i=1

(xi− g)2 met g het gemiddelde:

g := 1 n

Xn i=1

xi .

Welke van de twee zou je gebruiken in een numeriek programma en waarom?

(9)

1 Interpolatie en Approximatie

In dit hoofdstuk bespreken we methoden om een gegeven functie van een veranderlijke te be- naderen met een (gemakkelijk berekenbare) functie uit een voorgeschreven klasse, zoals polynomen (veeltermen) of trigonometrische polynomen (sommen van machten van sinus en cosinus). Bij ap- proximatie (benadering) wordt alleen de eis gesteld, dat het verschil met de gegeven functie klein is in een of andere zin. Bij interpolatie moet de benaderende functie gelijk zijn aan de gegeven functie in een zeker aantal (vooraf voorgeschreven) punten.

1.a Lagrange interpolatie

Het Lagrange-interpolatiepolynoom πf van een continue functie f op n steunpunten { x1, · · · , xn} is het polynoom van graad n − 1, dat gelijk is aan f in deze punten:

πf(xi) = f (xi) , i = 1 · · · n. (1.1) Onder de aanname xi 6= xj als i 6= j is πf uniek en er geldt:

πf(x) = Xn i=1

f (xi) L(n)i (x), L(n)i (x) :=

Yn j=1, j6=i

x − xj

xi − xj . (1.2)

Opgave 1.1: Bewijs dit.

Voor het Lagrange-interpolatiepolynoom geldt de volgende foutschatting:

Stelling. Zij I ∈ IR een interval dat de steunpunten x1, · · · , xn bevat en zij f ∈ Cn(I) (f is n keer continu differentieerbaar), dan geldt:

f (x) = πf(x) + Yn i=1

(x − xi) f(n)x)

n! , (1.3)

waar ξx ∈ int(x, x1, · · · , xn) , het interval opgespannen door de punten x , x1, · · · , xn. Bewijs. Definieer de functie g door de vergelijking

f (x) = πf(x) + g(x) Yn i=1

(x − xi)

en beschouw de functie

ϕt(x) := f (x) − πf(x) − g(t) Yn i=1

(x − xi) .

Deze heeft (minstens) n+1 onderling verschillende nulpunten binnen het interval int(x, x1, · · · , xn), als t 6= xi, ∀ i. Volgens de stelling van Rolle heeft de afgeleide dus nog minstens n verschillende nulpunten. Als we doorgaan met differenti¨eren en de stelling van Rolle toepassen, vinden we dat de n-de afgeleide nog minstens een nulpunt ξt binnen int(x, x1, · · · , xn) heeft. Zo vinden we

0 = dn

dxn ϕt |x = ξt = f(n)t) − n! g(t) , waaruit (1.3) volgt.

N.B. De rest in (1.3) heet de restterm van Lagrange. In deze restterm worden geen eisen gesteld aan de positie van het punt x t.o.v. de steunpunten. Als x tussen de steunpunten ligt, hebben we interpolatie in de eigenlijke betekenis van het woord, en we spreken van extrapolatie als x buiten

(10)

dit interval ligt. Aan het functie-onafhankelijke deel van de restterm, Πni=1 (x − xi), kunnen we zien dat voor extrapolatie een veel grotere afbreekfout kunnen verwachten dan voor interpolatie.

Opgave 1.2: Een algemenere vorm van interpolatie is die, waarbij in de steunpunt xi niet alleen gelijkheid van de functiewaarde wordt ge¨eist, maar ook gelijkheid van eerste ni−1 afgeleiden, d.w.z.

π(j)f (xi) = f(j)(xi) , voor j = 0 , · · · , ni− 1 , en i = 1 , · · · , n . (1.4) De graad van het interpolatiepolynoom is dan N − 1 met N := Σni=1 ni . Laat zien, dat analoog aan (1.3) geldt:

f (x) = πf(x) + f(N )x) N !

Yn i=1

(x − xi)ni (1.5)

voor zekere ξx ∈ int(x, x1, · · · , xn) .

N.B. Als ni = 2 ∀ i (in alle steunpunten stemmen dus de waarde van het interpolatiepolynoom en van zijn afgeleide overeen met die van de gegeven functie), dan spreken we van Hermite − interpolatie.

Formule (1.2) is niet erg geschikt om de waarde van het interpolatiepolynoom in een punt te berekenen, niet alleen vanwege de hoeveelheid rekenwerk, maar ook vanwege een mogelijke accumulatie van afrondfouten bij het optellen van de bijdragen van de verschillende steunpunten.

Een betere manier is de Newtonse algoritme met “gedeelde differenties”. We defini¨eren recursief de m-de gedeelde differentie van f op de m + 1 punten {xi, xi+1, · · · , xi+m} door

f (xi, xi+1, · · · , xi+m) := f (xi, xi+1, · · · , xi+m−1) − f(xi+1, xi+2, · · · , xi+m)

xi − xi+m , (1.6)

voor m = 1, 2, · · · .

Opgave 1.3: Bewijs met volledige inductie f (xi, xi+1, · · · , xi+m) =

m+iX

j=i

f (xj) Qm+i

l=i, l6=j (xj − xl) (1.7)

en dat hieruit volgt, dat f (xi, xi+1, · · · , xi+m) een symmetrische functie is van haar argumenten, d.w.z. dat de functiewaarde invariant is onder verwisseling van argumenten.

Met behulp van deze gedeelde differenties kunnen we het Lagrange-interpolatiepolynoom op de punten {x1, · · · , xn} schrijven als

πf(x) = f (x1) + (x − x1)f (x1, x2) + (x − x1)(x − x2)f (x1, x2, x3)+

+ · · · + (x − x1)(x − x2) · · · (x − xn−1)f (x1, x2, · · · , xn) (1.8) en voor de restterm geldt dan

f (x) − πf(x) = f (x1, · · · , xn, x) Yn j=1

(x − xj) . (1.9)

Opgave 1.4: Bewijs de formules (1.8) en (1.9) met volledige inductie. Laat ook zien, dat de k-de gedeelde differentie evenredig is met de k-de afgeleide:

f (x0, · · · , xk) = fk(ξ)

k! , ξ ∈ int(x0, · · · , xk). (1.10)

(11)

Uit formule (1.6) zien we dat de gedeelde differenties bij een gegeven verzameling steunpunten {x1, x2, · · ·} een driehoekig tableau vormen, waarvan we de elementen alsvolgt kunnen berekenen:

fori := 1 to n do fi(0) := f (xi) ; forj := 1 to n − 1 do

fori := n downto j + 1 do fi(j) := fi(j−1) − fi−1(j−1) xi− xi−j

;

(1.11)

Het tableau heeft dan de volgende vorm:

x 0 1 2 3 4 5

x1 f1(0) f2(1) x2 f2(0) f3(2)

f3(1) f4(3) x3 f3(0) f4(2) f5(4)

f4(1) f5(3) · · · x4 f4(0) f5(2) f6(4)

f5(1) f6(3) · · · x5 f5(0) · · · ·

· · · ·

· · · ·

Vervolgens kunnen we de waarde van πf in het gewenste punt x evalueren met een Horner-achtig schema:

πf(x) := (· · · ( (x − xn−1) fn(n−1) + fn−1(n−2)) (x − xn−2) + · · ·) (x − x1) + f1(0) (1.12a) of in pseudoPASCAL:

som := fn(n−1) ;

forj := n − 1 downto 1 do som := som ∗ (x − xj) + fj(j−1) ; (1.12b) Op deze manier behoeven we de gedeelde differenties voor de benadering maar een keer te berekenen en hebben we vervolgens voor iedere evaluatie van πf slechts n flops nodig.

Opgave1.5: Ga na, dat we bij de berekening van het differentietableau in de j-de slag fi(j)kunnen opbergen op dezelfde geheugenplaats als fi(j−1), zonder daarmee waarden te verliezen, die we later (bij de evaluatie van πf) nog nodig hebben.

Bij exakt rekenen is de waarde van πf(x) onafhankelijk van de volgorde, waarin we de steunpun- ten {xi} ordenen, maar bij rekenen op een rekenmachine (met afrondende floating point operaties) is dit wel het geval. De totale afrondfout in het berekende resultaat van de som (1.8) zal i.h.a.

kleiner zijn, naarmate de termen van de reeks sneller dalen (mits we ze van klein naar groot som- meren, zoals in algoritme (1.12b). Aan de posities van de steunpunten en aan de co¨effici¨enten, de gedeelde differenties, kunnen we natuurlijk niets veranderen, maar we kunnen wel de volgorde van de steunpunten zo kiezen, dat x1 het dichtst bij x ligt, en meer algemeen, dat geldt

| x − x1| ≤ | x − x2| ≤ | x − x3| ≤ · · ·

(12)

1.b Alternatieven voor het representeren en uitrekenen van een interpolatie- polynoom

Stel dat we een functie f interpoleren op de equidistante punten 0, ±1, ±2, · · ·, en dat we de waarde van die functie exact kennen in alle punten, behalve in 0, waar we een fout van ´e´en eenheid hebben, dan kunnen we de doorwerking van deze fout zien in de volgende differentietabel:

x f out 1stedif 2dedif 3dedif 4dedif 5dedif 6dedif 7dedif 8stedif

−4 1

1

−3 1 − 8

1 − 7

−2 1 − 6 28

1 − 5 21

−1 1 −4 15 −56

1 −3 10 −35

0 1 −2 6 −20 70

−1 3 −10 35

1 1 −4 15 −56

−1 5 −21

2 1 − 6 28

− 1 7

3 1 − 8

− 1

4 1

Om de gedeelde differenties te verkrijgen, moeten we de k-de differenties nog delen door k!. We zien in deze tabel, dat de fouten in de hogere differenties ten gevolge van deze ene fout in f (0) snel aangroeien. Om de resulterende fout te vinden in de k-de term van formule (1.8), moeten we de fout in de k-de differentie delen door k! en vermenigvuldigen met (x − x1) (x − x2) · · · (x − xk−1).

Als x1 < x < x2 < · · · < xn, dan zijn beide factoren ongeveer gelijk en geeft de k-de kolom de werkelijke fout in de k-de term weer; als · · · x4 < x2 < x < x1< x3· · · (interpolatie in het midden), dan is de werkelijke fout ongeveer 2−k kleiner. Maar ook dan blijft deze van orde 1 en kan de totale fout in πf toenemen met de orde van de interpolatie. Het heeft dan ook weinig zin om via deze methode een interpolatiepolynoom te bepalen van een orde hoger dan ongeveer 10 bij de gebruikelijke machineprecisie van 10−15(reals van 64 bit met een mantisselengte van 53 bits).

Een alternatieve methode voor het bepalen van het interpolatiepolynoom zou het volgende kunnen zijn. We zoeken de co¨effici¨enten van πf(x) = Σn−1j=0 ajxjbij gegeven functiewaarden πf(xi) = f (xi), i = 1, · · · , n. De co¨effici¨enten {aj | j = 0, · · · , n − 1} kunnen we dus eenvoudig bepalen door het oplossen van n lineaire vergelijkingen

n−1X

j=0

aj xji = f (xi) , i = 1, · · · , n , (1.13a)

oftewel

A

a0 a1

..

..

an−1

:=

1 x1 · · · xn−11

1 x2 · · · xn−12

... ... · · · ... ... ... · · · ... 1 xn · · · xn−1n

a0 a1

..

..

an−1

=

f (x1) f (x2)

..

..

f (xn)

. (1.13b)

(13)

De matrix A in dit stelsel vergelijkingen (A is een V andermondematrix ) is in het algemeen helaas zeer slecht geconditioneerd.

Voorbeelden:

1. Met de steunpunten xi = i/10, i = 0 , · · · , 10 vinden we een 11 × 11 matrix A met de conditiegetallen κ2(A) = 1.16108 en κ(A) = 3.4108.

2. Met de steunpunten xi = cos(2i+122 π), i = 0 , · · · , 10 (de nulpunten van het 10de Chebyshev polynoom) T10 vinden we een 11 × 11 matrix A met de conditiegetallen κ2(A) = 3.6103 en κ(A) = 9.3103.

Het oplossen van het stelsel (1.13) is dus geen goede zaak. De reden is, dat de gekozen representatie

πf(x) =

n−1X

j=0

aj xj (1.14)

nogal slecht is om mee te rekenen als n niet heel klein is.

Een betere representatie verkrijgen we door πf te schrijven als een som van orthogonale poly- nomen in plaats van machten van x. Zij bij gegeven steunpunten {xi | i = 1, · · · , n} de verzameling {Vj(x) | i = 0 , · · · , n − 1} een stelsel veeltermen met graad(Vj) = j en zo, dat

Xn i=1

Vj(xi) Vl(xi) =

½ 0 if j 6= l ,

1 if j = l , (j , l = 0 , · · · , n − 1), (1.15) d.w.z. de veeltermen zijn diskreet orthogonaal op de gegeven steunpunten. Als we nu het gezochte interpolatiepolynoom representeren als een lineaire combinatie van deze orthogonale veeltermen,

πf(x) =

n−1X

j=0

bjVj(x) , (1.16a)

dan vinden we voor de co¨effici¨enten het stelsel vergelijkingen

B

b0 b1

..

..

bn−1

:=

V0(x1) V1(x1) · · · Vn−1(x1) V0(x2) V1(x2) · · · Vn−1(x2)

· · · ·

· · · · V0(xn) V1(xn) · · · Vn−1(xn)

b0 b1

..

..

bn−1

=

f (x1) f (x2)

..

..

f (xn)

. (1.16b)

De matrix B in dit stelsel heeft orthonormale kolommen en is dus orthogonaal (BTB = BBT = I) en is dus zeer goed geconditioneerd en zeer eenvoudig oplosbaar,

bj = Xn i=1

Vj(xi) f (xi), i = 0, · · · , n − 1 .

Het grote probleem is echter om zo’n stelsel te vinden bij gegeven interpolatiepunten {x1, · · · , xn}.

Een mogelijkheid is om de veeltermen {1 , x , x2, · · · } successievelijk te orthogonaliseren met behulp van de methode van Gram-Schmidt. Dit is echter equivalent met het oplossen van het stelsel (1.13b) met MGS (“modified Gram-Schmidt”, zie Golub & Van Loan) en dus met behoud van alle ellende wegens de slechte conditie van dit stelsel. Voor een willekeurig stel interpolatiepunten blijkt er niets beters te zijn! Als de interpolatiepunten gegeven zijn als de nulpunten van een “mooi” polynoom, zoals het n-de Chebyshev polynoom Tn, dan zijn er andere middelen om zo’n diskreet-orthogonale rij veeltermen te vinden.

(14)

Lemma:

n−1X

k=0

cos(2k + 1

2n mπ) =

0 , als m mod 2n 6= 0 ,

n , als m mod 2n = 0 en m/2n even

−n , als m mod 2n = 0 en m/2n oneven .

(1.17)

Bewijs.

n−1X

k=0

cos(2k + 1

2n mπ) = 1 2

n−1X

k=0

( eimπ2k+12n + e−imπ2k+12n )

= 1

2

2n−1X

k=0

eimπ2n eimπkn ;

als m mod 2n 6= 0, dan kunnen we de meetkundige reeks in de laatste som sommeren en is het resultaat nul, en anders zijn alle termen +1 of −1 .

Stelling. Op de nulpunten {τ1, · · · , τn} van het n-de Chebyshev polynoom Tn geldt:

2 n

Xn k=1

Tik) Tjk) =

( 0, als i 6= j,

1, als i = j, (0 < i, j < n) (1.18) Bewijs. Met de gelijkheid τk = cos 2k+12n π en met de transformatie Tj(cos t) = cos jt kunnen we formule (1.17) toepassen.

Gevolg: Als πf het Lagrange-interpolatiepolynoom van f is, op de nulpunten van Tnf heeft dus graad n − 1), dan geldt:

πf =

n−1X

j=0

cjTj met πfk) =

n−1X

j=0

cjTjk) = f (τk)

en volgens(1.8) moet dan gelden

cj = 2 n

Xn k=1

f (τk) Tjk).

Gebruik makend van de recurrente betrekking voor de Chebyshev polynomen, Tk+1(x) = 2xTk(x) − Tk−1(x) voor k ≥ 1 ,

kunnen we de co¨effici¨enten {cj} uitrekenen in n2+ n flops en n evaluaties van de cosinus. Voor grote n kan dit echter veel effici¨enter via een FFT (fast Fourier transform), immers:

cj = 2 n

Xn k=1

fk Tjk) = 2 n

Xn k=1

fk cos(2k − 1 2n jπ)

= 1

n Xn k=1

fk exp(2k − 1

2n jπi) + 1 n

Xn k=1

fk exp(−2k − 1 2n jπi)

= 1

n Xn k=1

fk exp(2k − 1

2n jπi) + 1 n

Xn k=1

fk exp(4n − 2k + 1

2n jπi)

= 1

n Xn k=1

fk exp(2k − 1

2n jπi) + 1 n

X2n l=n+1

f2n−l+1 exp(2l − 1 2n jπi)

= 1

n exp(j nπi)

2n−1X

k=0

fk+1exp(jk nπi)

als f2n−k := fk voor 0 ≤ k < n. Behoudens een constante faktor is dit precies een (complexe) diskrete Fouriertransformatie.

(15)

Opgave 1.6: De Chebyshev polynomen van de tweede soort Un worden gedefinieerd door Un(cos t) := sin(n + 1)t

sin t , n = 0, 1, · · · .

a. Laat zien: U0(x) = 1, U1(x) = 2x en Un+1(x) = 2 Un(x) − Un−1(x) (dezelfde drieterms- recursierelatie als Tn maar met een ander begin).

b. Bewijs, dat Uk en Ul orthogonaal zijn t.o.v. het diskrete inprodukt Σni=1 wi Uki) Uli) op de nulpunten ξ1, · · · , ξn van Unmet gewichten wk := sin2 kπn+1.

c. Bepaal de relatie tussen de ontwikkeling πf = Σni=1djUj van het Lagrange-interpolatiepoly- noom van f op de nulpunten van Un en de complexe Fouriertransformatie.

1.c Polynoomapproximatie

Als we een functie willen benaderen (d.m.v. een polynoom), moeten we natuurlijk eerst afspreken op wat voor manier we de afwijking zullen meten. Veelgebruikte normen zijn de supnorm, die de maximale afwijking over een interval [a, b] meet,

k f k := max

a ≤ x ≤ b | f(x) |, (1.21)

en de gewogen kwadraatnorm (of L2-norm), die het kwadraat van de afwijking maal een gewichts- functie w over het interval integreert,

k f k2,w := { Z b

a |f(t)|2 w(t) dt }12. (1.22) Bij praktisch rekenen kennen we evenwel de te benaderen functie slechts in een eindig aantal punten (b.v. metingen) en zullen we afwijkingen moeten meten in een diskrete (semi-)norm, zoals het maximum of een gewogen som (zie b.v. 1.15) over de gegeven punten.

Volgens de stelling van Weierstrass kunnen we iedere continue functie op een kompakt interval willekeurig goed uniform benaderen met een polynoom van voldoend hoge graad. Deze stelling is constructief, d.w.z. we kunnen voor iedere functie expliciet een convergente rij polynomen aangeven.

De rij Bernstein-polynomen bijvoorbeeld, Bn(x) :=

Xn k=0

(n k) f (k

n) xk (1 − x)n−k , (1.20)

convergeert uniform naar f op het gesloten interval [0,1], als f continu is op dit interval. Voor nu- merieke doeleinden is een dergelijke polynoombenadering echter totaal onbruikbaar. Als alternatief voor de constructie van een goede polynomiale benadering kunnen we denken aan interpolatie. In het algemeen is dit een goede methode, maar we moeten voorzichtig zijn: niet ieder schema met interpolatie van steeds hogere orde convergeert1! Een bekend voorbeeld is het volgende: Als we de functie 1/(1 − x2) op het interval [−5, 5] interpoleren in n equidistante punten x1, · · · , xn met x1 = −5 en xn= 5, dan divergeert de rij interpolanten voor | x | ≤ 3.64 voor n → ∞, ondanks dat de gegeven functie oneindig vaak differentieerbaar is. Voor stellingen over het bestaan van “beste”

polynoombenaderingen verwijzen we naar de cursus “aanvullingen van de wiskunde”. Behalve met Fourier-Chebyshev approximaties (en dit voornamelijk wegens het verband met Fourier reeksen) wordt er in de praktijk weinig met polynoomapproximaties van hogere orde (hoger dan 5 `a 6) gewerkt. Een van de redenen is, dat interpolatie van hoge orde nogal slecht geconditioneerd is (zie

§1b) en niet noodzakelijk convergent. Een andere reden is, dat een convergerende rij interpolanten van steeds hogere graad n meestal vrij traag convergeert met een macht van 1/n als convergen- tieorde. Een verdeling van het interval in “kleine stukjes” en benadering met een polynoom van lage graad op ieder stukje apart levert meestal een veel betere banadering op met minder rekenwerk.

1Sterker: bij ieder interpolatieschema is er een C-functie waarvoor het schema divergeert!

(16)

1.d Approximaties op deelintervallen

Laat f een voldoend gladde functie zijn op het interval [a, b]. We gaan deze nu benaderen door het interval op te splitsen in n deelintervallen,

a =: t0 < t1< · · · < tn−1 < tn:= b , h := max

1<i<n ti− ti−1, (1.23) met maximale maaswijdte h. We stellen on nu de vraag, hoe goed we f kunnen benaderen met stuksgewijze polynomen van de graad kleiner dan of gelijk aan k. D.w.z. op ieder deelinterval [ti−1, ti] benaderen we f met een polynoom van graad ≤ k . Het bepalen van een beste benadering kan zeer moeilijk zijn, maar een benadering, verkregen door f op ieder deelinterval te interpol- eren blijkt goed genoeg voor het afleiden van een goede foutschatting voor dit soort benaderin- gen (de afbreekfout van de beste benadering kan alleen maar kleiner zijn). Om zo’n stuksgewijs polynomiale interpolant π te construeren kiezen we op het interval [0, 1] de referentiesteunpunten ξ0, ξ1, · · · , ξk. We defini¨eren de restriktie van π tot het deelinterval [ti−1, ti] als het Lagrange- interpolatiepolynoom op de steunpunten

{ ti−1+ ξj(ti− ti−1) | j = 0 , · · · , k} .

Volgens de restterm van Lagrange (1.3) geldt voor x ∈ [ti−1, ti] de ongelijkheid

| f(x) − π(x) | = | f(k+1)x) (k + 1)!

Yk j=0

(x − ti−1− ξj(ti− ti−1)) | ≤ | ti− ti−1|k | f(k+1)x) |

(k + 1)! . (1.24) De schatting van het produkt door de k+1-ste macht is vrij grof, maar geeft wel goed de orde van de (lokale) afbreekfout aan, deze is namelijk evenredig met de k+1-ste macht van de deelintervallengte.

Dus, als we deelintervallengte halveren (bij constante k), dan neemt de benaderingsfout af met een factor 2−k−1. We zien dat een dergelijke manier van benaderen met stuksgewijze polynomen van vaste graad veel veiliger is dan benaderen met ´e´en polynoom van steeds hogere graad en niet kritisch afhangt van afgeleiden van hoge orde van f en van de verdeling van de steunpunten over het interval. Bovendien is deze wijze van benaderen flexibel; als de k-de afgeleide op een (klein) deel van het interval groot is en elders klein, dan kunnen we de verdeling (1.23) fijnmazig kiezen op plaatsen waar deze afgeleide groot is en veel grover elders, zodat de benaderingsfout in ieder punt ongeveer even groot is.

Laat ∆ het rooster zijn op [a, b], zoals gedefinieerd in (1.23). We defini¨eren de ruimte van stuksgewijze polynomen Mk,p(∆) voor k ≥ 0 en −1 ≤ p ≤ k−1 door

Mk,p(∆) := { f ∈ Cp([a, b]) | f|[ti−1, ti] is een polynoom van graad ≤ k ∀ i } . (1.25) Deze verzameling bestaat dus uit stuksgewijze polynomen van graad k op de deelintervallen, die tesamen met hun eerste p afgeleiden continu zijn op de deelintervalgrenzen. (Voor p = −1 is er dus geen continu¨ıteit op de punten van ∆. Voor p = k − 1 noemen we deze stuksgewijze polynomen splinesvan graad k). Een polynoom van graad k wordt bepaald door k + 1 co¨effici¨enten, zodat de dimensie van de ruimte van stuksgewijze polynomen op de verdeling (1.23) gelijk is aan n(k + 1).

De continu¨ıteitseisen op de interne deelpunten geven (n − 1)(p + 1) lineaire vergelijkingen voor deze co¨effici¨enten, zodat de dimensie van Mk,p(∆) gelijk is aan n(k + 1) − (n − 1)(p + 1). Voor benaderingen in ruimten van stuksgewijze polynomen met p < k/2 kunnen we volgens de methode, die hierboven geschetst is, het volgende resultaat bewijzen:

Stelling. Als f ∈ Ck+1([a, b]), dan geldt voor de beste benadering π ∈ Mk,p(∆) van f met p < k/2 de foutschatting:

k ( d

dx)m (f − π) k ≤ Cm hk−m+1 k f(k+1) k , 0 ≤ m ≤ k, (1.26)

(17)

waar Cmeen constante is die alleen van m afhangt, maar niet van de functie of de gekozen verdeling

∆.

Bewijs. Voor m = 0 en p = −1 behoeven we in (1.24) slechts het maximum te nemen over alle deelintervallen. Als p ≥ 0 moeten we de interpolatiepunten met enige zorg kiezen. Als p = 0, dan kiezen we ξ0 = 0 en ξk = 0, zodat ti zowel voor het polynoom op [ti−1, ti] als dat op [ti, ti+1] een interpolatiepunt is. Op deze manier is de stuksgewijs polynomiale benadering automatisch continu in ti, ∀ i . Als p > 0, dan interpoleren we zo, dat op de uiteinden van ieder deelinterval de functiewaarde en de eerste p afgeleiden van het interpolerende polynoom met die van de functie overeenstemmen (zie 1.4-5). De graad van het interpolerende polynoom moet dan wel groter zijn dan 2p. Door het maximum van de restterm (1.5) te nemen over alle deelintervallen vinden we dan (1.26).

Voor de foutschattingen op de afgeleiden kunnen we een analoog bewijs geven. Als p = 1 en als alle referentiesteunpunten onderling verschillend zijn, dan heeft de restrictie van f − π tot een deelinterval k + 1 nulpunten volgens (1.3). Volgens de stelling van Rolle heeft de afgeleide f− π nog k nulpunten; π interpoleert f dus op k onderling verschillende punten (onbekend, maar wel binnen het deelinterval). Hierop kunnen we dus de reststelling (1.3) weer toepassen. Met een schatting analoog aan (1.24) volgt het bewijs van (1.26) ook in dit geval. Voor hogere afgeleiden herhalen we deze redenering.

In het geval p > 1 doen we in principe hetzelfde, alleen moeten we dan een punt, waarin de functiewaarde en p afgeleiden overeenstemmen als een p+1-voudig nulpunt tellen; de afgeleide f−π heeft in datzelde punt dan een p-voudig nulpunt, etc.

N.B. 1. De “beste benadering” π in formule (1.26) behoeft geen continue afgeleide te hebben in de punten van ∆, zodat deze formule eigenlijk niet correct is. We moeten dan de supnorm interpreteren als het maximum van de supnormen over de deelintervallen.

N.B. 2. De uitspraak (1.26) van deze stelling is meestal ook waar als p ≥ k/2, maar een bewijs daarvan is veel ingewikkelder, zoals we zullen zien in het geval van kubische splines (M3,2(∆)).

1.e Kubische Splines

Laat ∆ een verdeling van het interval [a, b] zijn, zoals gedefini¨eerd in (1.23), en laat f een voldoend gladde functie zijn op dat interval. De kubische spline interpolant S van f is het stuksgewijze polynoom van graad 3 uit M3,2(∆), dat voldoet aan de eisen:

S(ti) = f (ti) , i = 0, · · · , n, (1.27) en aan ´e´en van de drie volgende randvoorwaarden:

(a) S (a) = f(a) , S (b) = f(b), (b) S′′(a) = 0 = S′′(b)

(c) S(a) = S(b), S (a) = S (b), S′′(a) = S′′(b) .

(1.28)

Voorwaarde (a) noemen we een vaste rand, voorwaarde (b) een vrije rand en (c) een periodieke rand. In het geval (c) moet de benaderde functie f natuurlijk wel periodiek zijn met periode b−a.

De spline-benadering van een functie f is een benadering met minimale tweede afgeleide, zoals volgt uit:

Stelling: Als f′′ ∈ C4([a, b]), dan geldt

k f′′ − S′′ k22 = k f′′ k22 − k S′′ k22 . (1.29)

(18)

Bewijs.

k f′′ − S′′ k22 = k f′′ k22 − 2 (f′′, S′′) + k S′′ k22

= k f′′ k22 − 2 (f′′ − S′′, S′′) − k S′′k22 . Het inprodukt kunnen we parti¨eel integreren,

Z b

a (f′′ − S′′) S′′ dx = − Z b

a (f − S ) S′′′ dx + [(f − S ) S′′ ]ba .

De stokterm hierin is nul onder ieder van de drie voorwaarden (1.28). De integraal kunnen we splitsen in de integralen over de n deelintervallen en opnieuw parti¨eel integreren,

Rb

a (f − S ) S′′′ dx = Pni=1 Rtti

i−1 (f − S ) S′′′ dx

= Pni=1 Rtti−1i (f − S) S(4) dx − [(f − S) S′′′]ttii−1.

De integraal is nul, omdat S een derde graads polynoom is en de vierde afgeleide dus nul is, en de stokterm is nul wegens (1.27).

Uit formule (1.29) zien we, dat onder alle C2-functies op [a, b], die f interpoleren op ∆, de spline- benadering van f de kleinste “gemiddelde tweede afgeleide” heeft (de funktionaal ϕ 7→ k ϕ′′ k2

minimaliseert bij gegeven k ϕ′′− f′′ k2).

1.f Praktisch rekenen met kubische splines

Neem nu aan, dat van een functie f de functiewaarden in de n + 1 punten van ∆ en de afgeleiden in de randpunten a en b gegeven zijn. Welke berekeningen moeten we uitvoeren om bij gegeven x ∈ [a, b] de waarde van de spline-benadering (met vaste rand) in dat punt te vinden. Voor dit probleem zijn verschillende oplossingen mogelijk. Hier zullen we twee manieren beschrijven, waarbij de spline op ieder deelinterval op een speciale manier gerepresenteerd wordt. Hiertoe voeren we de volgende notaties in,

hi := ti − ti−1 , (deelintervallengte)

fi := f (ti) , (functiewaarden in de interpolatiepunten) di := fi − fh i−1

i , (differentiequoti¨enten )

Si := S| [ti−1, ti] (restriktie tot het i-de deelinterval)

en voor x ∈ [ ti−1, ti] schrijven we t := (x − ti−1)/hi. De restriktie Si van Stot [ ti−1, ti] kunnen we dan alsvolgt schrijven:

Si(x) = tfi+ (1 − t)fi−1+ hit(1 − t){(λi−1− di)(1 − t) − (λi− di)t} , (1.30) waarin λi en λi−1nog te bepalen constanten zijn. Deze representatie is zo gekozen, dat Si−1 en Si

continu op elkaar aansluiten in ti−1, hun waarden aldaar zijn immmers gelijk aan fi:

Si(ti−1+ 0) = fi−1= Si−1(ti−1− 0) ( limiet van rechts2= limiet van links). (1.31) Hetzelfde geldt voor de afgeleiden in dat punt,

Si(ti−1+ 0) = λi−1= Si−1 (ti−1− 0). (1.32) De tweede afgeleide in ti−1 moet ook continu zijn. Met de identiteit

Si′′(x) = 1

hii−1(6t − 4) + λi(6t − 2) + di(6 − 12t)) (1.33)

2Met f (x + 0) duiden we de limiet van rechts aan, f (x+0) := lim

tց0f(x + t) en met f (x−0) dus de limiet van links.

Referenties

GERELATEERDE DOCUMENTEN

In de eerste plaats heeft die namelijk tot ge- volg dat lager opgeleiden minder goed worden gerepresenteerd: ‘De stem van hoger opgeleiden legt meer gewicht in de schaal

3 in elk van de drie tijdsintervallen tussen de vertrekkende bussen aan en voor elk van die tijdsintervallen is de te verwachten wachttijd 10 minuten.. In figuur 2 is de

Deze benaderingsmethode noemt men de methode

Vraag Antwoord

De organisatie van zorg is ingewikkeld en informatie over gezondheid voor veel mensen, onbereikbaar, onbegrijpelijk of ontoepasbaar (Heijmans et al, 2016 &amp; Van den

In het eerste voorbeeld wordt beschouwd wat de rol van vertrouwen tussen bestuurders en commissarissen is, wanneer de (economische) aanname dat toezicht plaats- heeft in

Idealiter kan algoritmisch een oplossing gevonden worden die willekeurig dicht bij het optimum ligt, ofwel een dominerende deel- verzameling die minder dan 1 +  keer het

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of