J'enseigne essentiellement en cycle ingénieur (niveaux Bac+3 à Bac+5) à Polytech Lyon dans la filière MAM (Mathématiques Appliquées et Modélisation), et parfois au Département de Mathématiques de Lyon 1 en cycle préparatoire (niveau L2) et en L3.
2018-2019:
- Responsable du semestre 5 du département MAM à Polytech Lyon
- Probabilités (30hCM+30hTD):
Espaces de probabilités (univers fini, dénombrable ou infini non dénombrable), probabilités conditionnelles et indépendance, variables aléatoires (lois usuelles, transformation de variables, quantiles, moments), vecteurs aléatoires, vecteur gaussien, transformée de Laplace, fonction caractéristique, espérance conditionnelle, différents types de convergences, loi des grands nombres, théorème central limite.
- Simulation aléatoire (10hTP*2):
Simulation de variables/vecteurs aléatoires.
Méthodes de simulation aléatoire: inversion de la fonction de répartition, acceptation-rejet, méthode de Box Muller, méthode de Monte Carlo, ...
Travaux pratiques en lien avec le cours de Probabilités (logiciel R).
- Modèles bayésiens (8hCM+4hTD+4hTP*2):
Loi a priori, loi a posteriori (explicite ou par MCMC).
Inférence bayésienne : risque bayésien, estimation, tests et intervalles de crédibilité.
Méthodes de Monte Carlo par chaînes de Markov (MCMC).
Applications en R.
- Modèles de durée (10hCM+6hTD+4hTP*2):
Modèles de durée (fiabilité, santé, ...).
Modélisations paramétrique et non-paramétrique.
Modèles de régression.
Approche bayésienne.
Applications en R.
- Outils pour le Calcul Scientifique (24hTP*2):
1.
Linux: aide en ligne, système de fichiers, variable d'environnement, commandes pour la
manipulation des fichiers, création de makefile, création de shell scripts.
2.
Gestionnaire de version de code: introduction à GIT. Créer un dépôt, commiter les
sources, récupérer les sources d'un dépôt, créer des branches de développements, revenir
sur une version précédente.
3. Rédaction de documents scientifiques: LateX.
4. Applications à l'analyse numérique (méthodes directes, méthodes itératives, interpolation polynommiale, résolution d'équations non-linéaire, EDO). Vérification et validation de codes.
Logiciel Matlab
- Projets en 4ème année (en équipe) et 5ème année (recherche):
- PACMAN en C++: interface graphique, Intelligences artificielles pour les fantômes (individuelles et/ou coopératives), mode multijoueur (collaboratif ou non), ...
- Reconstruction d'images (bruitées ou détériorées) par des méthodes de statistique bayésienne: images en noir et blanc, images en noir et blanc avec des nuances de gris (imagerie médicale,...) et images en couleurs.
2017-2018:
- Responsable du semestre 5 du département MAM à Polytech Lyon
- Outils pour le Calcul Scientifique (35hCM+14hTD+21hTP*2):
1.
Structures algorithmiques: Identifiants, expressions arithmétiques et booléennes,
déclarations et leur syntaxe, sémantique des déclarations, constructions algorithmiques classiques, récursivité, algorithmes de tri.
2.
Unix: aide en ligne, système de fichiers, variable d'environnement, commandes pour la
manipulation des fichiers, création de makefile, création de shell scripts.
3.
Gestionnaire de version de code: introduction à GIT. Créer un dépôt, commiter les
sources, récupérer les sources d'un dépôt, créer des branches de développements, revenir
sur une version précédente.
4. Rédaction de documents scientifiques: LateX.
5.
Arithmétiques finies des ordinateurs et ses conséquences: conditionnement d'un calcul,
analyse rétrograde ou a posteriori.
7.
Programmation en Fortran90 et C: Tableaux, structures complexes de données,
procédures et fonctions, récursivité, allocation dynamique, modules, makefile, entrées/sorties, structures, généricité, pointeurs,... Mise en oeuvre de
méthodes d'analyse numérique I (stockage CSR, méthodes itératives et méthodes de Krylov).
Introduction aux bibliothèques scientifiques BLAS et LAPACK.
8.
Vérification et validation de code: consistance et convergence, ordre de précision formel, ordre de
précision observé, méthodes des solutions manufacturées.
9. Simulation d'un problème de mécanique des fluides: la cavité entraînée pour les équations de Navier-Stokes.
10. Projet en groupes.
- Probabilités (30hCM):
Espaces de probabilités (univers fini, dénombrable ou infini non dénombrable), probabilités conditionnelles et indépendance, variables aléatoires (lois usuelles, transformation de variables, quantiles, moments), vecteurs aléatoires, vecteur gaussien, transformée de Laplace, fonction caractéristique, espérance conditionnelle, différents types de convergences, loi des grands nombres, théorème central limite.
- Volumes Finis (25hCM+10hTD+15hTP*2):
Le but est de construire des méthodes de Volumes Finis 2D sur des maillages non-structurés, comme les maillages
admissibles, de Delaunay-Voronoï... Le programme s’organise de la manière suivante : introduction des grilles
décalées (primal/dual ou primal/dual/diamant), construction d’opérateurs discrets (gradient, divergence et rotationnels),
cadre fonctionnel discret (produits scalaires pondérés, formule de Green discrète), applications à des
problèmes elliptiques (existence et unicité de la solution discrète, formulation variationnelle discrète, principe du maximum discret, estimations d’erreur), à l'équation de la chaleur, équations de Stokes, équations de Maxwell, équations de Navier-Stokes (dont le schéma MAC).
- Modèles bayésiens (8hCM+4hTD+4hTP*2):
Loi a priori, loi a posteriori (explicite ou parMCMC).
Inférence bayésienne : risque bayésien, estimation, tests et intervalles de crédibilité.
Méthodes de Monte Carlo par chaînes de Markov (MCMC).
Applications en R.
- Modèles de durée (10hCM+6hTD+4hTP*2):
Modèles de durée (fiabilité, santé, ...).
Modélisation paramétrique et non-paramétriques.
Modèles de régression.
Approche bayésienne.
Applications en R.
- Projets en 4ème année (en équipe).
Enseignements antérieurs:
- Analyse Numérique I (25hTD+10hTP):
0. Initiation à Matlab.
1. Rappels: Algèbre linéaire, normes vectorielles et matricielles.
2.
Discrétisation différences finies : principes de bases (formules de Taylor), exemples 1D et
2D (avec numérotation 2D), extrapolation de Richardson.
3.
Méthodes directes: factorisation LDU (Condition d'existence et unicité de la
décomposition, conditionnement de la matrice, influence du conditionnement sur l'erreur,
technique de pivotage, calcul du determinant), factorisation de Cholesky, méthode de Householder et factorisation QR.
4.
Interpolation et Intégration numérique : polynômes de Lagrange, formules de quadrature
(Newton Côtes, méthodes de Romberg), phénomène de Runge, phénomène de Gibbs, polynôme orthogonaux,
interpolation d'Hermite (Formule des différences divisées, expression de l'erreur avec les
différences divisées), méthode des moindres carrés. Illustrations avec Matlab.
5.
Méthodes de recherche de zéros: principes de bases (méthodes de la dichotomie,
du point fixe, de Newton).
6.
Méthodes itératives de bases: méthodes de spliting (Jacobi, Gauss-Seidel, SOR),
théorèmes généraux de convergence (basé sur le rayon spectral, SOR optimal), méthodes
de Krylov (principes, GC, GMRES), théorèmes de convergence (basé sur la répartition
des valeurs propres). Illustrations avec Matlab.
7.
Méthodes de résolution des EDOs: théorie des méthodes à un pas (consistance, stabilité,
convergence, effet des erreurs d'arrondis, lemme de Grownwall, méthodes d'Euler
implicite, explicite, point milieu, méthodes à pas adaptatif, problème raide). Illustrations avec Matlab.
- Problèmes instationnaires (12hCM+5hTD+8hTP):
Schémas numériques pour les EDPs d’évolution du premier et du second ordre
en temps. Equations : de la chaleur, d'advection-diffusion, de Burger, des ondes.
Schémas aux différences finies : analyse de la stabilité (méthode de von Neumann,
Fourier, méthode de l'énergie), analyse de la dispersion et de la diffusion.
Erreur et ordre de consistance de schémas aux différences finies. Condition CFL.
Schémas décentrés.
- PEIP2 Post PACES (30hTD+20h Khôlles):
1. Algèbre linéaire: matrices, résolution de systèmes linéaires (méthode de Gauss), espaces-vectoriels, sous-espaces vectoriels, somme directe, familles libres/liées/génératrices, bases, dimension/rang, applications linéaires/injectives/surjectives/bijectives, matrices de passage, déterminant, valeurs propres, vecteurs propres, diagonalisation.
2. Géométrie dans l'espace.
3. Espaces vectoriels normés: normes, inégalité de Cauchy-Schwarz, boules.
4. Fonctions de plusieurs variables réelles.
- Méthodes Mathématiques pour l’Ingénieur (16hTD):
Fonctions de la variable complexe (continuité, holomorphie, conditions de Cauchy-Riemann, intégrales curvilignes, séries,
formule intégrale de Cauchy et théorème des résidus).
- Méthodes Numériques de base (16hTD):
Recherche de racines d’équations non-linéaires (méthodes de dichotomie, du point fixe, de Newton, de la sécante),
interpolation numérique (bases de Lagrange, différences divisées, polynômes de Tchebycheff, splines,
interpolation d’Hermite, approximation au sens des moindres carrés), intégration numérique (formules du point
milieu, du trapèze, de Simpson, de Newton-Côtes, extrapolation de Richardson, formules de Gauss, polynômes de
Legendre), résolution numérique d’EDO (problème de Cauchy, théorème de Cauchy-Lipschitz, schémas d’Euler
et de Runge-Kutta, notions de stabilité et de convergence), systèmes d’équations (algorithme de Gauss, factorisation LU,
méthodes itératives de Jacobi et de Gauss-Seidel).
- Initiation à MATLAB (16hTD):
Généralités sur les vecteurs et les matrices (construction ; accès à un élément ; opérateur " :" ; opérateurs algébriques
et opérateurs élément par élément ; transposition ; extraction et concaténation...), algèbre linéaire
(dimension, déterminant, rang, valeurs et vecteurs propres, normes, conditionnement, résolution de système linéaires...),
help, graphiques (fonction "plot" ; couleurs et symboles du tracé ; axes, légende et échelle (linéaire et logarithmique);
superposition de tracés ; fonction "subplot" ; sauver, modifier et exporter une figure...), scripts et fonctions, boucles
("for" et "while"), tests ("if" et "case"), ...
- Analyse Numérique 2 (25hTD+10hTP):
Révisions en algèbre linéaire, et sur les méthodes directes (Gauss, coût opératoire...) et itératives (Jacobi, Gauss-
Seidel, méthodes de relaxation), étude (propriétés, convergence...) et implémentation de méthodes de Krylov
(descente, BICGSTAB, GCR, CGS, Arnoldi avec orthonormalisation de Gram-Schmidt, GMRES...), méthodes
d'approximation de valeurs propres, préconditionnement de matrices, algorithmes préconditionnés avec applications à des EDP discrétisées en Différences Finies, méthodes de Schwarz.
- Optimisation Continue (16hTD+9hTP):
Dérivabilité (Gâteaux-dérivabilité, Fréchet-dérivabilité, formules de Taylor), analyse convexe, existence de minimum,
algorithmes de minimisation sans contrainte (méthodes de Newton, recherche linéaire, descente, Quasi-
Newton), optimisation sous contraintes égalités (extrema liés, dualité), optimisation sous contraintes inégalités
(relations de Karush-Kuhn-Tucker, méthode de pénalisation, méthode d'Uzawa).
- Méthodes Mathématiques pour l'Ingénieur 2 (15hCM+15hTD):
Introduction simplifiée à la théorie de la mesure et à l'intégrale de Lebesgue, théorie des distributions (espace
des fonctions test, distribution, convergence, dérivation, primitives des distributions, support d'une distribution,
convolution des distributions), application à la résolution d'équations différentielles linéaires à coefficients
constants.
- Génie Logiciel 1 (15hTD+15hTP):
Ce module portait sur la programmation en C++ : création d'une classe matrice pleine (constructeurs, destructeur,
accesseurs, surcharge d'opérateurs, opérateurs externes, fonctions amies,...), création d'une classe vecteur
(héritage simple), patrons de classe (templates), classe exception (sur les dimensions), utilisation de la bibliothèque STL
(conteneur, itérateurs,...), implémentation d'une méthode de Krylov et applications.
- Génie Logiciel 2 (15hTP):
La première partie était une initiation au langage UML, à l'aide du logiciel BOUML : création de diagrammes
(diagrammes de classe, de cas d'utilisation, de séquence...) pour un championnant de jeux d'échecs et la classe matrice
étudiée en Génie Logiciel 1, génération d'une documentation HTML et génération de codes (C++ et Java) ; la
deuxième partie portait sur la création d'une calculette avec interface graphique en Java, puis extension aux
opérations entre matrices à l'aide du code C++ fait en Génie Logiciel 1 et de JNI (Java Native Interface) qui
permet d'utiliser un code natif (ici, C++) dans un code Java.
- Calcul Haute Performance (20h TP):
La première partie portait sur une initiation à Star-P, logiciel permettant la parallélisation de codes Matlab
(parallélisation de données et parallélisation de tâches), et la deuxième partie consistait à introduire des directives
OpenMP dans des subroutines écrites en fortran 90, parfois déjà parallélisées avec MPI, et à étudier le
gain apporté. Ce travail a été réalisé sur une machine parallèle munie de 16 processeurs.
- Eléments Finis (12hTD/TP), module MA201 à l'ENSTA:
Distributions, formulations variationnelles, éléments finis, introduction au mailleur EMC2.
|