De student
- begrijpt hoe getallen in een computer gepresenteerd worden, en dat dit in berekeningen leidt tot accumulatie van afrondfouten.
- weet wat er bedoeld wordt met de conditie van een probleem en de stabiliteit van een algoritme, en kan deze in eenvoudige gevallen bepalen.
- kan uitleggen dat het oplossen van een stelsels lineaire vergelijkingen Ax=b met Gauss-eliminatie leidt tot de LU-decompositie van A.
- kan het conditiegetal van een matrix bepalen voor een aantal normen, en weet wat de relevantie hiervan is.
- is bekend met vaste-punt iteratie en de methode van Newton voor het numeriek oplossen van stelsels niet-lineaire algebraïsche vergelijkingen, en heeft inzicht in de convergentie-eigenschappen van deze methoden.
- weet wat overbepaalde stelsels lineaire of niet-lineaire vergelijkingen zijn, en kent methoden om deze in de kleinste-kwadraten zin op te lossen.
- is vertrouwd met polynoom-interpolatie en weet dat het "Runge effect" vermeden kan worden door geschikte steunpunten te kiezen.
- kan interpoleren met kubische splines, en weet wat de voordelen hiervan zijn.
- is op de hoogte van theoretische en praktische aspecten van numerieke integratie met algemene kwadratuurformules.
- weet wat Richardson extrapolatie is, en kan dit in voorkomende gevallen toepassen.
- is vertrouwd met Runge-Kutta methoden voor het numeriek oplossen van beginwaardeproblemen voor gewone differentiaalvergelijkingen.
- is bekend met de begrippen consistentie en convergentie (van orde p) voor Runge-Kutta methoden, en kan deze eigenschappen in bepaalde gevallen bewijzen.
- kan eenvoudige partiële differentiaalvergelijkingen (zoals de warmtevergelijking) numeriek oplossen met de methode der lijnen.
- kan eenvoudige numerieke algoritmen programmeren in Python.
|
|
|
De meeste wiskundige problemen uit de praktijk zijn niet exact oplosbaar, maar de oplossing kan meestal wel willekeurig dicht benaderd worden door gebruik te maken van geschikte algoritmen. In deze cursus wordt een inleiding gegeven tot het vakgebied dat zich met de constructie en analyse van zulke algoritmen bezighoudt: de numerieke wiskunde.
Na een korte inleiding over het effect van afrondfouten in de computer behandelen we twee basisbegrippen uit de numerieke wiskunde: de conditie van een wiskundige probleem en de stabiliteit van een algoritme. Daarna bespreken we een aantal geschikte algoritmen (numerieke methoden) voor een breed scala aan wiskundige problemen. Naast methoden voor het oplossen van stelsels lineaire en niet-lineaire vergelijkingen bestuderen we data interpolatie met behulp van polynomen, en numerieke integratie. Ook zullen we ruim aandacht besteden aan de numerieke oplossing van beginwaardeproblemen voor gewone differentiaalvergelijkingen. We zullen tenslotte zien dat dit laatste ons ook in staat stelt om bepaalde partiële differentiaalvergelijkingen (zoals de warmtevergelijking) op te lossen.
Het gebruik van de computer vormt een wezenlijk onderdeel van deze cursus.
Werkvormen
Wekelijks een hoorcollege en een werkcollege met zowel theorie- als programmeeropdrachten.
|
|
|
|
Basiskennis van lineaire algebra, calculus en analyse.
Elementaire kennis van de programmeertaal Python zoals onderwezen in de cursus Programmeren 1 (NWI-NP033B).
De cursus Programmeren 2 (NWI-NB021C) wordt aanbevolen, maar is niet per se noodzakelijk.
|
|
Programmeeropdrachten en een afsluitend schriftelijk tentamen.
Voor de programmeeropdrachten moet de score `Voldaan' behaald worden.
In dat geval is het eindcijfer gelijk aan het tentamencijfer.
|
|
|