Le tableau 5.3 synth´etise les valeursfinales deC,D etM pour les impl´ementations na¨ıves des m´ethodes d’Euler, de RK2 et de RK4 enbinary64.
Tableau 5.3 – Synth`ese des constantes d’erreurs locales pour Euler, RK2 et RK4
M´ethode C D M r´esultat
Euler 9,01u 1,01 2(1−ξ2u) lemme 5.5 RK2 24,03u 1,01 2(1−5,01uξ ) lemme 5.6 RK4 54,47u 5,34 1−3ξ3u lemme 5.7
5.5 Erreurs globales
En section 5.4, nous avons exhib´e des bornes sur l’erreur locale de m´ethodes clas-siques. Comme indiqu´e en section 5.2, l’´etape suivante consiste `a borner l’erreur d’ar-rondi globale de ces mˆemes m´ethodes. Nous prouvons tout d’abord, en section 5.5.1, que nous pouvons d´eduire une borne d’erreur globale `a partir d’une borne sur les erreurs locales relatives de toutes les it´erations pr´ec´edentes. Nous en d´eduisons ensuite, en sec-tion 5.5.2, les bornes d’erreurs globales associ´ees aux m´ethode d’Euler, de Runge-Kutta 2 et de Runge-Kutta 4.
5.5.1 Passage des erreurs locales aux erreurs globales
Cette section est vou´ee au lien de d´ependance entre erreurs locales et globales.
L’analyse propos´ee inclut la gestion des d´epassements de capacit´e inf´erieurs lors du passage des erreurs locales aux erreurs globales.
Tout d’abord, nous prouvons un lemme auxiliaire et relativement simple : Lemme 5.8. Soit C ⩾0, ρ⩾0. Supposons que 0<Cu+ρ. Alors, pour tout n∈N:
(Cu+ρ)n+1�ε0+nCu∣y0∣
Cu+ρ�+Cuρn∣y0∣ ⩽(Cu+ρ)n+1�ε0+ (n+1)Cu∣y0∣ Cu+ρ�. D´emonstration. En simplifiant par (Cu+ρ)n+1ε0 de chaque cˆot´e de l’in´egalit´e, il reste
`a prouver :
(Cu+ρ)n+1nCu∣y0∣
Cu+ρ+Cuρn∣y0∣ ⩽(Cu+ρ)n+1(n+1)Cu∣y0∣ Cu+ρ. En simplifiant par (Cu+ρ)n+1nCuCu∣+y0ρ∣, il reste `a prouver que :
Cuρn∣y0∣ ⩽(Cu+ρ)n+1Cu∣y0∣ Cu+ρ.
Cela est trivialement vrai si y0=0 ou C =0. Dans les autres cas, il reste `a prouver : ρn ⩽(Cu+ρ)n+1 1
Cu+ρ = (Cu+ρ)n.
CommeC ⩾0, l’in´egalit´e est v´erifi´ee, ce qui ach`eve la d´emonstration.
Le th´eor`eme qui suit permet d’obtenir une borne sur l’erreur d’arrondi globale d’une m´ethode donn´ee `a partir de toutes les erreurs locales pr´ec´edentes. Dans la section 5.4, la borne sur l’erreur locale `a l’it´erationn d´epend de l’occurrence ou non de d´epassements de capacit´e inf´erieurs. Le caract`ere stable des m´ethodes ´etudi´ees permet en fait de montrer que, tant que la derni`ere erreur locale n’est pas impact´ee par les d´epassements de capacit´e inf´erieurs, il en est de mˆeme pour l’erreur globale.
Th´eor`eme 5.9. Passage des erreurs locales aux erreurs globales
Soit h∈F, λ∈ R. Soit C ⩾ 0, D ⩾0, M > 0. Consid´erons une m´ethode de Runge-Kutta dont la fonction de stabilit´e est R(h,λ). Soit (ỹn)n∈N la suite des solutions calcul´ees par cette m´ethode. Soient (εn)n∈N et (En)n∈N les suites des erreurs locales et globales associ´ees `a l’impl´ementation de cette m´ethode. Supposons que :
● ∀n∈N∗,∣ ̃yn∣ ⩾M⇒εn ⩽Cu∣�yn−1∣;
● ∀n∈N∗,εn⩽Cu∣�yn−1∣+Dη;
● 0<Cu+∣R(h,λ)∣<1.
Alors :
● ∀n,∣ ̃yn∣ ⩾M⇒ ∣En∣ ⩽(Cu+∣R(h,λ)∣)n �ε0+nCuCu+∣R∣y(0h,λ∣ )∣�;
● ∀n,∣En∣ ⩽(Cu+∣R(h,λ)∣)n�ε0+nCu+∣R(h,λ)∣Cu∣y0∣ �+nDη.
D´emonstration. Nous proc´edons par induction sur n. Pour n=0, nous avons :
∣E0∣=ε0= (Cu+∣R(h,λ)∣)0�ε0+0 Cu∣y0∣
Cu+∣R(h,λ)∣�+0Dη et les deux conclusions du th´eor`eme sont trivialement vraies.
Supposons que le r´esultat est vrai pour un certainn∈N.
● Supposons que ∣�yn+1∣ ⩾M.
Par application du lemme 5.1, nous avons ∣ ̃yn∣ ⩾ M. Essayons maintenant de borner ∣En+1∣par simple d´epliage des d´efinitions d’erreurs donn´ees par les ´equa-tions (6.4) et (6.5) et via une in´egalit´e triangulaire :
∣En+1∣ ⩽ ∣�yn+1−R(h,λ)ỹn∣+∣R(h,λ)ỹn−R(h,λ)yn∣=εn+1+∣R(h,λ)∣∣En∣. Nous bornons εn+1 en utilisant l’hypoth`ese du th´eor`eme :
εn+1⩽Cu∣ ̃yn∣ ⩽Cu(∣ ̃yn−yn∣+∣yn∣) =Cu∣En∣+Cu∣R(h,λ)∣n∣y0∣. (5.8) Puis, via l’´equation (5.8) :
5.5. ERREURS GLOBALES 90
∣En+1∣ ⩽
Cu∣En∣+Cu∣R(h,λ)∣n∣y0∣+∣R(h,λ)∣∣En∣= (Cu+∣R(h,λ)∣)∣En∣+Cu∣R(h,λ)∣n∣y0∣. En utilisant l’hypoth`ese d’induction, nous obtenons :
∣En+1∣ ⩽(Cu+∣R(h,λ)∣)(Cu+∣R(h,λ)∣)n�ε0+n Cu∣y0∣ Cu+∣R(h,λ)∣�
+ Cu∣R(h,λ)∣n∣y0∣
= (Cu+∣R(h,λ)∣)n+1 �ε0+n Cu∣y0∣
Cu+∣R(h,λ)∣�+ Cu∣R(h,λ)∣n∣y0∣. Puis, en appliquant le lemme 5.8 avec ρ=∣R(h,λ)∣:
∣En+1∣ ⩽(Cu+∣R(h,λ)∣)n+1 �ε0+ (n+1) Cu∣y0∣ Cu+∣R(h,λ)∣�.
● Supposons que ∣�yn+1∣est quelconque.
En bornantεn+1 `a partir des hypoth`eses :
∣En+1∣ ⩽εn+1+∣R(h,λ)∣∣En∣ ⩽Cu∣ ̃yn∣+Dη+∣R(h,λ)∣∣En∣
⩽Cu(∣ ̃yn−yn∣+∣yn∣) +Dη+∣R(h,λ)∣∣En∣
=Cu∣En∣+Cu∣R(h,λ)∣n∣y0∣+Dη+∣R(h,λ)∣∣En∣
= (Cu+∣R(h,λ)∣)∣En∣+Cu∣R(h,λ)∣n∣y0∣+Dη.
En utilisant l’hypoth`ese d’induction, nous obtenons :
∣En+1∣ ⩽(Cu+∣R(h,λ)∣)
×�(Cu+∣R(h,λ)∣)n�ε0+nCu+∣R(h,λ)∣Cu∣y0∣ �+nDη�+Cu∣R(h,λ)∣n∣y0∣+Dη
= (Cu+∣R(h,λ)∣)n+1 �ε0+nCu+∣R(h,λ)∣Cu∣y0∣ �
+Cu∣R(h,λ)∣n∣y0∣+ (Cu+∣R(h,λ)∣)nDη+Dη
⩽(Cu+∣R(h,λ)∣)n+1 �ε0+nCuCu∣y+∣R(h,λ0∣ )∣�+Cu∣R(h,λ)∣n∣y0∣+ (n+1)Dη.
En appliquant le lemme 5.8 :
∣En+1∣ ⩽(Cu+∣R(h,λ)∣)n+1 �ε0+ (n+1) Cu∣y0∣
Cu+∣R(h,λ)∣�+ (n+1)Dη.
Ce th´eor`eme permet de borner l’erreur d’arrondi globale de fa¸con g´en´erique, mˆeme en pr´esence de d´epassements de capacit´e inf´erieurs. Bien que les erreurs locales s’accu-mulent au cours des it´erations, l’erreur globale ne diverge pas de mani`ere trop rapide.
Le ph´enom`ene s’explique par la propri´et´e de stabilit´e lin´eaire : il y a un effet d’amortis-sement des premi`eres erreurs dˆu `a la multiplication par ∣R(h,λ)∣<1. Ce r´esultat induit donc une relation int´eressante entre la stabilit´e au sens de l’analyse num´erique et la stabilit´e au sens de l’arithm´etique `a virgule flottante. En l’absence de d´epassement de capacit´e inf´erieur, le th´eor`eme 5.9 donne ´egalement une borne sur l’erreur relative :
� ̃yn−yn
yn � ⩽ �Cu+∣R(h,λ)∣
∣R(h,λ)∣ �
n
�� ̃y0−y0
y0 �+n Cu
Cu+∣R(h,λ)∣�.
Si, de plus, Cu≪ ∣R(h,λ)∣, l’expression se r´eduit `a :
� ̃yn−yn
yn � ≲ � ̃y0−y0
y0 �+n Cu
∣R(h,λ)∣. (5.9)
Les r´esultats de la section 5.4 montrent qu’en pratique la constante C est de petite taille (au plus 54,47 pour les m´ethodes de Runge-Kutta consid´er´ees). Faire l’hypoth`ese Cu ≪ ∣R(h,λ)∣ est donc raisonnable et permet d’obtenir une borne d’erreur relative proportionnelle au nombre n d’it´erations.
Le th´eor`eme 5.9 est un cas particulier du th´eor`eme 6.12 qui correspond au cas matriciel et a ´et´e formalis´e en Coq.
5.5.2 Bornes sur l’erreur globale de m´ ethodes de Runge-Kutta
En section 5.4, nous avons exhib´e des bornes sur les erreurs locales de certaines m´e-thodes de Runge-Kutta. Puis, en section 5.5.1, nous avons montr´e qu’il ´etait possible de borner l’erreur d’arrondi globale `a partir des bornes d’erreurs locales des it´erations pr´ec´edentes (th´eor`eme 5.9). L’obtention de bornes d’erreurs globales est donc un pro-c´ed´e m´ecanique et presque imm´ediat. Dans cette section, nous bornons l’erreur globale induite par les m´ethodes d’Euler, de Runge-Kutta 2 et de Runge-Kutta 4. Comme dans la section 5.4.2, le format consid´er´e est binary64.
Nous commen¸cons par la m´ethode d’Euler, pour laquelle il faut instancier le th´eo-r`eme 5.9 avec les constantes du lemme 5.5,i.e. C=9,01, D=1,01 et M = 2(1−2u)ξ . Th´eor`eme 5.10. Borne sur l’erreur globale de la m´ethode d’Euler
Soit h ∈ F, λ ∈ R. Supposons que −2 ⩽ hλ ⩽ −2−100, 9,01u+∣1+hλ∣ < 1 (stabilit´e) et 2−60⩽h⩽1. Alors, dans le format binary64 :
● ∀n,∣En∣ ⩽(9,01u+∣1+hλ∣)n�ε0+n9,01u9,01u∣y+∣1+0hλ∣ ∣�+1,01nη;
● ∀n,∣ ̃yn∣ ⩾ 2(1−ξ2u) ⇒ ∣En∣ ⩽(9,01u+∣1+hλ∣)n�ε0+n9,01u9,01u+∣1∣y+0hλ∣ ∣�.
De mˆeme, pour la m´ethode de Runge-Kutta d’ordre 2, il suffit d’instancier le th´eo-r`eme 5.9 en utilisant les constantes donn´ees par le lemme 5.6.
5.6. GESTION DES D´EPASSEMENTS DE CAPACIT´E SUP´ERIEURS 92