3 Numerieke Integratie

advertisement
25
3 NUMERIEKE INTEGRATIE
3
3.a
Numerieke Integratie
Probleemstelling
Gegeven een (voldoend gladde) functie f op een begrensd interval [a, b], bepaal een benadering
voor de integraal
I :=
Z
b
f (t) dt
(3.1)
a
en geef een foutschatting voor de verkregen benadering.
Een voor de hand liggende aanpak van dit probleem is het benaderen van f met een eenvoudig
integreerbare functie, zoals een polynoom (zie hoofdstuk 1), en deze benadering exact te integreren.
Voorbeelden:
(1) Benader f met een lineair polynoom,
f (x) = f (a)
x−b
x−a
1
+ f (b)
+ (x − a) (x − b) f ′′ (ξx )
a
b
2
en integreer,
Z
b
a
b−a
1
f (x) dx =
(f (a) + f (b)) +
2
2
Z
b
(x − a) (x − b) f ′′ (ξx ) dx .
a
(3.2)
Omdat (x − a) (x − b) definiet is op [a, b], mogen we op de restterm de middelwaardestelling
van de integraalrekening toepassen: Er is een punt η in [a, b] zodat
Z
b
a
′′
′′
(x − a) (x − b) f (ξx ) dx = f (η)
Z
b
(x − a) (x − b) dx .
a
Zo vinden we de trapeziumregel (met restterm)
Z
b
f (x) dx =
a
b−a
(b − a)3 ′′
(f (a) + f (b)) −
f (η) .
2
12
(3.3)
(2) Benader f met een stukje Taylorreeks op het midden van het interval,
f (x) = f (
b+a ′ b+a
1
b + a 2 ′′
b+a
) + (x −
)f(
) +
(x −
) f (ξx ) ,
2
2
2
2
2
integreer en gebruik opnieuw de middelwaardestelling (omdat (x −
vinden we de middelpuntsregel (met restterm):
Z
b
f (x) dx = (b − a) f (
a
b+a 2
2 )
b+a
(b − a)3 ′′
) +
f (η)
2
24
definiet is). Zo
(3.4)
voor zekere η ∈ [a, b].
In het algemeen vinden we zo een (lineaire) integratief ormule Σni=1 wi f (ti ) als benadering van
een integraal,
Z
b
a
f (x) dx =
n
X
wi f (ti ) + rest ,
(3.5)
i=1
waar {t1 , · · · , tn } de steunpunten en {w1 , · · · , wn } de gewichten heten. Bij gegeven steun(n)
punten kunnen we het gewicht wi bepalen door het i-de Lagrange-polynoom Li , cf. (1.2), te
integreren (hetgeen i.h.a. veel werk is). Een eenvoudige methode om bij gegeven steunpunten de
26
3 NUMERIEKE INTEGRATIE
gewichten te bepalen is de methode der onbepaalde coëfficiënten. Deze methode berust op het feit,
dat interpolatie en dus ook integratie op n steunpunten exact is voor alle polynomen van graad
kleiner dan n en dat het voldoende is gelijkheid in (3.5) te testen voor een basis in deze ruimte van
polynomen:
n
X
k
wi (ti − a)
=
Z
b
(x − a)k dx =
a
i=1
(b − a)k+1
,
k + 1
k = 0, · · · , n − 1 .
(3.6)
Als de steunpunten onderling verschillend zijn, ti 6= tj (i 6= j), dan is de matrix in het linkerlid
van (3.6) een reguliere Vandermondematrix, cf (1.13b), en heeft het stelsel vergelijkingen dus een
eenduidige oplossing. Natuurlijk geldt hier bij het uitrekenen van de gewichten eenzelfde bezwaar
als bij interpolatie, n.l. dat deze matrix meestal zeer slecht geconditioneerd is (tenzij n heel klein
is).
Op grond van de restterm bij Lagrange-interpolatie (1.3) vinden we voor de rest in formule
(3.5) de volgende foutschatting:
| rest | ≤
1
n!
max
a≤x≤b
| f (n) (x) |
Z
n
Y
b
a
| x − ti | dx ≤ C (b − a)n+1 k f (n) k∞ ,
(3.7)
j=1
waar C een constante is, die alleen van n en de keuze van de steunpunten afhangt maar niet van f .
Het kan voorkomen dat de integratieformule, gevonden bij een zekere verzameling van n steunpunten, ook exact is voor sommige polynomen van hogere graad. Als we bijvoorbeeld op het interval
[0 , 1] de drie volgende steunpunten kiezen, t1 = 0, t2 = 12 en t3 = 1, dan vinden we met behulp
van de methode der onbepaalde coëfficiënten de vergelijkingen:
w1 + w 2 + w 3 = 1 ,
1
2
w2 + w 3 =
1
2
,
1
1
w2 + w 3 =
.
4
3
De gewichten zijn dus w1 = w3 = 1/6 en w2 = 2/3. De gevonden integratieformule is de formule
van Simpson. Deze formule is ook exact voor polynomen van graad 3 en zij is van orde 4. Hiervoor
is dus een betere foutschatting dan (3.7) beschikbaar. Om in zo’n geval een betere foutschatting
te vinden, gebruiken we de Reststelling van Peano:
Stelling. Zij L een lineaire functionaal op C m ([a, b]) zo, dat
Lf = 0,
voor alle polynomen van graad kleinerdan m ,
(3.8)
dan geldt
LF =
Z
b
f (m) (t) K(t) dt ,
K(t) :=
a
1
Lx (x − t)m−1 Y (x − t) .
(m − 1)!
(3.9)
Hierin staat Lx (x − t)m−1 Y (x − t) voor de functionaal L toegepast op de functie
x 7→ (x − t)m−1 Y (x − t) (als functie van x).
Y is de Heaviside functie, Y (z) = 1 als z ≥ 0 en Y (z) = 0 als z < 0.
Bewijs. Pas L toe op de Taylorontwikkeling van f in a
f (x) =
m−1
X
j=0
f (j) (a)
(x − a)j
+
j!
Z
x
a
(x − t)m−1 (m)
f (t) dt .
(m − 1)!
Aangezien L verdwijnt op het polynomiale gedeelte van deze ontwikkeling, volgt de bewering onmiddellijk hieruit.
27
3 NUMERIEKE INTEGRATIE
Opmerking. Een integratieformule, die exact is voor alle polynomen van graad kleiner dan m
heet een formule van orde m.
We kunnen deze stelling toepassen op de boven afgeleide formule van Simpson. Deze formule
is ook exact voor polynomen van graad 3. We vinden:
rest = L f =
=
R1
1
24
0
Aangezien
R1
0
f (x) dx −
f (4) (t)
Z
1
hR
1
0 (x
1
6
(f (0) + 4f ( 21 ) + f (1))
− t)3 Y (x − t) dx − 32 ( 21 − t)3 Y ( 21 − t) −
(x − t)3 Y (x − t) dx =
K(t) := [ · · · ] =
(
1
4
1
4
1
(x − t)3 dx =
t
0
vinden we
Z
(1 − t)4 −
(1 − t)4 −
1
6
2
3
(1 − t)3
=
( 21 − t)3 −
1
6
(1 − t)3 =
1
12
1
12
1
6
i
(1 − t)3 dt .
1
(1 − t)4 ,
4
(1 − 3t) (1 − t)3 ,
t ≤
(3t − 2) t3 ,
t ≥
1
2
1
2
,
.
Daar de “kern” K(t) negatief is voor alle t in het interval [0 , 1], mogen we de middelwaardestelling
toepassen. Er is dus een ξ ∈ [0 , 1] zodat
1 (4)
f (ξ)
24
rest =
Z
1
K(t) dt = −
0
1
f (4) (ξ) .
2880
(3.10)
Opmerking. In dit geval is het toevallig eenvoudiger de restterm voor de formule van Simpson af
te leiden uit de restterm voor het kubische interpolatiepolynoom π van f , waarvoor geldt
π(0) = f (0) , π( 12 ) = f ( 21 ) , π ′ ( 21 ) = f ′ ( 12 ) , π(1) = f (1) .
Op grond van formule (1.5) voor de restterm van dit interpolatiepolynoom vinden we
Z
1
f (x) − π(x) dx =
0
omdat x (x −
3.b
1 2
2 ) (x
1
24
Z
0
1
f (4) (ξx ) x (x − 12 )2 (x − 1) dx = −
1
f (4) (ξ) ,
2880
− 1) negatief is op het gehele interval [0 , 1].
Gauss-integratie
We vragen ons nu af wat de maximale orde is, die we met een integratieformule van de vorm
Σni=1 wi f (ti ) kunnen bereiken. Voor de eenvoud van de formules nemen we aan dat het integratieinterval [−1 , 1] is. De integratieformule bevat 2n parameters, de gewichten wi en de steunpunten
ti . Door substitutie van de polynomen 1, x, x2 , · · · , x2n−1 (met de methode der onbepaalde
coëfficiënten) vinden we 2n niet-lineaire vergelijkingen voor de 2n parameters van de gezochte integratieformule. We zullen via een omweg laten zien dat deze vergelijkingen precies één oplossing
hebben en dat de maximale orde van een n-punts formule dus 2n is. Zo’n formule van maximale
orde heet een Gauss-formule.
Bij een gegeven verzameling steunpunten {t1 , · · · , tn } kunnen we via het lineaire stelsel (3.6)
de gewichten {w1 , · · · , wn } bepalen zo, dat de formule minstens van orde n is,
Z
1
−1
f (x) dx =
n
X
wj f (tj )
als f een polynoom van graad kleiner dan n is.
j=1
Hiermee is de formule exact voor polynomen van graad kleiner dan n. Als de formule ook exact is
voor polynomen met graad tussen n en 2n, dan moet dit in het bijzonder gelden voor de polynomen
xk Pn (x), k = 0, · · · , n − 1 ,
Z
1
−1
k
Pn (x) x dx =
n
X
i=1
wi Pn (ti ) tki .
(3.11)
28
3 NUMERIEKE INTEGRATIE
Maar we weten ook dat het n-de Legendre polynoom loodrecht staat op alle polynomen van lagere
graad, d.w.z.
Z 1
Pn (x) xk dx = 0 ,
k = 0, · · · , n − 1 .
−1
Dit betekent, dat het rechterlid van (3.11) nul is voor alle k, 0 ≤ k < n. Omdat de Vandermondematrix met elementen tki niet singulier is, impliceert dit, dat Pn (ti ) = 0, i = 1, · · · , n. Zonder
expliciet aan een zeer slecht geconditioneerde Vandermondematrix te moeten rekenen, kunnen we
de gewenste steunpunten dus vinden als de nulpunten van het n-de Legendre polynoom. Deze
nulpunten zijn enkelvoudig en liggen alle binnen het interval (−1, 1). Bovendien zien we hieruit,
dat er op dit interval precies één integratieformule bestaat van orde 2n met n steunpunten.
Om de restterm van de gevonden n-punts Gaussformule te vinden voor een willekeurige functie
f ∈ C 2n ([−1 , 1]) interpoleren we f met een polynoom π van graad 2n − 1 d.m.v. Hermiteinterpolatie op de nulpunten van {t1 , · · · , tn } van Pn . Hiervoor geldt volgens (1.5)
f (x) = π(x) +
n
Y
(x − ti )2
i=1
f (2n) (ξx )
.
(2n)!
Als we deze vergelijking integreren, de integraal over het polynoom π vervangen door de integratieformule en op de restterm de middelwaardestelling toepassen, vinden we:
Z
1
f (x) dx =
−1
n
X
f (2n) (ξx )
(2n)!
wj f (tj ) +
j=1
Z
1
n
Y
−1 i=1
(x − ti )2 dx .
Omdat het polynoom Πni=1 (x − ti ) van gelijke graad is als Pn en dezelfde nulpunten heeft, zijn
beide polynomen gelijk op een constante factor na. Deze vinden we uit de Rodrigues relatie voor
Pn ,
Pn (x) =
n
1
dn
(2n)!
(2n)! Y
2
n
n
(x − ti )
(x
−
1)
=
x
+
termen
van
lagere
orde
=
2n n! dxn
2n (n!)2
2n (n!)2 i=1
De integraal in de restterm kunnen we hiermee alsvolgt uitrekenen:
Z
1
n
Y
−1 i=1
22n (n!)4
(x − ti ) dx =
((2n)!)2
2
Z
1
−1
Pn (x)2 dx =
22n+1 (n!)4
.
(2n + 1) ((2n)!)2
Zo vinden we dus de n-punts Gauss formule
Z
1
f (x) dx =
−1
n
X
wj f (tj ) + f (2n) (ξ)
j=1
22n+1 (n!)4
.
(2n + 1) ((2n)!)3
(3.12)
De gewichten van een Gauss formule zijn positief, immers
wi =
Z
1
n
Y
−1 j=1, j6=i
(
x − tj 2
) dx > 0 ,
ti − t j
(3.12a)
daar de formule exact is voor alle polynomen van graad ≤ n. Overigens zal men nooit de gewichten
met behulp van deze expressie uitrekenen. Via de recurrente betrekking voor de Legendre polynomen kan men voor de gewichten de volgende formule vinden:
wi =
(1 −
t2i )
2
.
[Pn′ (ti )]2
(3.13)
In de literatuur zijn ook aan een aantal andere typen integratieformules een naam verbonden:
29
3 NUMERIEKE INTEGRATIE
Een n-punts Newton-Cotes formule (n ≥ 2) op het interval [a, b] is de formule met maximale
orde op n equidistante steunpunten {t1 := a, t2 , · · · , tn := b}. Voor n > 6 zijn dit soort
formules numeriek minder aantrekkelijk, omdat sommige gewichten dan negatief zijn. Voorbeelden
zijn de trapeziumregel (n = 2) en de regel van Simpson (n = 3).
Opgave 3.1: Laat zien dat de orde van zo’n formule n is voor even n en n + 1 voor oneven n.
Een n-punts Lobatto formule (n ≥ 2) op het interval [a, b] is de formule met maximale orde op
de n steunpunten {t1 := a, t2 , · · · , tn := b}, waarbij de steunpunten t2 , · · · , tn−1 zo gekozen
worden, dat de orde maximaal is. De orde van zo’n n-punts formule is 2n − 2. De steunpunten
′
(als [a, b] = [−1, 1]) en ze liggen
van deze formules zijn verbonden met de nulpunten van Pn−1
alle binnen het interval. De gewichten zijn altijd positief. De restterm heeft de vorm C f (2n−2) (ξ).
Voorbeelden zijn opnieuw de trapeziumregel en de regel van Simpson.
Een n-punts Radau formule (n ≥ 2) op het interval [a, b] verkrijgen we door ofwel t1 = a
ofwel tn = b te kiezen en vervolgens de overige steunpunten en gewichten zo bepalen, dat de orde
maximaal is. De orde van zo’n formule is 2n − 1 (in feite hebben we er twee, die elkaars gespiegelde
zijn). Ook hier liggen de steunpunten binnen het integratie-interval en zijn de gewichten positief.
De restterm heeft de vorm C f (2n−1) (ξ).
3.c
Samengestelde integratieformules
Als we de afbreekfout, die ontstaat door toepassing van een integratieformule op een functie, te
groot vinden, kunnen we overgaan op een formule van hogere orde, maar ook kunnen we het
integratie-interval in stukken verdelen en op ieder stuk afzonderlijk de integratieformule toepassen.
Als voorbeeld kiezen we de samengestelde middelpuntsregel Mn . We verdelen het integratie-interval
in n gelijke stukken van lengte h := (b − a)/n,
Z
b
a
f (x) dx =
n
X
j=1
n
X
h
h3 ′′
h f (a + jh − ) +
f (ξj ) = Mn (f ) + Rn (f ) ,
2
24
j=1
(3.14)
waar ξj een punt is in het deelinterval [a + jh − h, a + jh]. We kunnen de afbreekfout Rn dus
willekeurig klein maken, door h voldoend klein te kiezen. Evenals bij interpolatie is het ook hier
vaak gunstiger de orde van de integratieformule beperkt te houden en de nauwkeurigheid tot de
gewenste waarde op te voeren door de lengte van de deelintervallen, waarop deze wordt toegepast, te
verkleinen. Een dergelijke strategie convergeert voor een grotere klasse van functies, dan integratie
d.m.v. een serie (enkelvoudige) formules van steeds hogere orde. Bovendien heeft de restterm van
een samengestelde formule op ieder deelinterval dezelfde vorm en kunnen we deze gebruiken om de
afbreekfout te schatten. In het voorbeeld (3.14) is de restterm een Riemannsom voor de integraal
van de tweede afgeleide,
n
X
j=1
h f ′′ (ξj ) −
Z
b
a
f ′′ (x) dx → 0 ,
voor n → ∞ ,
30
3 NUMERIEKE INTEGRATIE
zodat we de rest ook kunnen schrijven als
Rn =
n
X
h3
j=1
24
f ′′ (ξj ) =
3
h2 ′
(f (b) − f ′ (a)) + o(h2 ) ,
24
(h → 0) .
(3.15)
We concluderen hieruit dat de restterm in eerste benadering gelijk is aan een constante maal h2 ,
met een constante, die niet van h (maar wel van f ) afhangt,
Rn = C h2 + o(h2 ) ,
(h → +0).
Als de o(h2 )-term voldoend klein is t.o.v. C h2 , dan kunnen we C schatten door M te berekenen
voor twee verschillende waarden van h (of n) en hieruit de onbekende integraal te elimineren:
I = Mn + C h2 + o(h2 )
=
M2n + C( h2 )2 + o(h2 ) .
Aftrekken geeft:
Mn − M2n =
3
C h2 + o(h2 )
4
We zien hieruit,
1
1
C h2 + o(h2 ) = (Mn − M2n ) + o(h2 ).
(3.16)
4
3
De belangrijke conclusie, die we hieruit kunnen trekken, is dat we de afbreekfout in M2n kunnen
schatten door naast M2n ook Mn te berekenen. Dit geeft ons de mogelijkheid om een automatisch
afbreekcriterium te formuleren, dat een benadering levert met vooraf voorgeschreven precisie onder
de voorwaarde, dat de o(h2 )-term in (3.15) klein is:
R2n =
< kies startwaarde voor n > ; < bereken Mn > ;
repeat
n := 2 ∗ n;
< bereken Mn >;
until | Mn − Mn/2 | < eps .
(3.17)
Als formule (3.16) een goede schatting van de fout oplevert, dan kunnen we deze ook gebruiken
om de verkregen benadering te verbeteren:
I = M2n +
1
(M2n − Mn ) + o(h2 ).
3
(3.18)
Dit proces heet extrapolatie.
Opgave 3.2: Laat zien dat de algoritme (3.17) niet altijd het gewenste resultaat aflevert. Kies als
voorbeeld f = (x − 41 )(x − 12 )(x − 34 ) en start met n = 1.
3
Het grote O-symbool en het kleine o-symbool zijn gedefinieerd alsvolgt.
f (x) = O(g(x))
(x → a + 0) ,
als er een halfopen interval (a, a + δ] bestaat (met δ > 0) en een positieve constante C zodat | f (x) | ≤ C | g(x) |
voor alle x ∈ (a, a + δ].
f (x) = o(g(x))
(x → a + 0) ,
als
lim
xa, x→a
f (x)
(x) = 0 ,
g
of anders gezegd, als er bij iedere ε > 0 een δ > 0 bestaat, zodat | f (x) | ≤ ε | g(x) | voor alle x ∈ (a, a + δ].
31
3 NUMERIEKE INTEGRATIE
Opgave 3.3: Definieer P als het lineaire polynoom, dat voldoet aan P (h2 ) = Mn en P (h2 /4) =
M2n . Laat zien, dat P (0) precies de extrapolatie van formule (3.18) levert,
P (0) = M2n +
1
(M2n − Mn ) .
3
Conclusie: De afbreekfout is een functie van h2 . Deze functie benaderen we met een lineair polynoom (in h2 ). De waarde van dit polynoom in nul is de waarde van de extrapolatie. Extrapolatie is
dus niets anders als een speciale vorm van polynoombenadering. Omdat de afbreekfout een functie
van h2 is, spreken we in dit geval over h-kwadraat extrapolatie.
Extrapolatie is een veelgebruikt hulpmiddel in de numerieke analyse om een berekende benadering te verbeteren (niet alleen voor integralen!). Extrapolatie kunnen we altijd toepassen als er
een (asymptotisch) verband is tussen de fout en een diskretisatie-parameter (b.v. de lengte van het
integratie-interval). Een ander voorbeeld is het volgende:
Uit de Taylorontwikkeling van f (x ± h) van een voldoend gladde functie f vinden we voor de
centrale differentie als benadering van de eerste afgeleide de formule
1
1
f (x + h) − f (x − h)
= f ′ (x) + h2 f (3) (x) +
Dh f :=
2h
3
12h
Z
h
f (5) (t) (x − t)4 dt ,
−h
zodat
f ′ (x) = Dh f + C h2 + O(h4 ) .
(3.19)
Van dit verband tussen de afbreekfout en de stapgrootte h kunnen we gebruik maken on de schatting
van de afgeleide te verbeteren in het volgende getallenvoorbeeld. Voor de functiewaarden van log(x)
in de buurt van x = 2 hebben we de volgende waarden, korrekt afgerond tot 5 decimalen (en dus
met een afrondfout kleiner dan .000005):
x
1.8
1.9
2.0
2.1
2.2
f(x)
.58779
.64185
.69315
.74194
.78846
Voor de afgeleide f ′ (2) vinden we met centrale differenties de benaderingen (met tussen haakjes de
uiterste grenzen voor de afrondfouten in de berekende waarden)
D0.1 f|x=2 = .50045 (±.00005),
D0.2 f|x=2 = .501675 (±.000025).
De geschatte afbreekfout in D0.1 f|x=2 is dus
1
(D0.1 f|x=2 − D0.2 f|x=2 ) = −.00040633 (±.000025)
3
en als we D0.1 f|x=2 hiermee verbeteren vinden we
f ′ (2) ≈ .50004 (±.000075) .
Opgave 3.4: Ga na, dat de grenzen voor de afrondfouten in bovenstaande formules kloppen.
Opgave 3.5: Stel dat we in bovenstaand voorbeeld ook f (2.3) en f (1.7) kennen, dan zouden we
f ′ (2) ook op basis van D0.1 en D0.3 kunnen benaderen. Laat zien, dat de formule hiervoor is:
f ′ (2) = Dh f +
1
(Dh f − D3h f ) + O(h4).
8
32
3 NUMERIEKE INTEGRATIE
Aangezien we (3.19) voor voldoend gladde f verder kunnen ontwikkelen, f ′ (x) = Dh f + C1 h2 +
C2 h4 + O(h6 ) , kunnen we uit beide schattingen voor f ′ (2) de h4 -term elimineren. Leid de formule
hiervoor af.
Overigens merken we op, dat de nauwkeurigheid van de boven gegeven waarden van ln(x) geen
hogere orde extrapolatie rechtvaardigen.
3.d
Romberg integratie
Systematisch gebruik van extrapolatie bij numerieke integratie kan leiden tot een efficiënt integratieschema van hoge orde voor een grote klasse van functies. We zullen dat laten zien aan de hand
van het integratieschema van Romberg. Dit gaat uit van de asymptotische-reeksontwikkeling van
de samengestelde trapeziumregel. Als we het integratie-interval [a, b] verdelen in n deelintervallen
van lengte h := (b − a)/n en op ieder deelinterval de trapeziumregel (3.3) toepassen, dan vinden
we de samengestelde trapeziumregel
Th :=
n−1
X
h
f (a + jh) .
(f (a) + f (b)) + h
2
j=1
(3.20)
Als f ∈ C 2k+1 ([a , b]), dan heeft Th een (asymptotische) reeksontwikkeling in even machten van h,
Th = I + c1 h2 + c2 h4 + · · · + ck h2k + O(h2k+1 ) ,
I :=
Z
b
f (x) dx ,
(3.21)
a
waarin c1 , · · · , ck constanten zijn, die alleen afhangen van f (maar niet van h). Het bewijs hiervan
zullen we geven in §3h over de sommatieformule van Euler-McLaurin. Op grond van het bestaan
van deze reeks (waarvan we de coëfficiënten i.h.a. niet kennen) kunnen we herhaald extrapoleren
en zo successievelijk de termen van orde h2 , h4 , etc. in de afbreekfout van de samengestelde
trapeziumregel elimineren.
T2h
Th
=
=
aftrekken geeft
T2h − Th
=
I
I
+
+
4c1 h2
c1 h2
+
+
16c2 h4
c2 h4
+
+
64c3 h6
c3 h6
+
+
···
···
3c1 h2
+
15c2 h4
+
63c3 h6
+
···
Eliminatie (h2 -extrapolatie) van de term van orde h2 geeft dus
Th1 := Th +
1
(Th − T2h ) = I − 4c2 h4 − 20c3 h6 + · · · = I + c12 h4 + c13 h6 + · · ·
3
De afbreekfout in Th1 is weer een asymptotische reeks in machten van h2 beginnend met een term
1 en T 1 ,
van orde h4 . Deze term kunnen we op analoge wijze elimineren (h4 -extrapolatie) uit T2h
h
1
T2h
− Th1 = 15c12 h4 + 63c13 h6 + · · · ,
zodat
Th2 := Th1 +
1
16 6
1
(Th1 − T2h
) = I −
h + · · · = I + c23 h6 + c24 h8 + · · ·
15
5
In het algemeen kunnen we zo de dominante term van orde h2k elimineren met
Thk := Thk−1 +
4k
1
k−1
(T k−1 − T2h
).
−1 h
(3.22)
33
3 NUMERIEKE INTEGRATIE
Door extrapolaties te berekenen van steeds hogere orde kunnen we het volgende driehoekige tableau
van benaderingen opbouwen,
T4h
T2h
1
T2h
Th
Th1
Th2
Th/2
1
Th/2
2
Th/2
3
Th/2
···
···
···
···
(3.23)
···
De afbreekfout in de k-de kolom is van orde h2k , mits de geı̈ntegreerde functie voldoend glad is.
In de praktijk kunnen we de elementen van dit tableau rij voor rij met weinig moeite berekenen
uit het resutaat van de samengestelde trapeziumregel voor de stapgrootten h, h/2, h/4, · · · . Als we
Th berekend hebben, kunnen we ons bij de berekening van Th/2 werk besparen door op te merken,
dat Th/2 berekend kan worden uit Th en de waarden van f op ”nieuwe” steunpunten:
Th/2 =
=
=

h 1
2 f (a) +
2

h1
f (a) +
2 2
1
2
Th
1
2
1
2
f (b) +
f (b) +
2n−1
X
j=1
n−1
X

f (a + jh/2) 
f (a + jh) +
j=1
X
h n−1
f (a + jh − h/2) .
+
2 j=1
n
X
j=1

f (a + jh − h/2) 
De steunpunten van Th zijn ook steunpunten van Th/2 . In deze steunpunten behoeven we f niet
opnieuw te evalueren (noch de functiewaarden in het geheugen te bewaren) voor de berekening
van Th/2 . Door deze eigenschap is een extrapolatieschema gebaseerd op intervalhalvering voor de
trapeziumregel zeer aantrekkelijk. Andere strategieën voor de keuze van de stapgrootte worden
ook wel gebruikt, b.v. de rij h, h/2, h/3, h/4, h/6, h/8, h/12, h/16, · · · .
Bij het rekenen op een rekenmachine in de gebruikelijke “floating point arithmetiek” wordt de
“diepte” van de extrapolatie natuurlijk beperkt door (afrond- en afbreek)fouten bij de evaluatie van
de te integreren functie en door afrondfouten in de berekende trapeziumsommen. Als de correctie
k−1
Thk−1 − T2h
kleiner wordt, dan de afrondfout in Thk−1 , dan heeft verder extrapoleren natuurlijk
weinig zin, daar formule (3.22) dan haar praktische geldigheid heeft verloren. In het tableau (3.23)
kunnen we dit i.h.a. goed zien aan het feit, dat de geschatte fout in de k-de kolom vanaf zekere k
niet meer met een factor 22k afneemt. Tenslotte merken we op, dat we de extrapolaties in (3.23)
beter met behulp van formule (3.22) kunnen berekenen dan met de (equivalente) formule
Thk =
k−1
4k Thk−1 − T2h
,
4k − 1
omdat (3.22) i.h.a. een kleinere afrondfout induceert in Thk .
3.e
Voorbeeld van het Rombergschema
Een voorbeeld van de effectiviteit van het schema van Romberg voor het benaderen van de integraal
van een (gladde) functie vinden we bij de berekening van een benadering van de integraal voor π,
Z
0
1
4
dx = π ,
1 + x2
met Rombergintegratie. In de eerste tabel zijn de benaderingen afgedrukt, verkregen met de trapeziumregel op 2k deelintervallen, en achtereenvolgens de h2 -, h4 -, h6 -, h8 - en h10 -extrapolaties hiervan.
34
3 NUMERIEKE INTEGRATIE
k
1
2
3
4
5
6
7
t[0, k]
3.000000000000000
3.100000000000009
3.131176470588244
3.138988494491102
3.140941612041402
3.141429893174987
3.141551963485654
t[1, k]
t[2, k]
t[3, k]
t[4, k]
t[5, k]
3.133333333333340
3.141568627450994
3.141592502458721
3.141592651224840
3.141592653552848
3.141592653589214
3.142117647058839
3.141594094125907
3.141592661142582
3.141592653708045
3.141592653591644
3.141585783761897
3.141592638396816
3.141592653590038
3.141592653589797
3.141592665277742
3.141592653649624
3.141592653589797
3.141592653638256
3.141592653589740
In de tweede tabel zijn de verschillen afgedrukt tussen de bovenstaande berekende waarden en
de exakte waarde π en de 2 log ervan. Het is duidelijk, dat de fouten in de eerste kolom met een
faktor 4 afnemen bij verdubbeling van de stapgrootte h. Dit bevestigt het feit, dat de overwegende
term in de fout gelijk is aan een constante maal h2 . In de tweede kolom verwachten we een afname
van de fout met een faktor 16 (van de 2 log vermindert dan met 4), maar we vinden een afname
met 26 , hetgeen erop wijst, dat de coëfficiënt van h4 in de asymptotische reeks voor de fout nul
is. Inderdaad geldt f ′′′ (1) − f ′′′ (0) = 0 voor f (x) = 4/(1 + x2 ). Desalniettemin wordt in het
(standaard) Romberg schema toch h4 -extrapolatie toegepast, met als resultaat, dat de fout niet
daalt. De h6 -afhankelijkheid blijft echter wel bestaan, zodat de h6 -extrapolatie in de volgende
kolom de fout inderdaad verder reduceert. In de vierde kolom zien we een h8 -afhankelijkheid en in
de vijfde een (vage) h10 -afhankelijkheid. Extrapolatie van nog hogere orde heeft weinig zin, daar
de verschillen in grootte vergelijkbaar zijn geworden met de afrondfouten.
j
k
1
2
3
4
5
6
7
0
fout
-1.42e-001
-4.16e-002
-1.04e-002
-2.60e-003
-6.51e-004
-1.63e-004
-4.07e-005
1
2
3
4
5
2 log
fout
2 log
fout
2 log
fout
2 log
fout
2 log
-2.8
-4.6
-6.6
-8.6
-10.6
-12.6
-14.6
-8.26e-003
-2.40e-005
-1.51e-007
-2.36e-009
-3.69e-011
-5.83e-013
-6.9
-15.3
-22.7
-28.7
-34.7
-40.6
5.25e-004
1.44e-006
7.55e-009
1.18e-010
1.85e-012
-10.9
-19.4
-27.0
-33.0
-39.0
-6.87e-006
-1.52e-008
2.42e-013
0.00e+000
-17.2
-26.0
-41.9
-332.2
1.17e-008 -26.4
5.98e-011 -34.0
0.00e+000 -332.2
fout
2 log
4.85e-011 -34.3
-5.68e-014 -44.0
In de praktijk beschikken we niet over de exakte waarde, maar we kunnen wel de fout schatten
met de formule (t[j, i] − t[j, i − 1])/(4j+1 − 1). In de derde tabel worden deze schatting en de 2 log
ervan afgedrukt. In deze tabel vertoont de afname van de fout hetzelfde patroon als in de vorige.
j
i
2
3
4
5
6
7
0
schatting
3.33e-002
1.04e-002
2.60e-003
6.51e-004
1.63e-004
4.07e-005
2 log
1
schatting
2 log
2
schatting
2 log
3
schatting
-4.9
-6.6
-8.6
-10.6
-12.6
-14.6
5.49e-004
1.59e-006
9.92e-009
1.55e-010
2.42e-012
-10.8
-19.3
-26.6
-32.6
-38.6
-8.31e-006
-2.27e-008
-1.18e-010
-1.85e-012
-16.9
-25.4
-33.0
-39.0
2.69e-008 -25.1
5.96e-011 -34.0
-9.47e-016 -49.9
2 log
4
schatting
2 log
-1.14e-011 -36.4
-5.85e-014 -44.0
5
schatting
2 log
-1.18e-014 -46.3
In de vierde tabel worden het resultaat van de trapeziumregel op n deelintervallen, de fout en de
2 log van de fout nog eens bijeen gezet.
n
1
2
4
8
16
32
64
trap-regel
3.000000000000000
3.100000000000009
3.131176470588244
3.138988494491102
3.140941612041402
3.141429893174987
3.141551963485654
fout
-1.42e-001
-4.16e-002
-1.04e-002
-2.60e-003
-6.51e-004
-1.63e-004
-4.07e-005
2 log
-2.8
-4.6
-6.6
-8.6
-10.6
-12.6
-14.6
In de vijfde tabel worden het resultaat van de trapeziumregel op n deelintervallen, de h-kwadraat
extrapolatie ervan, de fout in deze extrapolatie en de 2 log van deze fout nog eens bijeen gezet.
Zoals reeds opgemerkt, is deze fout toevallig van orde h6 .
35
3 NUMERIEKE INTEGRATIE
n
1
2
4
8
16
32
64
3.f
trap-regel
3.000000000000000
3.100000000000009
3.131176470588244
3.138988494491102
3.140941612041402
3.141429893174987
3.141551963485654
extrapolatie
fout
2 log
3.133333333333340
3.141568627450994
3.141592502458721
3.141592651224840
3.141592653552848
3.141592653589214
-8.26e-003
-2.40e-005
-1.51e-007
-2.36e-009
-3.69e-011
-5.83e-013
-6.9
-15.3
-22.7
-28.7
-34.7
-40.6
Integratie met veranderlijke stapgrootte
1
Stel, dat we op het interval [0, 1] de integraal willen bepalen van de functie sin ( .01+x
) met een
afbreekfout van ten hoogste ε := 10−6 . Als we hiervoor de samengestelde middelpuntsregel willen
gebruiken met stapgrootte h (op n = 1/h deelintervallen), dan moeten we volgens (3.14) in ieder
deelinterval eisen:
n
h3 X
|
f ′′ (ξj ) | ≤ 10−6 ,
ξj ∈ (jh − h, jh).
24 j=1
Aan deze voorwaarde is zeker voldaan, als
h2
24
max
0 ≤ x ≤ 1
Met
f ′′ (x) = − 2(.01 + x)−3 cos
| f ′′ (x) | ≤ 10−6 .
1
1
− (.01 + x)−4 sin
.01 + x
.01 + x
betekent dit
k f ′′ k∞,
[0, 1]
≤ 1.0210 8 ,
en dus h ≤ 510 − 7 .
Met zo’n equidistant integratieschema zouden we dus twee millioen deelintervallen moeten ge1
) ! Op het deelinterval [ 21 , 1] is de afbreekfout echter
bruiken en evenveel evaluaties van sin ( .01+x
veel kleiner en kunnen we volstaan met een veel grotere deelintervallengte h. Omdat
k f ′′ k
1
∞, [ 2 , 1]
≤ 32 ,
vinden we, dat h := .001 voldoend klein is om een fout van 510 − 7 (de helft van de toegestane fout
over het gehele interval) te garanderen. Evenzo is op [ 41 , 21 ] een stapgrootte h := .0001 voldoende
om een fout van 2.510 − 7 over dat deelinterval te garanderen.
Opgave 3.6: Bepaal de stapgrootte h, waarmee de integraal, 02 | cos x | dx berekend moet worden
om een afbreekfout van ten hoogste 10 − 8 te garanderen, als we een samengestelde tweepunts
Gauss-formule gebruiken op equidistante deelintervallen. Aanwijzing: neem de foutschatting voor
het deelinterval dat π/2 bevat apart.
Beantwoord dezelfde vraag voor het geval dat het interval eerst wordt opgebroken in de stukken
[0, π/2] en [π/2, 2].
R
In feite is het gebruik van een uniforme stapgrootte dus geen slimme strategie voor integralen
met een sterk wisselende gladheid. Veel beter lijkt het om de stapgrootte aan te passen aan de
plaatselijke gladheid van de integrand: verdeel het integratie-interval in stukken van lengte hi
die zo gekozen worden, dat de fout op het i-de deelinterval kleiner dan εhi is; de totale fout is
dan hoogstens gelijk aan ε maal de intervallengte. In de praktijk willen we natuurlijk niet, dat
we voor iedere integrand opnieuw een opdeling van het integratie-interval moeten opgeven. Een
automatische strategie voor de keuze van de stapgrootte kunnen we baseren op het idee, dat we
de afbreekfout kunnen schatten door twee verschillende integratieformules te gebruiken (of twee
verschillende stapgrootten), zoals we reeds zagen in 3c. Als we dan een integraal over het interval
[a, b] moeten benaderen met tolerantie van ten hoogste ε(b − a), dan kunnen we op een deelinterval
[y, y + h] een fout toestaan van ten hoogste εh. Als de geschatte fout inderdaad kleiner dan εh is
36
3 NUMERIEKE INTEGRATIE
op dat interval, dan accepteren we de gevonden benadering, tellen deze op bij het reeds berekende
stuk en gaan verder met het volgende deelinterval. Als de gevraagde tolerantie niet gehaald wordt,
verdelen we het interval in stukken, b.v. in [y, y + h/2] en [y + h/2, y + h], en passen de procedure
toe op ieder van de stukken.
Een voorbeeld van zo’n formulepaar zou trapezium- en middelpuntsregel kunnen zijn. Hiervan
weten we immers, cf. (3.2-3),
Z
y+h
f (x) dx = h f (y + h/2) +
y
h3 ′′
h
h3 ′′
f (ξ) =
(f (y) + f (y + h)) −
f (η) ,
24
2
12
zodat h6 (f (y) − 2f (y + h/2) + f (y + h)) een goede schatting is van de afbreekfout in de
middelpuntsregel als benadering van de integraal over dit interval. We accepteren h f (y + h/2) dus
als voldoend goede benadering voor de integraal over dit interval als deze (lokale) foutschatting
kleiner is dan de (lokale) tolerantie εh en tellen dit op by het reeds berekende stuk van de integraal.
Als de lokale fouttolerantie niet gehaald wordt, delen we het interval in de stukken [y, y + h/2]
en [y + h/2, y + h] en passen we de formules toe op beide deelintervallen apart. Merk op dat
we in een goede implementatie van deze methode bij intervalhalvering de functie alleen opnieuw
hoeven te evalueren in de nieuwe middelpunten, omdat het oude midden, waar we de functie reeds
kenden, randpunt van de beide deelintervallen geworden is. Overigens let niets ons om i.p.v. het
resultaat van de middelpuntsregel, h f (y + h/2), het (nauwkeuriger) resultaat van Simpson’s regel,
h
6 (f (y) + 4f (y +h/2) + f (y +h)), toe te voegen aan het reeds berekende stuk van de integraal, als
de lokale fouttolerantie gehaald wordt (de benodigde functiewaarden hebben we toch al berekend).
De implementatie van een dergelijke adaptieve integratiemethode is niet geheel triviaal. In de
eerste plaats willen we het aantal functieëvaluaties minimaliseren. Dus moeten we een formule
(of formulepaar) kiezen, waarvan de steunpunten zo geplaatst zijn, dat ze bij verfijning steunpunt
blijven en de reeds berekende functiewaarde opnieuw gebruikt kunnen worden. Een adaptieve
routine kan slechts aan één deelinterval tegelijk werken. Als de routine dus besluit een interval
op te delen in stukken, dan moet de informatie betreffende de rest opgeborgen kunnen worden op
een stapel. Ook moeten er grenzen worden ingebouwd, zodat er niet tot in het oneindige verfijnd
wordt, als de lokale fouttest telkens negatief blijkt uit te vallen.
De keuze voor een integratieroutine met zelfzoekende stapgroote of een samengestelde formule
met vaste stapgrootte zal afhangen van de integrand, maar ook van het doel waarvoor geı̈ntegreerd
wordt. Als er één integraal berekend moet worden, dan ligt een adaptieve methode voor de hand,
waarbij alleen maar de maximaal toelaatbare fout behoeft te worden gespecificeerd. Als de integrand echter nog van andere parameters afhangt en als deze integraal voor een groot aantal
waarden van deze parameters berekend moet worden, dan zou integratie met vaste stapgroote wel
eens de voorkeur kunnen verdienen, omdat de afbreekfout dan een veel gladdere functie is van
deze parameters. Bij een adaptieve methode immers kan de beslissing verfijnen of niet door een
kleine parameterwijziging net anders uitvallen, hetgeen een sprong (discontinuı̈teit) veroorzaakt in
de afbreekfout.
Opgave 3.6: Schrijf een procedure voor de integratie van een gegeven functie op een gegeven
interval met een voorgeschreven (geschatte) tolerantie met behulp van een adaptieve methode,
gebaseerd op intervalhalvering en de regel van Simpson. (Schrijf eerst een recursieve versie; daarvoor
is geen (expliciete) stapel nodig, omdat deze reeds aanwezig is in het recursiemechanisme.)
3.g
Numerieke stabiliteit
Als we een functie f in ieder punt x van het integratie-interval kunnen berekenen met een absolute
fout δf (x), waarvoor geldt
| δf (x) | ≤ d
∀ x ∈ [a, b] ,
(3.24)
37
3 NUMERIEKE INTEGRATIE
dan vinden we voor de integraal over dat interval een (onvermijdelijke) absolute fout δI waarvoor
we de volgende bovengrens vinden,
| δI | = |
Z
b
(f (x) + δf (x)) dx −
a
Z
b
f (x) dx | = |
a
Z
b
δf (x) dx | ≤ d | b − a | . (3.25)
a
Als we de integraal benaderen met een integratieformule (eventueel een samengestelde formule)
met positieve gewichten, die exact is voor constanten,
Z
b
a
f (x) dx =
n
X
wi f (ti ) + rest met
wi > 0 ∀ i en
n
X
wi = b − a ,
i=1
i=1
dan geldt voor het verschil tussen berekende en exacte waarde (afgezien van afrondfouten bij het
sommeren)
|
n
X
wi δf (ti ) | ≤ d | b − a | .
(3.26)
i=1
Deze fout is van gelijke orde als de onvermijdelijke fout (3.25). Integratie met een formule met
positieve gewichten is dus een numeriek stabiel proces.
Opgave 3.7: In het integratieschema van Romberg bouwen we in feite een serie integratieformules
Th , Th1 , Th2 , · · · van steeds hogere orde op de steunpunten {a + jh | j = 0, 1, · · · , n} met h :=
(b − a)/n. Laat zien dat Th1 overeenkomt met de samengestelde Simpsonregel en dus positieve
gewichten heeft. Laat vervolgens zien dat alle extrapolaties in dit schema formules zijn met positieve
gewichten:
Thj =
n
X
wij f (ti ) met
wij > 0 ,
i=1
voor alle i en j . (Gebruik volledige induktie naar j.) We zien hieruit dat het Romberg schema
numeriek stabiel is.
3.h
De sommatieformule van Euler-McLaurin en de trapeziumregel
De Bernoulli-polynomen Bi (i = 0, 1, · · · ) worden gedefinieerd door
B0 = 1 ,
(3.27a)
Bk′ = k Bk−1 ,
Z
0
k ≥ 1,
(3.27b)
k ≥ 1.
(3.27c)
1
Bk (x) dx = 0 ,
Ze voldoen aan de volgende eigenschappen:
Bk (1) − Bk (0) =
Z
0
1
k Bk−1 (x) dx = 0 ,
Bk ( 21 − x) = (−1)k Bk ( 12 + x) ,
B2k+1 (1) = 0 = B2k+1 (0) ,
k ≥ 2,
k ≥ 0,
k ≥ 1.
(3.28a)
(3.28b)
(3.28c)
Deze laatste eigenschap (3.28c) kan natuurlijk niet gelden voor B1 , omdat dit polynoom van graad
1 dan minstens twee nulpunten zou hebben. Voor even k zijn de Bk in 0 en 1 gelijk en niet nul.
Deze getallen worden gedefinieerd als de Bernoulli-getallen Bk ,
Bk := (−1)k+1 B2k (0) ,
k = 1, 2, · · · .
(3.29)
38
3 NUMERIEKE INTEGRATIE
Een bewijs voor (3.28a) vinden we door (3.27b) te integreren en (3.27c) toe te passen. We
bewijzen de eigenschappen (3.28b-c) met volledige induktie naar de graad van Bk . Uit de definitie
volgt onmiddellijk
B1 (x) = x − 12 ,
(3.30)
hetgeen voldoet aan (3.28b) (induktiebasis). Stel nu, dat (3.28b) waar is voor B2k−1 (induktiehypothese), dan kunnen we dit polynoom integreren,
B2k (x) =
Z
x
2k B2k−1 (x) dx + c2k ,
1
2
met een (vooralsnog) onbekende integratieconstante c2k . Omdat B2k−1 antisymmetrisch is t.o.v.
het punt x = 12 , is B2k symmetrisch is t.o.v. dit punt ongeacht de waarde van c2k . Voor B2k+1
geldt dan
B2k+1 (x) =
Z
x
1
2
(2k + 1) B2k (t) dt + c2k+1 =
Z
x
Z
1
2
t
1
2
2k (2k + 1) B2k−1 (s) ds dt + c2k (x − 21 ) + c2k+1
Als we vervolgens eis (3.27c) toepassen en deze expressie integreren over het interval [0, 1], vinden
we dat de integraal van de eerste twee termen nul is omdat de integranden antisymmetrisch zijn
t.o.v. het punt x = 12 . De integratieconstante c2k+1 moet dus nul zijn om de integraal over het
geheel nul te maken. Dit bewijst (3.28b) voor B2k en B2k+1 . Tenslotte is (3.28c) een gevolg van
de antisymmetrie van B2k+1 en de gelijkheid van de functiewaarden in x = 0 en x = 1. Hiermee is
(3.28) bewezen.
Met behulp van de polynomen en de getallen van Bernoulli kunnen we nu een asymptotische
ontwikkeling geven voor de afbreekfout in de samengestelde trapeziumregel:
Stelling (Sommatieformule van Euler-McLaurin). Zij f ∈ C 2m+1 ([a, b]) en h := (b − a)/n met
m en n geheel, dan is er een ξ ∈ [a, b] zodat
Z
n−1
X
h
f (a + jh)
(f (a) + f (b)) + h
2
j=1
b
f (x) dx =
a
+
m
X
(−1)j
j−1
(2j)!
2j
Bj h (f
(2j−1)
(b) − f
(3.31)
(2j−1)
(a)) + O(h
2m+1
f
(2m+1)
(ξ)).
R
Bewijs.Bekijk de integraal f dx op een deelinterval van lengte h, zeg op [0, h], en integreer
partieel met gebruik van (3.27):
Z
h
f (x) dx =
0
Z
0
=
h
x
B0 ( ) f (x) dx =
h
h
(f (0) + f (h)) −
2
"
·
x
h B1 ( ) f (x)
h
h2
x
B2 ( ) f ′ (x)
2
h
¸h
#h0
−
Z
h
0
+
0
Z
0
h
x
h B1 ( ) f ′ (x) dx
h
h2
x
B2 ( ) f ′′ (x) dx .
2
h
Als we doorgaan met het partiëel integreren van de integraal vinden we als algemene formule:
h2k
(2k)!
Z
0
h
x
B2k ( ) f (2k) (x) dx
h
=
h2k+1
(2k + 1)!
−
·
h2k+1
(2k + 1)!
x
B2k+1 ( ) f (2k) (x)
h
Z
h
0
¸h
0
x
B2k+1 ( ) f (2k+1) (x) dx ,
h
waarin de stokterm nul is wegens (3.28c). Nogmaals partiëel integreren geeft
= −
h2k+2
(2k + 2)!
·
x
B2k+2 ( ) f (2k+1) (x)
h
¸h
0
+
h2k+2
(2k + 2)!
Z
0
h
x
B2k+2 ( ) f (2k+2) (x) dx
h
39
3 NUMERIEKE INTEGRATIE
en door invullen van het Bernoulligetal wordt dit
= −
Bk+1 h2k+2 (2k+1)
h2k+2
(f
(h) − f (2k+1) (0)) +
(2k + 2)!
(2k + 2)!
Z
0
h
x
B2k+2 ( ) f (2k+2) (x) dx .
h
In het totaal vinden we dus de asymptotische reeks
Z
0
h
f (x) dx =
m
X
Bk h2k (2k+1)
h
(−1)k
(f (0) + f (h)) +
(f
(h) − f (2k+1) (0))
2
(2k)!
Z h k=1
h2m+1
x
+
B2m+1 ( ) f (2m+1) (x)dx .
(2m + 1)! 0
h
Als we deze expressie uitschrijven voor ieder deelinterval (a + jh , a + jh + h), dan zien we dat
alle afgeleiden op de interne deelpunten tegen elkaar wegvallen, zodat de gevraagde formule (3.31)
overblijft.
Opmerking: Formule (3.31) maakt de samengestelde trapeziumregel bijzonder aantrekkelijk voor
periodieke functies, immers de afbreekfout gaat dan harder naar nul dan iedere macht van h. Deze
eigenschap hebben we in feite al gebruikt bij de discretisatie van de Fouriertransformatie, zie (2.4).
REFERENCES
112
References
[1] M. Hestenes & E. Stiefel, Methods of conjugate gradients for solving linear systems, J. Research NBS,
49, pp. 409 – 436, 1952.
[2] C. Lanczos, An iteration method for the solution of the eigenvalue problem of linear differential and
integral operators, J. Research NBS, 45, pp. 255 – 282, 1950.
[3] J.K. Reid, On the method of conjugate gradients for the solution of large sparse systems of linear equations, Proc. Conf. on Large Sparse Sets of Linear Equations, Academic Press, New York, 1971.
[4] J.A. Meijerink and H.A. van der Vorst, An iterative solution method for linear systems of which the
coefficient matrix is a symmetric M-matrix, Math.of Comp., 31, pp. 148 – 162, 1977.
[5] G.H. Golub & C.F. Van Loan, Matrix Computations, The Johns Hopkins University Press, Baltimore,
Maryland, USA, 1ste druk, 1983, 2de druk, 1988, 3de druk, 1995.
[6] R. Bulirsch & J. Stoer, Introduction to Numerical Analysis, Springer Verlag, Berlin, 1977. (Ook verkrijgbaar in een goedkope duitstalige pocketeditie).
[7] D. Kincaid & W. Cheney, Numerical Analysis, Brooks & Cole Publishing Company, Pacific Grove,
California, USA, 1991; 2de druk, 1996.
Download