Schémas numériques pour les problèmes de Cauchy
Ce cours aborde les méthodes numériques pour la résolution des problèmes de Cauchy pour les équations différentielles ordinaires (EDO). Les étudiants apprendront à concevoir, analyser et implémenter divers schémas numériques, en comprenant leurs propriétés de stabilité et de convergence. Le cours combine des exposés théoriques avec des travaux pratiques utilisant des outils de calcul scientifique tels que Python et ses bibliothèques associées.
1 Parcours “Data Science and Scientific Computing”

Depuis septembre 2024, l’université de Toulon propose, dans sa licence de Mathématiques, un parcours nommé Data Science and Scientific Computing. Il se situe au croisement des mathématiques et de l’informatique. L’objectif principal est d’apprendre à formuler des questions de manière que le calcul informatique puisse fournir des réponses (exactes ou approchées) satisfaisantes.
Ce parcours sur trois ans fournit une base de connaissances et de compétences pratiques en analyse de données et en calcul scientifique, en utilisant principalement Python et les Notebook Jupyter. On y apprend à manipuler, analyser et visualiser les données, ainsi qu’à résoudre des problèmes scientifiques et mathématiques complexes en utilisant les outils et bibliothèques appropriés:
- DSSC-1 Introduction à la programmation scientifique avec Python: apprentissage des bases de la programmation en Python, notamment les structures de contrôle, les fonctions et les types de données, ainsi que l’utilisation de Matplotlib pour créer des visualisations.
- DSSC-2 Approximations et simulations : étude des bases de l’analyse numérique, avec des comparaisons aux résultats issus de la bibliothèque SciPy, pour résoudre des problèmes scientifiques et d’ingénierie : interpolations, intégrations numériques, zéros d’une fonction. On apprendra également à utiliser des Notebook Jupyter pour expliquer et documenter les calculs.
- DSSC-3 Calcul formel avec SymPy: familiarisation avec SymPy pour réaliser des calculs mathématiques symboliques comme la manipulation d’expressions et la résolution d’équations et systèmes. Application en analyse mathématique (calcul de limites, dérivées, intégrales symboliques dans \(\mathbb{R}^n\)) et en algèbre linéaire (applications linéaires, noyaux, etc.). On apprendra également à rédiger des rapports en LaTeX.
- DSSC-4 Manipulation avancée des tableaux avec NumPy: approfondissement des connaissances sur le calcul matriciel avec NumPy pour des calculs performants.
- DSSC-5 Manipulation de données avec Pandas : une initiation : utilisation de Pandas pour manipuler efficacement les jeux de données, incluant l’importation, le nettoyage, la transformation, le filtrage, l’agrégation et la gestion des valeurs manquantes.
- DSSC-6 Approximations d’équations différentielles : étude des schémas numériques pour l’approximation de problèmes de Cauchy.
Ce polycopié est associé au sixième et dernier cours, initiant à l’étude et à l’implémentation de schémas numériques pour l’approximation de problèmes de Cauchy.
2 Déroulement du cours DSSC-6 : Schémas numériques pour les problèmes de Cauchy
Une équation différentielle ordinaire (EDO) est une équation mathématique impliquant une ou plusieurs fonctions d’une variable indépendante ainsi que leurs dérivées. On parle d’équation ordinaire par opposition aux équations différentielles partielles (EDP), qui portent sur des fonctions de plusieurs variables indépendantes et incluent leurs dérivées partielles.
Les EDO et les EDP sont des outils puissants pour modéliser divers phénomènes naturels et systèmes issus de domaines tels que la physique, la biologie, l’économie ou l’ingénierie. En effet, dans de nombreuses applications réelles, les fonctions représentent des grandeurs physiques, les dérivées traduisent leurs variations, et l’équation établit un lien entre ces éléments. Ce rôle fondamental explique l’importance des équations différentielles dans l’étude des systèmes dynamiques et de nombreuses disciplines scientifiques.
En mathématiques pures, l’étude des équations différentielles se concentre principalement sur leurs solutions, c’est-à-dire l’ensemble des fonctions qui satisfont l’équation. Seules les équations les plus simples admettent des solutions explicites sous forme de formules. Cependant, même lorsque l’on ne peut pas résoudre une équation de manière analytique, il est souvent possible d’analyser certaines propriétés de ses solutions. Dans les cas où une solution exacte est hors de portée, des méthodes numériques permettent d’obtenir des approximations avec une précision contrôlée.
2.1 Objectifs
Ce cours se concentre sur l’étude et l’implémentation de schémas numériques pour approcher la solution de problèmes de Cauchy. Un problème de Cauchy est un problème de valeur initiale pour une EDO. Il consiste à trouver une solution qui satisfait une équation différentielle et une condition initiale. Les méthodes numériques pour résoudre les problèmes de Cauchy sont basées sur la discrétisation de l’intervalle de temps et sur l’approximation de la solution sur cet intervalle. Les méthodes les plus courantes sont les schémas multipas, les schémas Runge-Kutta et les schémas prédicteur-correcteur.
2.2 Contenu du cours
- Fondements théoriques des problèmes de Cauchy bien posés mathématiquement, bien posés numériquement et bien conditionnés.
- Construction et analyse de schémas numériques :
- Schémas multipas linéaires (notamment, les schémas des type Adams-Moulton, Adams-Bashford, Nyström, Milne-Simpson, BDF).
- Schémas Runge-Kutta (RK).
- Schémas prédicteur-correcteur (PC).
- Concepts étudiés :
- Consistance et ordre de consistance (pour les schémas multipas et RK).
- Zéro-stabilité (pour les schémas multipas).
- Convergence.
- Absolue-stabilité (pour les schémas à un pas et pour les schémas RK).
Lors des séances de travaux pratiques il faudra :
- implémenter chaque schéma étudié en cours et vérifier l’ordre théorique de convergence sur des problèmes pour lesquels la solution exacte est connue (la solution exacte pourra être obtenue par exemple via
sympy) ; - implémenter les schémas pour des systèmes d’EDO d’ordre 1 (ou des équations d’ordre supérieur à 1 après les avoir écrit comme des systèmes d’EDO d’ordre 1), avec si possible la recherche et la vérification de la conservation d’invariants théoriques.
2.3 Plan des séances
- CM 6 séances de 2 heures dans le bâtiment M
- TP 5 séances de 3 heures dans le bâtiment U1
- TD 2 séances de 2 heures dans le bâtiment M
Tous les supports de cours sont fournis sous forme de notebooks Jupyter et téléchargeables depuis la page en annexe (menu a gauche ci-contre).
2.4 Prérequis
- Bases de Python : types primitifs (int, float, str), structures de données (listes, tuples, dictionnaires), conditions, boucles, fonctions, modules (numpy, matplotlib.pyplot) ; cf. DSSC-1;
- Manipulation de Notebook Jupyter : cellules python vs markdown, écriture de formules mathématiques en LaTeX, exécution, sauvegarde, export, etc. ; cf. DSSC-2;
- Connaissances de base de NumPy : manipulation de tableaux et extraction de sous-tableaux par slices ; cf. DSSC-4.
Pour manipuler les notebooks Jupyter, on utilisera l’éditeur VS Codium (au lieu de Jupyter Notebook dans le navigateur). Dans les salles de TP, Python 3.12 est installé.
Librairies Python utilisées
numpypour l’implémentation des schémas numériques.matplotlib.pyplotpour la visualisation des graphiques.- Comparaison des résultats avec :
- la solution exacte obtenue via
sympy. - les solutions approchées obtenues avec
scipy.integrate.
- la solution exacte obtenue via
2.5 Évaluation
Le cours est évalué par un contrôle continu et un contrôle terminal :
\( \text{Note finale} = \max \left\{ \text{CT} ; 0.3 \times \text{CC} + 0.7 \times \text{CT} \right\} \)
- Contrôle continu (CC) : mardi 24 mars 2026, durée 2 heures, en salle de TP.
- Contrôle terminal (CT) : mardi 28 avril 2026, durée 2 heures, en salle de TP.
Les deux évaluations comportent des exercices sur l’étude mathématique et l’implémentation en Python de schémas numériques avec vérification de leurs performances théoriques sur des problèmes de Cauchy donnés. Il faudra déposer sur Moodle un notebook .ipynb contenant l’étude mathématique (rédigée en markdown), les implémentations en Python des schémas numériques demandés ainsi que l’analyse des résultats obtenus.
Vous pourrez utiliser le polycopié, les notebooks fournis dans la section “Sources” et vos notes de cours comme base pour vos implémentations, mais assurez-vous de bien comprendre chaque étape et d’adapter les réponses et le code selon les exigences spécifiques des exercices.