Niveau d'étude
BAC +4
ECTS
5 crédits
Composante
Faculté des Sciences
Volume horaire
42h
Description
Cette UE comporte une mise à niveau et un approfondissement des techniques de programmation ainsi qu’une introduction à la physique numérique. On commencera avec une révision de la programmation procédurale avec le langage Python 3. Ensuite on regardera en profondeur des méthodes numériques pertinentes pour la physique, en étudiant une sélection d’algorithmes classiques de l’analyse numérique et en les appliquant aux problèmes physiques.
Objectifs
Apprendre à programmer sur un niveau avancé avec Python et savoir appliquer ses connaissances en programmation scientifique. Connaître les notions d’erreur numérique, stabilité numérique et complexité algorithmique. Connaître et savoir implémenter des méthodes choisies pour le calcul numérique des intégrales, pour la résolution des équations différentielles ordinaires et partielles et pour l’échantillonnage Monte Carlo.
Pré-requis nécessaires
Compétences de bases en programmation. Connaissances en informatique, physique et mathématiques au niveau de la licence en physique.
Prérequis recommandés
Bonne pratique de Python 3 et ses modules, notamment NumPy. Formations de la licence en programmation et en physique numérique, en particulier soit « Programmation pour la physique » soit « Outils de simulation » en L3 ou équivalent.
Contrôle des connaissances
Contrôle continu intégral
Syllabus
Programmation procédurale avec Python 3 (révisions et approfondissements)
Programmation scientifique, la bibliothèque NumPy
Graphisme avec Matplotlib
Notions de l’erreur numérique, de la stabilité et de la complexité algorithmique
Méthodes de quadrature numérique: Méthodes de Newton-Cotes, méthodes adaptatives, quadrature de Gauss
Équations différentielles ordinaires: Méthodes de Runge-Kutta, méthodes implicites, méthodes adaptatives
Méthodes de différences finies pour les équations différentielles partielles
Échantillonnage et intégration Monte-Carlo