Niveau d'étude
BAC +3
ECTS
3 crédits
Composante
Faculté des Sciences
Volume horaire
27h
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. On présentera ensuite l’utilisation de méthodes numériques pertinentes pour la simulation et la résolution de problèmes physiques.
Objectifs
Apprendre à programmer sur un niveau avancé avec Python et savoir appliquer ses connaissances en programmation scientifique. Connaître et savoir implémenter des méthodes numériques usuelles pour modéliser des problèmes physiques basés la résolution de problèmes d’algèbre linéaire ou sur la résolution des équations différentielles ordinaires.
Pré-requis nécessaires
Notions de programmation (un langage impératif, idéalement Python) ; maitrise du calculs vectoriel et matriciel et des outils d’analyse mathématique (limites, différentiation, intégrales, équations différentielles).
Pré-requis recommandés* : Bonne pratique de Python 3 et ses modules, notamment NumPy. Formations de la licence en programmation et en Python (programmation impérative) ; familiarité avec un système Linux
Contrôle des connaissances
CCI
Syllabus
Rappels et compléments du langage Python (instructions, variables et les types de données, structures de contrôle, …)
- Introduction à l'algorithmique: trouver les zéros d'une fonction, trier une liste
- Notion de programmation orientée objet (notion de classe, d’objets, d’attributs, …)
- Bibliothèques NumPy et matpotlib (manipulation de tableaux, visualisation de données)
- Méthodes de l'algèbre linéaire numérique (algorithme de Gauss, décomposition LU, algorithme QR)
- Bibliothèque SciPy, l'interface Jupyter et une application exemplaire en physique numérique
- Méthode de résolution des équations différentielles ordinaires (méthode d’Euler, Runge-Kutta,…)
Informations complémentaires
CM : 12 h
TP : 15 h