# Résolution numérique des équations différentielles

En analyse numérique, il existe des procédés de résolution numérique pour les équations différentielles. En effet la résolution explicite, par quadrature est rarement possible.
La première méthode numérique fut introduite en 1768 par Leonhard Euler. Depuis un grand nombre de techniques ont été développées : elles se basent sur la discrétisation de l'intervalle d'étude en un certain nombre de pas. Suivant le type de formule utilisé pour approcher les solutions, on distingue les méthodes numériques à un pas ou à pas multiples, explicites ou implicites.
Il existe plusieurs critères pour mesurer la performance des méthodes numériques : la consistance d'une méthode indique que l'erreur théorique effectuée en approchant la solution tend vers 0 avec les pas. La stabilité indique la capacité à contrôler l'accumulation des erreurs d'arrondi. Ensemble elles assurent la convergence, c'est-à-dire la possibilité de faire tendre l'erreur globale vers 0 avec le pas et donc que la solution calculée soit proche de la solution analytique du problème.

## Résolution numérique des équations différentielles ordinaires

Les équations différentielles ordinaires peuvent se formuler sous la forme suivante :
   Résoudre pour tout t supérieur à t$_0$ :
       $y'=f(t,y(t)),y(t_{0})=y_{0}$
   avec $f:[t_{0},+\infty [\times \mathbb {R} ^{d}\to \mathbb {R} ^{d}$ et $y_{0}$ un vecteur de $\mathbb {R} ^{d}$ donné.
C'est un problème de condition initiale, dont le théorème de Cauchy-Lipschitz garantit l'existence et l'unicité de la solution si f est lipschitzienne. Cette écriture matricielle permet d'étendre ce problème au cas où les dérivées sont d'ordre supérieur, en écrivant le problème pour chacune des dérivées de y.

### Les méthodes à un pas

Les méthodes d'Euler sont des méthodes classiques, à un pas, permettant, à partir de la condition initiale, de calculer les valeurs de la solution à chaque pas h.

#### Méthode d'Euler explicite

Elle consiste à faire une approximation de la dérivée par le développement limité direct, ce qui donne
    $y(t_{n+1})=y(t_{n}+h)\approx y(t_{n})+hy'(t_{n})=y(t_{n})+hf(t_{n},y(t_{n})).$

#### Méthode d'Euler implicite

Elle consiste à faire une approximation de la dérivée par le développement limité rétrograde, ce qui donne
    $y(t_{n})=y(t_{n+1}-h)\approx y(t_{n+1})-hy'(t_{n+1})=y(t_{n+1})-hf(t_{n+1},y(t_{n+1})).$
On a ainsi un problème à résoudre à chaque itération :
    $y(t_{n+1})=y(t_{n})+hf(t_{n+1},y(t_{n+1})),$
ce qui engendre des calculs plus longs, mais souvent plus stables.

### Méthodes multi-pas

Ces méthodes peuvent être étendues à des méthodes de pas multiples, faisant appel à plusieurs valeurs des solutions numériques pour l'itération, ou en un calcul en plusieurs étapes de chacune des itérations (c'est l'idée des méthodes de Runge-Kutta). D'autres méthodes existent, telles la Backward differentiation formula (en).

## Résolution numérique des équations différentielles partielles

Les équations différentielles partielles peuvent se résoudre de façon similaire en introduisant un pas dans chaque dimension. Les méthodes usuelles sont :
* méthode des différences finies ;
* méthode des éléments finis ;
* méthode des volumes finis.

## Analyse

Afin d'estimer la bonne utilisation d'un schéma numérique pour une équation donnée, l'analyse numérique donne trois critères :
* la convergence, qui garantit que la solution approchée est proche de la solution réelle,
* l'ordre, qui quantifie la qualité de l'approximation,
* la stabilité, qui juge du comportement de l'erreur.

### Convergence

On dit d'une méthode qu'elle est convergente si la solution numérique tend vers la solution exacte quand les paramètres tendent vers 0. Plus précisément, en reprenant les définitions précédentes :
    $\forall t>t_{0}\,\lim _{h\to 0^{+}}\max _{n=0,1,\dots ,\lfloor t/h\rfloor }\|y_{n,h}-y(t_{n})\|=0.$
C'est une condition nécessaire pour l'utilisation d'un schéma numérique.

### Consistance et ordre

On considère l'écriture générale d'un schéma numérique :
    $y_{n+k}=\Phi (t_{n+k};y_{n},y_{n+1},\dots ,y_{n+k-1};h).\,$
L'erreur locale de troncature de la méthode est l'erreur commise par une itération de la méthode, soit la différence entre la solution calculée et la valeur exacte de la solution, en supposant que l'erreur induite par le calcul des étapes précédentes est nulle :
    $\delta _{n+k}^{h}=\Phi \left(t_{n+k};y(t_{n}),y(t_{n+1}),\dots ,y(t_{n+k-1});h\right)-y(t_{n+k}).$
La méthode est dite consistante si
    $\lim _{h\to 0}{\frac {\delta _{n+k}^{h}}{h}}=0.$
La méthode est dite d'ordre p si
    $\delta _{n+k}^{h}=O(h^{p+1})\quad {\mbox{ pour }}h\to 0.$
On voit qu'une méthode est consistante si elle est au moins d'ordre supérieur à 0. Cependant, la consistance n'est qu'une condition nécessaire pour la convergence d'une méthode, elle n'est pas suffisante : la méthode doit être consistante et zéro-stable pour garantir sa convergence.

### Stabilité et raideur

Pour certaines équations différentielles ordinaires, certains schémas usuels entraînent une solution instable avec des pas trop grands (typiquement les schémas d'Euler ou de Runge-Kutta explicites), tandis que d'autres schémas permettent d'obtenir une solution plus régulière. Le problème peut alors provenir d'une évolution du comportement de la solution au cours du temps.