Convergentie van een reeks

Reeksen zijn een fantastisch hulpmiddel in de wiskunde, maar ze zijn ook vaak een bron van ergernis en/of problemen om de volgende redenen: Op al deze aspecten moet je bedacht zijn wanneer je met reeksen werkt. Ik zal eens wat probleemgevallen bespreken.

Taylor

Neem bijvoorbeeld de reeks van de functie f (x) = ln (a + x). In de tabel met Taylor-reeksen vinden we:


De grafiek van f (x) = ln (a + x) voor a = 1 (de rode lijn),
a = 2 (de groene lijn) en a = 3 (de blauwe lijn)
De belangrijkste (maar niet de enige) voorwaarde voor convergentie is indien de termen uitdoven als het ware, dus als een term voor grote waarden van n kleiner is dan de voorgaande term (in absolute waarden gesproken uiteraard):
Voor deze reeks ziet dat er als volgt uit:
Dit moet kleiner dan één zijn, oftewel | x | < a.

De grafiek van f (x) = ln (a + x) met daaroverheen de Taylor-reeks
voor a = 1 (de oranje lijn), a = 2 (de paarse lijn) en a = 3 (de grijze lijn),
100 termen meegenomen
Dat deze reeks niet convergeert voor | x | > a heeft niets te maken met het aantal termen dat ik meeneem of de nauwkeurigheid van mijn rekenprogramma, de reeks convergeert simpelweg niet voor | x | > a.
Ook al convergeert de reeks, dat wil nog niet zeggen dat daarmee alle problemen verdwenen zijn. Neem bijvoorbeeld de reeks van de functie f (x) = arctan (ax). In de tabel met Taylor-reeksen vinden we:
De boogtangens van 1 levert π/4 op:
De logische gedachte is dat wanneer je dit met vier vermenigvuldigt dat je dan een prachtige reeks hebt om π uit te rekenen:
Het grote nadeel van deze reeks is de extreem trage convergentie zoals uit onderstaande tabel blijkt.
nSomAantal cijfers goed
1013.04183961892940321
1023.13159290355855372
1033.14059265383979403
1043.14149265359003455
1053.14158265358971985
1063.14159165358977436
1073.14159255358979158
1083.14159264358932608
1093.14159265258805049
10103.141592653488346010
3.1415926535897932
Het aantal uit te rekenen termen is 10aantal cijfers goed hetgeen impliceert dat indien ik op deze manier π wil uitrekenen tot op vijftig cijfers nauwkeurig dat ik dan al veeeeeeeeeel meer rekentijd nodig heb dan de huidige leeftijd van het universum...
De complete elliptische integraal van de eerste soort is niet rechtstreeks te integreren en daarom gaat de integraal via reeksontwikkeling:

De grafiek van f (x) = 1/(1 − a2 sin2 x)1/2 voor a2 = 0.1 (de rode lijn),
a2 = 0.5 (de groene lijn) en a2 = 0.9 (de blauwe lijn)
In de eerste plaats: om te voorkomen dat je tegen de grenzen van je rekenprogramma aanloopt is het wel handig om niet iedere term opnieuw te berekenen, maar ten opzichte van de voorgaande term:
Zoals altijd: de belangrijkste (maar niet de enige) voorwaarde voor convergentie is indien de termen uitdoven, dus als een term voor grote waarden van n kleiner is dan de voorgaande term (in absolute waarden gesproken uiteraard):
Voor deze reeks ziet dat er als volgt uit:
Dit moet kleiner dan één zijn, oftewel | a | < 1. En daar zit dan gelijk de frustratie, want de spannendste dingen gebeuren vaak wanneer | a | richting één gaat.

De grafiek van K (a) met 10 termen (de rode lijn),
50 termen (de groene lijn) en 250 termen (de blauwe lijn)
Ik zal even inzoomen op het rechterdeel van de grafiek.

De grafiek van K (a) met 10 termen (de rode lijn),
50 termen (de groene lijn) en 250 termen (de blauwe lijn)
Hoe dichter | a | naar één nadert, hoe meer termen er meegenomen moeten worden om tot een nauwkeurig antwoord te komen en dit kan in de praktijk volledig uit de hand lopen.
Stel ik heb de functie f (x) = sin (ax)/x.

De grafiek van f (x) = sin (ax)/x voor a = 1 (de rode lijn),
a = 2 (de groene lijn) en a = 3 (de blauwe lijn)
Deze functie is in deze vorm niet te integreren en daarom gaat de integraal via reeksontwikkeling. In de tabel met integralen vinden we:

De grafiek van F (x) voor a = 1 (de rode lijn),
a = 2 (de groene lijn) en a = 3 (de blauwe lijn), c = 0,
100 termen meegenomen
Dit werkt perfect, maar voor grote waarden van | x | levert dit problemen op. Wederom in de eerste plaats: om te voorkomen dat je tegen de grenzen van je rekenprogramma aanloopt is het wel handig om niet iedere term opnieuw te berekenen, maar ten opzichte van de voorgaande term:
En zoals altijd: de belangrijkste (maar niet de enige) voorwaarde voor convergentie is indien de termen uitdoven, dus als een term voor grote waarden van n kleiner is dan de voorgaande term (in absolute waarden gesproken uiteraard):
Voor deze reeks ziet dat er als volgt uit:
Deze reeks convergeert dus altijd, maar het uitdoven van de termen begint pas wanneer 2n > | ax |, oftewel n > | ax/2 |. En er is meer slecht nieuws, want de termen van deze reeks oscilleren in het begin heel erg (ze worden heel erg groot, zowel positief als negatief) en daarna dempt de reeks langzaam uit en verschijnt het antwoord. Ik definieer de volgende functie:
Dit zijn de termen van de reeks van F (x) en ik heb de −1 in de teller weggelaten, want ik ben op dit moment alleen geïnteresseerd in de grootte van iedere term. Ik ga een grafiek maken van Log (f (n)) voor verschillende waarden van x.

De grafiek van Log (f (n)) voor x = 10 (de rode lijn),
x = 100 (de groene lijn) en x = 1000 (de blauwe lijn), a = 1
In de grafiek hierboven varieert x van 10 tot en met 1000 en ik maak nogmaals een grafiek van F (x), maar nu tot en met x = 1000.

De grafiek van F (x), a = 1, c = 0,
3000 termen meegenomen
Zoals je ziet convergeert F (x) voor grote waarden van x naar π/2 ≈ 1.57. Maar daarvoor worden de termen wel eerst heel groot zoals de grafiek daarboven laat zien. Voor x = 1000 is de grootste term maar liefst bijna 10430 en omdat het antwoord 1,57 is moet ik dus minstens met een nauwkeurigheid van 430 decimalen rekenen én ik moet ook nog minstens 1400 termen meenemen. Het moge duidelijk zijn dat je met een programma als Excel hier reddeloos verloren bent.

Kunnen we die grootste term nauwkeuriger in kaart brengen? Ik heb hiervoor al berekend dat de termen kleiner worden wanneer n > | ax/2 | (voor grote waarden van n), maar dit kan natuurlijk nauwkeuriger door de functie f (n) te differentiëren en de afgeleide vervolgens gelijk aan nul te stellen. Nou, dat ga ik doen, maar ik schrijf de functie eerst iets anders op:
Vervolgens stel ik u = 2n:
Nu ga ik differentiëren:

Stirling

Voor de faculteitsfunctie gebruik ik de formule van Stirling:

De afgeleide van de faculteitsfunctie zoek ik op in de tabel met afgeleiden:
Dit alles brengt mij bij:
Om het maximum te vinden stel ik dit gelijk aan nul:
Het is weer tijd voor een grafiek.

De grafiek van f’ (u) voor x = 10 (de rode lijn),
x = 100 (de groene lijn) en x = 1000 (de blauwe lijn), a = 1
Ik ga even inzoomen op de snijpunten met de x-as.

De grafiek van f’ (u) voor x = 10, a = 1

De grafiek van f’ (u) voor x = 100, a = 1

De grafiek van f’ (u) voor x = 1000, a = 1
Hieruit is af te lezen dat de snijpunten (en dus de maxima van f (u)) liggen bij u is respectievelijk 8, 98 en 998 (want u = 2n en dus een even geheel getal). Mijn eerdere grovere berekening dat de termen uitdoven vanaf 2n = u > | ax | is dus heel goed, want dat levert op dat u is 10, 100 en respectievelijk 1000.