Acquis d'apprentissage

Ce cours se veut une introduction aux algorithmes mathématiques, qui sont des outils importants du calcul scientifique. Le cours aborde ainsi les bases du calcul en virgule flottante, les approximations dans le calcul différentiel numérique et la complexité algorithmique.

Objectifs

Apprendre et pratiquer les bases du calcul numérique à des fins scientfiiques et de mathématiques appliquées.

Contenu

 
 
Le cours se décompose en quatre parties principales. I) Arithmétique en virgule flottante - Représentation machine des entiers, réels, systèmes de précision machine dans la norme IEEE et procédures d'arrondis - Exemples des erreurs d'arrondis dans les algorithmes de calcul du nombre pi 
II) Algorithmes de calcul différentiel - Les différences finies - Erreur numérique : entre erreur d'arrondi et erreur de troncature - Intégration numérique d'équations différentielles ordinaires (problème de Cauchy, ou problème aux valeurs initiales) III) Notions d'algorithmique - Mesures algorithmiques et caractérisation de la complexité algorithmique - Echelle de complexité algorithmique et exemples - quelques stratégies algorithmiques (algorithmes gloutons, stratégie diviser pour régner, backtracking, branch-and-bound)

Exercices

Travaux pratiques sur ordinateur : conceptions et implémentations d'algorithmes mathématiques en Matlab.

Méthodes d'enseignement

Le cours théorique se donne au tableau avec de nombreux exemples pratiques d'algorithmes de mathématiques appliquées, abordés sous l'ange pratique en discutant les résultats d'une implémentation réelle. Le cours est accompagné par de nombreux travaux pratiques de programmation (en Matlab) qui reprennent les thèmes et exemples vus au cours.

Il est hautement recommandé d'avoir une participation active aux cours et aux séances de programmation.

 

 

Méthode d'évaluation

L'examen est oral et consiste en une défense d'un sujet pratique de calcul numérique publié quelques semaines au préalable sur Webcampus. Les étudiants disposent donc de ce temps de préparation imparti pour résoudre le problème posé en utilisant les méthodes vues au cours et aux travaux pratiques et tout autre méthode qui leur paraîtra appropriée. Le délai de préparation sera décidé en fonction de notre estimation du niveau de difficulté du sujet imposé. Dans tous les cas, le sujet ne sera plus disponible 24h avant l'examen, puisque l'on estime qu'il convient de ne jamais se mettre au travail à la dernière minute. Lors de la défense orale, les étudiants remettront un court rapport individuel contenant leurs codes commentés qu'ils devront en outre faire tourner en direct. Ils discuteront leurs résultats de façon critique, en suivant leurs acquis du cours et devront justifier les méthodes qu'ils auront choisies pour résoudre le problème posé. Ils seront aussi questionnés sur le cours, pour en apprécier la maîtrise. La note finale tiendra compte de la pertinence des résultats et de leur discussion critique, de la maîtrise du cours et des méthodes utilisées, de la clarté et de l'efficacité de leur programmation.

Sources, références et supports éventuels

A. Quarteroni, R. Sacco, F. Saleri, "Méthodes Numériques, Algorithmes, analyse et applications", Springer 2007. J. C. Butcher, "Numerical Methods for Ordinary Differential Equations", Wiley, 2003. M.L. Overton, "Numerical Computing with IEEE Floating Point Arithmetic", SIAM, 2001.

Langue d'instruction

Formation Programme d’études Bloc Crédits Obligatoire
Bachelier en sciences mathématiques Standard 0 4
Bachelier en sciences mathématiques Standard 3 4