Les séances de cours sont réparties tout au long de l'UE :
• en début d'UE : révision shell, environnement UNIX, notions de bases en programmation et en python : les types de base et les collections, structures de contrôle de condition et de répétition, fonctions, modules numpy, scipy et matplotib
• en fin d'UE : méthodes numériques de base pour l'intégration numérique, équations différentielles ordinaires, moindres carrés, notions de convergence associée, exemple de résolution d'une équation différentielle partielle.
Séances de TP :
• Types en python, entrées/sorties, application directe du cours à des calculs numériques élémentaires, e.g. des suites définies par récurrence, des séries de fonction…
• Tableaux du module numpy et fonctions associées, manipulations de tableaux et slicing, et exemple d'application manipulation d'images ;
• Calcul d’intégrale avec les méthodes usuelles : rectangles, trapèze, Simpson,
introduction de la méthode de Monte Carlo. Importance de la discrétisation et notion de convergence (chaque méthode est programmée dans une fonction. Les fonctions ad hoc des modules numpy et scipy sont introduites en fin de séance) ;
• Méthode des moindres carrés. Application à la régression linéaire. ;
• Équations différentielles ordinaires. Shéma d'intégration explicite/implicite. Les méthodes méthodes de Newton et de Runge Kutta d'ordre 2 sont reprogrammées et appliquées à un problème de type ballistique. Introduction des fonctions ad hoc du module scipy ;
• Décomposition en série de Fourier, illustration du phénomène de Gibbs ;
• Générateur nombre aléatoire, marche aléatoire, diffusion ;
• Équation de diffusion (e.g. chaleur) en 2D (Laplace 2D), discrétisation et conditions aux limites.