Computer programming

English version

Numerical Analysis & Programming

The course will focus on algorithmic approaches to compute Riemannian integrals and solving differential equations. Classical algorithms will be reviewed, mostly based on the finite differences approach. Orthogonality over an integration domain leads to Gaussian quadratures and increased precision. Both linear and non-linear differential equations are covered, first with Eulerian (explicit) schemes, then with semi- and fully implicit methods (prediction-correction, ABM, iterative schemes). A short overview of hyperbolic equations (1-space + time) will lead to the CFL stability analysis.

The evaluation is based on two sets of practical exercises; a written exam; and a term-paper which carries over to the second semester (final oral presentation done at the end of the academic year). Prior knowledge of C/C++ computing is required.

French version

Le cours se concentrera sur les approches algorithmiques permettant de calculer les intégrales riemanniennes et de résoudre des équations différentielles. Les algorithmes classiques seront passés en revue, en se basant sur l’approche des différences finies. L’orthogonalité sur un domaine d’intégration conduit à des quadratures gaussiennes et à une précision accrue. Les équations différentielles linéaires et non linéaires seront abordées, d’abord avec des schémas eulériens (explicites), puis avec des méthodes semi et totalement implicites (correction par prédiction, ABM, schémas itératifs). Un bref aperçu des équations hyperboliques (1 espace + temps) mènera à l’analyse de stabilité de la LCF.

L’évaluation repose sur deux séries d’exercices pratiques; un examen écrit; et un exposé final qui sera reporté au deuxième semestre (présentation orale finale à la fin de l’année scolaire). Une connaissance préalable de l’informatique C / C ++ est requise.