Stabilité d'un schéma numérique
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Racine_carr%C3%A9e_bleue.svg/35px-Racine_carr%C3%A9e_bleue.svg.png)
Cet article est une ébauche concernant les mathématiques.
Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.
En analyse numérique, la stabilité d’un schéma numérique aux différences finies est une propriété globale de l’algorithme qui en découle. Elle concerne essentiellement le comportement numérique qui se manifeste lorsque les pas de discrétisation (, , etc.) tendent tous vers 0.
Sous certaines hypothèses, le théorème de Lax montre que la stabilité est une condition nécessaire et suffisante pour assurer la convergence.
Bien qu’un schéma numérique soit conçu pour tenter de résoudre un problème décrit par des équations aux dérivées partielles, la stabilité du schéma n’a aucun lien avec la solution exacte du problème.
La stabilité d’un schéma ne doit pas être confondue avec la stabilité de la solution du problème d’origine (par exemple la stabilité de Lyapunov des systèmes dynamiques).
La stabilité dans le théorème de Lax
Considérons un problème supposé être bien posé qui modélise un système évolutif caractérisé par
- une condition initiale précisant son état d’origine (variables spatiales en ),
- des équations aux dérivées partielles et des conditions de bord auxquelles est soumis l’état du système au cours de son évolution.
Dans ce contexte, un schéma numérique procède de la manière suivante :
- Discrétisation des variables spatiales (pas ) pour établir une approximation numérique de l’ état d’origine.
- Discrétisation de la variable temporelle (sur avec un pas ) pour entreprendre un processus se déroulant par étapes successives au cours desquelles l’état numérique se transforme.
Notons l’opérateur de modification de l’état discret au cours d’une étape, ceci en supposant une relation liant à qui contraint à converger vers 0 lorsque fait de même.
La stabilité est définie par la propriété suivante [1] :
Il existe tel que l’ensemble des opérateurs est uniformément borné,
pour tout et tout .
On remarque que la stabilité est une qualité intrinsèque du schéma numérique ( est le seul élément du problème intervenant dans cette définition).
Lorsque cette propriété n’est pas satisfaite, le schéma est instable.
Exemple concret
Un problème typique qui peut être résolu par une méthode des différences finies est l’équation de la chaleur (présentée ici sous sa forme épurée) :
- pour , avec
- donné comme condition initiale et
- pour les conditions aux limites.
Cette formulation modélise l’évolution de la température d’un barreau de métal (une dimension) isolé, préalablement chauffé et dont les extrémités sont maintenues à température nulle.
Afin de résoudre numériquement ce problème, considérons successivement deux schémas pour lesquels la dérivée temporelle est traitée par le schéma d'Euler. À partir des pas et , (Précisez ce qu'est M, ?) notons l’approximation de .
Schéma explicite
Définissons et considérons le schéma explicite (ou progressif) suivant :
- pour tout
- pour tout
- et
Lorsque , le schéma est stable pour la norme spatiale définie par
Avec l’hypothèse sur , il suffit de remarquer que est une pondération (avec des poids positifs ou nuls et de somme égale à 1) des valeurs de l’étape précédente. Ainsi pour tout .
Par conséquent et
Cependant, lorsque , le schéma est instable pour toute norme spatiale.
Notons le vecteur dont les composantes sont les pour .
Le schéma peut s’écrire où est une matrice carrée symétrique de taille (dont les valeurs propres sont réelles).
Pour prouver l’instabilité du schéma, il suffit de trouver un vecteur propre de dont la valeur propre est de module supérieur à . Ainsi, puisque , alors et par conséquent
En choisissant , on vérifie . Ainsi, est vecteur propre de pour la valeur propre
Avec l’hypothèse sur (une valeur fixée) :
- et la suite n’est pas bornée.
Remarque concernant l’instabilité
L’instabilité d’un schéma n’implique pas nécessairement que son application dans un cas particulier conduise nécessairement à une divergence.
L’exemple de conditions initiales nulles () le prouve puisque les solutions numérique et analytique sont identiquement nulles.
Un exemple plus instructif montre que, pour une version instable du schéma précédent, il existe des conditions initiales régulières pour lesquelles il y a convergence. En réalité, cette convergence n’est que « théorique», car il faut traiter les calculs numériques avec une précision infinie pour l’obtenir.
En pratique, même à l’aide d’outils de calcul offrant une grande précision relative, une dégénérescence se manifeste tôt ou tard. La figure ci-dessous illustre ce phénomène pour le problème précédent :
Choisissons la condition initiale pour laquelle on vérifie que la solution analytique est la suivante :
où .
Quels que soient et , on définit toujours qui est supposé constant.
Les conditions initiales conduisent à .
On vérifie ensuite par induction que , ce qui entraîne
- où
À ce stade, on a montré que le rapport entre les solutions analytique et numérique s’écrit pour tout :
- où
Montrons finalement (uniformément en j) en utilisant le développement limité de Taylor des deux termes dont est le produit :
Par conséquent :
dont on déduit (quel que soit le choix de ) : avec une convergence en
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Instabilite_numerique.png/400px-Instabilite_numerique.png)
Ce résultat est obtenu en résolvant le problème de la chaleur avec la condition initiale pour laquelle le schéma précédent est théoriquement convergent (19 pas d’espaces, k = 0.7, calculs avec 16 chiffres significatifs).
Pour les 50 premiers pas temporels, les résultats sont proches de la solution analytique. Après 60 pas de temps, les premières irrégularités se manifestent, puis le chaos s’installe rapidement.
Ce comportement s’explique sans doute par le fait que des erreurs négligeables du calcul apportent une très légère contribution à des composantes typiquement instables du schéma. On reconnaît d’ailleurs à la dernière étape visualisée les oscillations typiques de la fonction utilisée dans la preuve de l’instabilité (menu déroulant ci-dessus).
Schéma implicite
Toujours avec , considérons le schéma implicite (ou rétrograde) suivant :
- pour tout
- pour tout
- et
Pour sa mise en œuvre, ce schéma nécessite de résoudre à chaque étape temporelle un système linéaire dont la matrice est symétrique tridiagonale et à diagonale dominante (donc régulière). La matrice étant la même à chaque pas, une seule décomposition (LU, QR, Cholesky, etc) est suffisante.
Pour la norme spatiale , ce schéma est stable pour toute valeur de .
Notons (respectivement ) la valeur de l’indice pour laquelle est maximal (resp. minimal). On vérifie que le terme multiplié par est positif pour et négatif pour . Ainsi
Ces deux inégalités respectent d’ailleurs la physique de la diffusion de la chaleur.
Par induction, on en déduit , et donc la stabilité du schéma.
Schéma de Crank-Nicolson
Ce schéma est défini en choisissant comme second membre la moyenne des seconds membres respectifs des deux schémas précédents, soit
Référence
- ↑ (en) P. D. Lax, R.D. Richtmyer, « Survey of the stability of linear finite difference equations », Comm. Pure Appl. Math., vol. 9, , p. 267-293 (DOI 10.1002/cpa.3160090206, lire en ligne)
Voir aussi
- Théorème de Lax
- Consistance d'un schéma numérique
Portail de l'analyse