Aller au contenu

Méthodes de Runge-Kutta

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Méthode de Runge-Kutta)
Pentes utilisées lors d'une méthode de Runge-Kutta
La courbe bleue est la solution exacte de l'équation différentielle. Les flèches rouges symbolisent les pentes utilisées impliquées dans une méthode de Runge-Kutta. La solution approchée est représentée en vert.

Les méthodes de Runge-Kutta sont des méthodes d'analyse numérique d'approximation de solutions de problèmes de Cauchy. Elles ont été nommées ainsi en l'honneur des mathématiciens Carl Runge et Martin Wilhelm Kutta, lesquels élaborèrent la méthode en 1901.

Premiers exemples

[modifier | modifier le code]

Pour donner l'idée générale des méthodes de Runge-Kutta, on commence par donner une idée de la méthode sur quelques exemples de méthodes de Runge-Kutta avant de considérer le cas général. On considère le problème de Cauchy suivant:

où la fonction f est connue, et y est une fonction de t inconnue. On suppose que la solution a été approchée à par . Si , ces valeurs sont simplement les valeurs initiales. On cherche à approcher la solution à , où est un réel appelé le pas de temps.

Une première approche, celle historique, est d'utiliser un développement à l'ordre 1:

Ce qui mène à définir la méthode appelée méthode d'Euler explicite :

Cette méthode est le cas le plus simple de méthode de Runge-Kutta. Une version modifiée de ce schéma est la méthode d'Euler implicite :

La seule différence est que le terme de droite utilise au lieu de . Cela implique qu'un système doit être résolu pour calculer . C'est ce qui différencie les méthodes implicites qui ont besoin de résoudre un système d'équation des méthodes explicites qui ne consistent qu'en une séquence de calculs.

Plus généralement, une méthode de Runge-Kutta approche la dérivée de à plusieurs points, puis utilise ces approximations pour calculer .

Un exemple plus complexe de méthode explicite est "RK4", la méthode de Runge-Kutta probablement la plus célèbre, qui est définie par :

Cette méthode est dites à 4 étapes car elle approche 4 fois la dérivée de , ce qui est plus coûteux que la méthode d'Euler explicite, qui est à une étape. Bien que la méthode implicite d'Euler soit à une étape, le fait de devoir résoudre un système d'équation peut la rendre plus coûteuse à utiliser que RK4.

Principe général

[modifier | modifier le code]

On considère de nouveau un problème de Cauchy:

On suppose que la solution a précédemment été approchée à par une valeur . Si , ces valeurs sont simplement les valeurs initiales. On cherche à approcher la solution en , où est un réel appelé le pas de temps.

En intégrant l'équation différentielle, on montre que la relation suivante est vérifiée :

Dans l'égalité précédente, l'intégrale n'est pas calculable car la fonction n'est a priori pas connue, cette égalité est en réalité une équation. L'idée est de remplacer cette intégrale par une valeur approchée. On approche cette intégrale grâce à une méthode de quadrature à points qui a pour poids et pour nœuds  :

On approche de manière similaire tous les par des valeurs définies par :

L'approximation d'une méthode de Runge-Kutta à étapes est donc donnée par :

Le fait que les utilisent les mêmes valeurs que l'approximation finale pour leur quadrature n'est pas une perte de généralité, n'importe quelle valeur utilisée pour l'une des quadratures peut être ajoutée aux autres quadratures en ajoutant un poids de valeur 0.

Tableau de Butcher

[modifier | modifier le code]

Les informations d'une méthode sont souvent résumées par le tableau des différents poids de quadrature, appelé tableau de Butcher :

Une méthode est convergente si et seulement si . Dans ce cas, la précision de la méthode est améliorée en diminuant le pas.

Soit la matrice . On peut établir les remarques suivantes[1] :

  • Si est triangulaire inférieure stricte alors la méthode est dite explicite et les calculs sont explicites. En effet, dans ce cas, le calcul de ne fait intervenir que les approximations avec et . Aucune équation n'est à résoudre pour calculer l'itérée suivante.
  • Si n'est pas triangulaire inférieure stricte alors la méthode nécessite de résoudre des équations pour calculer à partir de . La méthode est implicite. Les méthodes implicites sont généralement plus lourdes en calculs.

Consistance

[modifier | modifier le code]

Définition

[modifier | modifier le code]

L'erreur de consistance relative[2] désigne l'erreur réalisée par une unique itération de la méthode de Runge-Kutta. On la note et on a[3]: avec et sous l'hypothèse .

L'erreur de consistance relative désigne l'erreur réalisée sur une seule itération. En pratique, on va répéter une succession d'itérations et les erreurs vont se cumuler. Pour cette raison, on dit qu'une méthode est consistante si

avec .

Plus précisément et comme une conséquence des définitions ci-dessus, on dit qu'une méthode (avec un pas constant ) est consistante d'ordre si . Dans ce cas, on a

L'ordre de consistance est l'une des propriétés fondamentales d'un schéma de Runge-Kutta.

Par exemple, on considère la méthode d'Euler avec un pas constant , on a:

.

En notant que et grâce aux développement de Taylor, on montre que . Donc la méthode est d'ordre 1 et consistante.

À cause de l'erreur effectuée par la méthode numérique, la valeur est entachée d'une erreur notée (erreurs d'arrondis, erreur de consistance, ...). La propagation de ces erreurs doit rester contrôlable. Cette propriété est liée à la stabilité de la méthode[2].

Supposons que f est k-lipschitzienne en y. Soit Les méthodes de Runge-Kutta sont stables sur [0,T], avec pour constante de stabilité eΛT, avec

Pour les exemples ci-dessous, seul le cas d'un pas de discrétisation constant est considéré : pour tout , on a

La méthode de Runge-Kutta explicite d'ordre 1 (RK1)

[modifier | modifier le code]

Cette méthode est équivalente à la méthode d'Euler Explicite, une méthode simple de résolution d'équations différentielles du premier degré.

Considérons le problème suivant :

La méthode RK1 utilise l'équation

h est le pas de l'itération.

Le problème s'écrit sous forme du tableau de Butcher suivant :

Schéma prédicteur-correcteur explicite (RK2)

[modifier | modifier le code]

La méthode du point milieu est une composition de la méthode d'Euler :

h est le pas de l'itération.

Elle consiste à estimer la dérivée au milieu du pas d'intégration :

et à refaire le pas d'intégration complet à partir de cette estimation :

Ce schéma est couramment appelé schéma prédicteur-correcteur explicite.

C'est le cas particulier pour α = 1/2 de la méthode plus générale :

On reconnaît ainsi que la méthode de quadrature utilisée pour les temps intermédiaires est celle du point milieu.

C'est une méthode d'ordre 2 car l'erreur est de l'ordre de h3.

Une alternative à la méthode précédente est la méthode de Heun, correspondant au cas α = 1. La méthode de quadrature repose sur la méthode des trapèzes.

La méthode de Crank-Nicolson

[modifier | modifier le code]

La méthode de Crank-Nicolson est une méthode implicite déduite de la formule des trapèzes pour la quadrature. Elle s'énonce de la façon suivante :

Le tableau de Butcher associé est :

C'est une méthode d'ordre 2: l'erreur est de l'ordre de h3.

La méthode de Runge-Kutta classique d'ordre quatre (RK4)

[modifier | modifier le code]

C'est un cas particulier d'usage très fréquent, noté RK4.

Considérons le problème suivant :

La méthode RK4 est donnée par l'équation :

L'idée est que la valeur suivante (yn+1) est approchée par la somme de la valeur actuelle (yn) et du produit de la taille de l'intervalle (h) par la pente estimée. La pente est obtenue par une moyenne pondérée de pentes :

  • k1 est la pente au début de l'intervalle ;
  • k2 est la pente au milieu de l'intervalle, en utilisant la pente k1 pour calculer la valeur de y au point tn + h/2 par le biais de la méthode d'Euler ;
  • k3 est de nouveau la pente au milieu de l'intervalle, mais obtenue cette fois en utilisant la pente k2 pour calculer y ;
  • k4 est la pente à la fin de l'intervalle, avec la valeur de y calculée en utilisant k3.

Dans la moyenne des quatre pentes, un poids plus grand est donné aux pentes au point milieu.

La méthode RK4 est une méthode d'ordre 4, ce qui signifie que l'erreur commise à chaque étape est de l'ordre de h5, alors que l'erreur totale accumulée est de l'ordre de h4.

Ces formules sont aussi valables pour des fonctions à valeurs vectorielles.

Solutions numériques de (avec ) obtenue par différentes méthodes de Runge-Kutta et comparées à la solution exacte. Le pas est . On note que l'ordre de précision de la méthode est lié à l'erreur : la méthode d'Euler Explicite a une erreur nettement plus importante que celle de RK4.

La méthode de Runge-Kutta d'ordre quatre avec dérivée seconde

[modifier | modifier le code]

Dans le cas d'une équation différentielle ordinaire d'ordre 2 de la forme :

on peut décomposer le problème en un système d'équations :

On se ramène alors à un système d'équations différentielles du premier ordre de la forme

Le système peut être résolu numériquement en utilisant une méthode de Runge-Kutta. Par exemple, en appliquant la méthode RK4 à chacune de ces équations, puis en simplifiant on obtient[4] :

On en déduit yn + 1 et y'n + 1 grâce à:

La méthode peut être étendue à des équations différentielles ordinaires d'ordre supérieur.

Références

[modifier | modifier le code]
  1. (en) J. C. Butcher, Numerical Methods for Ordinary Differential Equations, J. Wiley, , 440 p. (ISBN 978-0-471-96758-3), p. 86-92
  2. a et b Jean-Pierre Demailly, Analyse numérique et équations différentielles, Collection Grenoble Sciences, , 309 p. (ISBN 978-0-471-96758-3), p. 211-213
  3. Jean-Pierre Demailly, Analyse numérique et équations différentielles [détail des éditions]
  4. « Help with using the Runge-Kutta 4th order method on a system of 2 first order ODE's. »

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]