Cours 2020-2021

Algorithmique mathématique pour le calcul scientifique [SMATB306]

  • 4 crédits
  • 22.5h+37.5h
  • 1er quadrimestre
Langue d'enseignement: Français
Enseignant: Fuzfa Andre

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.

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)

Description des exercices

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

Disciplines

Théorie des algorithmes
Programmation du calcul numérique
Programmation et méthodes de simulation

Pré-requis

Les unités d’enseignement d’une des propositions suivantes:

  1. Projet de programmation [SINFB206]
  2. Compléments de programmation [SINFB207]

Co-requis

Equations différentielles [SMATB222] et Algèbre linéaire II [SMATB240]

Méthodes d'enseignement

Les modalités d'enseignement et d'évaluation des unités d'enseignement ont été rédigées en fonction de la situation à la rentrée académique 2020-2021. Cependant, ces modalités pourraient faire l'objet de modifications en fonction de l'évolution de la crise sanitaire liée à la covid-19. Les étudiants seront informés de toute modification de la situation générale (passage à l'enseignement à distance partiel ou complet) par les autorités de l'UNamur tandis que les modifications propres à chaque unité d'enseignement leur seront communiquées par les enseignants, via webcampus

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 C et/ou en Matlab) qui reprennent les thèmes et exemples vus au cours.

En 2020-2021, le cours sera donné sous forme de classe inversée en raison de la situation sanitaire. Les étudiants recevront toutes les deux semaines un cahier de charges comprenant une révision de la théorie et sa mise en pratique via des exercices de programmation. Un cours sur deux sera donc dédié au debriefing de la matière préparée par les étudiants et une semaine sur deux au travail personnel avec coaching des encadrants.

 

Mode d'évaluation

Les modalités d'enseignement et d'évaluation des unités d'enseignement ont été rédigées en fonction de la situation à la rentrée académique 2020-2021. Cependant, ces modalités pourraient faire l'objet de modifications en fonction de l'évolution de la crise sanitaire liée à la covid-19. Les étudiants seront informés de toute modification de la situation générale (passage à l'enseignement à distance partiel ou complet) par les autorités de l'UNamur tandis que les modifications propres à chaque unité d'enseignement leur seront communiquées par les enseignants, via webcampus

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'enseignement

Français

Lieu de l'activité

NAMUR

Faculté organisatrice

Faculté des sciences
Rue de Bruxelles, 61
5000 NAMUR

Cycle

Etudes de 1er cycle