"où $f \\colon \\mathbb{R} \\times \\mathbb{R}^n \\to \\mathbb{R}^n$ est une application suffisamment régulière. \n",
"On considère pour cela une subdivision de l'intervalle $I$ : \n",
"$$\n",
" t_0 < t_1 < \\cdots < t_N := t_f\n",
"$$\n",
"\n",
"On note $h_i := t_{i+1} - t_i$ pour $i \\in \\llbracket 0, N-1 \\rrbracket$, les **pas** de la subdivision et \n",
"$h_{\\max} := \\max_i(h_i)$ le pas le plus long. L'idée est de calculer une approximation de \n",
"la solution en les points de discrétisation. On souhaite donc approcher $x(t_i, t_0, x_0)$ pour \n",
"$i \\in \\llbracket 1, N \\rrbracket$. \n",
"\n",
"On appelle *méthode à un pas explicite*, toute méthode calculant un N-uplet $(x_1, \\ldots, x_N) \\in {(\\mathbb{R}^n)}^N$ tel que la valeur $x_{i+1}$ est calculée en fonction de $t_i$, $h_i$ et $x_i$ de la forme :\n",
"Pour approcher la solution, nous utiliserons une méthode à un pas. Si on note $x_h^* := (x_1^*, \\ldots, x_N^*)$ une solution au problème discrétisé (obtenue par la méthode à un pas considérée), alors on souhaite que \n",
"$$\n",
" x_i^* \\approx x(t_i, t_0, x_0) \\quad \\text{pour tout } i \\in \\llbracket 1, N \\rrbracket.\n",
"$$\n",
"\n",
"**Ordre de convergence.** On considère à partir de maintenant un pas de temps $h$ **uniforme**. Une méthode à un pas explicite est **convergente** si pour toute solution $x(\\cdot, t_0, x_0)$, la suite ${(x_i)}_i$ définie par $x_{i+1} = x_i + h\\, \\Phi(t_i, x_i, h)$ vérifie \n",
"Si la convergence est d'ordre $p$ alors il existe une constante $C \\ge 0$ telle que\n",
"\n",
"$$\n",
" E := \\max_{1 \\le i \\le N}\\, \\|{x(t_i, t_0, x_0) - x_i}\\| \\le C\\, h^p.\n",
"$$\n",
"\n",
"Faisons l'hypothèse que $E = M\\, h^p$ pour un certain $M \\ge 0$. En passant au logarithme, on obtient\n",
"\n",
"$$\n",
" \\log(E) = \\log(M) + p\\, \\log(h).\n",
"$$\n",
"\n",
"Nous en déduisons que si on trace $\\log(E)$ en fonction de $\\log(h)$, on doit obtenir une droite de pente $p$. C'est ce que nous allons vérifier dans ce TP.\n",
"\n",
"**Objectif.** Nous allons dans ce TP, implémenter quelques méthodes (à un pas) de [Runge-Kutta](https://fr.wikipedia.org/wiki/Méthodes_de_Runge-Kutta) explicites et \n",
"étudier leur convergence. On appelle *méthode de Runge-Kutta explicite à $s$ étages*, la méthode définie par le schéma\n",
**Méthode à un pas explicite.** On désire calculer une approximation de la solution, notée $x(\cdot, t_0, x_0)$, sur l'intervalle
$I := [t_0, t_f]$ du problème de Cauchy
\begin{equation*}
\dot{x}(t) = f(t, x(t)), \quad x(t_0) = x_0,
\end{equation*}
où $f \colon \mathbb{R} \times \mathbb{R}^n \to \mathbb{R}^n$ est une application suffisamment régulière.
On considère pour cela une subdivision de l'intervalle $I$ :
$$
t_0 < t_1 < \cdots < t_N := t_f
$$
On note $h_i := t_{i+1} - t_i$ pour $i \in \llbracket 0, N-1 \rrbracket$, les **pas** de la subdivision et
$h_{\max} := \max_i(h_i)$ le pas le plus long. L'idée est de calculer une approximation de
la solution en les points de discrétisation. On souhaite donc approcher $x(t_i, t_0, x_0)$ pour
$i \in \llbracket 1, N \rrbracket$.
On appelle *méthode à un pas explicite*, toute méthode calculant un N-uplet $(x_1, \ldots, x_N) \in {(\mathbb{R}^n)}^N$ tel que la valeur $x_{i+1}$ est calculée en fonction de $t_i$, $h_i$ et $x_i$ de la forme :
$$
x_{i+1} = x_i + h_i\,\Phi(t_i, x_i, h_i).
$$
Pour approcher la solution, nous utiliserons une méthode à un pas. Si on note $x_h^* := (x_1^*, \ldots, x_N^*)$ une solution au problème discrétisé (obtenue par la méthode à un pas considérée), alors on souhaite que
$$
x_i^*\approx x(t_i, t_0, x_0) \quad \text{pour tout } i \in \llbracket 1, N \rrbracket.
$$
**Ordre de convergence.** On considère à partir de maintenant un pas de temps $h$ **uniforme**. Une méthode à un pas explicite est **convergente** si pour toute solution $x(\cdot, t_0, x_0)$, la suite ${(x_i)}_i$ définie par $x_{i+1} = x_i + h\,\Phi(t_i, x_i, h)$ vérifie
$$
\max_{1 \le i \le N}\,\|{x(t_i, t_0, x_0) - x_i}\|\to 0
\quad\text{quand}\quad h \to 0.
$$
Si la convergence est d'ordre $p$ alors il existe une constante $C \ge 0$ telle que
$$
E := \max_{1 \le i \le N}\,\|{x(t_i, t_0, x_0) - x_i}\|\le C\, h^p.
$$
Faisons l'hypothèse que $E = M\, h^p$ pour un certain $M \ge 0$. En passant au logarithme, on obtient
$$
\log(E) = \log(M) + p\,\log(h).
$$
Nous en déduisons que si on trace $\log(E)$ en fonction de $\log(h)$, on doit obtenir une droite de pente $p$. C'est ce que nous allons vérifier dans ce TP.
**Objectif.** Nous allons dans ce TP, implémenter quelques méthodes (à un pas) de [Runge-Kutta](https://fr.wikipedia.org/wiki/Méthodes_de_Runge-Kutta) explicites et
étudier leur convergence. On appelle *méthode de Runge-Kutta explicite à $s$ étages*, la méthode définie par le schéma