24
Licence ` a distance Chapitre V : Equations diff´ erentielles. M´ ethodes num´ eriques ` a un pas. M. Granger Table des mati` eres 1 Rappels sur le cours d’´ equations diff´ erentielles 2 1.1 en´ eralit´ es .......................................... 2 1.2 Enonc´ e du th´ eor` eme de Cauchy-Lipschitz ......................... 2 1.3 Sur la r´ egularit´ e des solutions. ................................ 3 1.4 ethode d’Euler. ....................................... 4 2 Introduction ` a la notion de sch´ ema num´ erique 6 3 Quelques exemples de m´ ethodes ` a un pas 8 3.1 ethode d’Euler. ....................................... 8 3.2 ethode de Taylor d’ordre p. ................................ 8 3.3 ethode du point milieu. .................................. 9 4 Etude g´ en´ erale de la convergence des m´ ethodes ` a un pas : consistance et stabilit´ e 11 4.1 Consistance, stabilit´ e et convergence ............................ 11 4.1.1 La notion de consistance d’un sch´ ema ....................... 11 4.1.2 La notion de stabilit´ e ................................ 11 4.1.3 La notion de convergence .............................. 12 4.2 Quelques conditions suffisantes ou n´ ecessaires et suffisantes de consistance ou de stabilit´ e. 13 4.3 Ordre d’une m´ ethode ` a un pas et erreur globale. ..................... 16 4.3.1 .- ............................................ 16 4.3.2 La constante SCT de majoration de l’erreur globale ............... 16 4.3.3 La constante SCT de majoration de l’erreur globale ............... 17 5 Quelques remarques sur les aspects num´ eriques 17 5.1 Sur les inconv´ enients du cumul des erreursd’arrondi ................... 17 5.2 Probl` emes de Cauchy bien pos´ es num´ eriquement, probl‘emes mal conditionn´ es .... 18 6 ethode(s) de Runge Kutta. 19 6.1 description de la m´ ethode .................................. 19 6.2 Quelques exemples ...................................... 20 6.3 Th` emes de TD ........................................ 21 6.3.1 Tester (RK) 4 sur l’exemple f´ etiche y 0 = -y. .................... 21 6.3.2 Ordre d’une m´ ethode (RK) 4 . ............................ 22

Licence a distance Chapitre V : Equations di erentielles. M …granger/ananum/Chapitre_V.pdf · 2010. 1. 5. · 4 Etude g en erale de la convergence des m ethodes a un pas : consistance

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • Licence à distance

    Chapitre V : Equations différentielles. Méthodes numériques à un pas.

    M. Granger

    Table des matières

    1 Rappels sur le cours d’équations différentielles 21.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Enoncé du théorème de Cauchy-Lipschitz . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Sur la régularité des solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Méthode d’Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2 Introduction à la notion de schéma numérique 6

    3 Quelques exemples de méthodes à un pas 83.1 Méthode d’Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2 Méthode de Taylor d’ordre p. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.3 Méthode du point milieu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    4 Etude générale de la convergence des méthodes à un pas : consistance et stabilité 114.1 Consistance, stabilité et convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    4.1.1 La notion de consistance d’un schéma . . . . . . . . . . . . . . . . . . . . . . . 114.1.2 La notion de stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.1.3 La notion de convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    4.2 Quelques conditions suffisantes ou nécessaires et suffisantes de consistance ou de stabilité. 134.3 Ordre d’une méthode à un pas et erreur globale. . . . . . . . . . . . . . . . . . . . . . 16

    4.3.1 .- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3.2 La constante SCT de majoration de l’erreur globale . . . . . . . . . . . . . . . 164.3.3 La constante SCT de majoration de l’erreur globale . . . . . . . . . . . . . . . 17

    5 Quelques remarques sur les aspects numériques 175.1 Sur les inconvénients du cumul des erreursd’arrondi . . . . . . . . . . . . . . . . . . . 175.2 Problèmes de Cauchy bien posés numériquement, probl‘emes mal conditionnés . . . . 18

    6 Méthode(s) de Runge Kutta. 196.1 description de la méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196.2 Quelques exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206.3 Thèmes de TD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    6.3.1 Tester (RK)4 sur l’exemple fétiche y′ = −y. . . . . . . . . . . . . . . . . . . . . 216.3.2 Ordre d’une méthode (RK)4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    1

  • 1 Rappels sur le cours d’équations différentielles

    Les deux premières sous-sections sont des rappels que nous donnons pour fixer les notations denotions et de résultats développés dans le cours d’équations différentielles : cylindre de sécurité etthéorème de Cauchy-Lipschitz. Les deux suivantes sont plus spécifiques à notre propos : régularitédes solutions, avec l’introduction des fonctions f [k](x, y) outil de calcul des dérivées successives d’unesolution et méthode d’Euler, qui est la méthode ”de base” pour le calcul approché des solutions.

    1.1 Généralités

    Les données du problème sont les suivantes :– U ⊂ R× Rm, un ouvert– f : U → Rm, une application (au moins continue. )On cherche les solutions de l’équation différentielle

    (E) y′ = f(t, y),

    c’est à dire les couples (I, ϕ), où I ⊂ R est un intervalle et ϕ : I → Rm est une application dérivable,telle que :

    ∀t ∈ I , (t, ϕ(t)) ∈ U et ϕ′(t) = f(t, ϕ(t)).On s’intéresse au problème de Cauchy de condition initiale (t0, y0), c’est à dire à l’existence d’une

    solution de (E), sur un intervalle I telle que t0 ∈ I, et ϕ(t0) = y0, et à l’éventuelle unicité, pour I fixé,d’une telle solution.

    La condition sur ϕ équivaut à l’équation intégrale :

    ϕ(t) = y0 +∫ tt0

    f(t, ϕ(u))du

    Dans tout ce qui suit f est au minimum supposée continue.Cylindres de sécuritéOn choisit un compact K0 = [t0 − T0, t0 + T0] × B(y0, r0) ⊂ U, centré en (t0, y0), et on note

    M = sup(t,y)∈K0

    ‖f(t, y)‖. Ce nombre M est fini par la compacité de K0 et la continuité de f. Le choix

    de la norme sur Rm est arbitraire.

    Proposition 1 .- Soit T = min(T0, r0M ). Toute solution au problème de Cauchy pour les conditionsinitiales (t0, y0) satisfait à :

    |t− t0| ≤ T =⇒ ‖ϕ(t)− y0‖ ≤ r0On appelle [t0 − T, t0 + T ]×B(y0, r0) un cylindre de sécurité pour la condition initiale (t0, y0).

    1.2 Enoncé du théorème de Cauchy-Lipschitz

    (sans démonstrations)Nous renvoyons au cours d’équations différentielles pour la démonstration à l’aide du théorème du

    point fixe et pour d’éventuels énoncés plus généraux.

    Théorème 1 .- On suppose que f : U → Rm est continue et localement lipschitzienne dans ladeuxième variable, ce qui signifie que tout point de U admet un voisinage de la forme J × V , telqu’il existe une constante k (dépendant de J × V !), avec la condition :

    ∀t ∈ J, ∀y1, y2 ∈ V, ‖f(t, y1)− f(t, y2)‖ ≤ k‖y1 − y2‖

    Alors, pour tout cylindre de sécurité C = [t0−T, t0 +T ]×B(y0, r0), l’équation (E) admet une uniquesolution, de condition initiale (t0, y0), définie sur l’intervalle I = [t0 − T, t0 + T ].

    2

  • 1.3 Sur la régularité des solutions.

    Si la fonction f est différentiable de classe Ck, avec k ≥ 1, on peut en déduire un résultat surl’ordre de dérivabilité des solutions ϕ, et calculer les dérivées successives de ϕ à l’aide de fonctionsconstruites récursivement à partir de f . C’est utile pour obtenir des majorations, fondées sur la formulede Taylor, de l’erreur commise dans une approximation numérique de ϕ.

    Proposition 2 .- 1) Si la fonction f est de classe Ck, avec k ≥ 1, toute solution t 7→ z(t), de l’équation(E) est de classe Ck+1.2) Les fonctions f [i] : U → R, définies récursivement, pour i = 0, · · · , k, par les formules :

    f [0] = f, et f [i+1](t, y) =∂f [i]

    ∂t(t, y) +

    m∑`=0

    f`(t, y)∂f [i]

    ∂y`(t, y)

    sont de classes respectives Ck−i, et pour toute solution z(t) de l’équation (E), ses dérivées successivess’obtiennent par les formules :

    z(i+1)(t) = f [i](t, z(t))

    Démonstration.- On démontre ce résultat par récurrence sur i.-La classe de différentiabilité de f [i], s’obtient par la formule de récurence et une application directe

    de la définition de la classe Ck.-Pour la différentiabilité de z, on montre par récurrence sur i, pour 0 ≤ i ≤ k, l’existence de z(i+1),

    et la formule annoncée en 2).Pour i = 0, il s’agit simplement de l’égalité z′(t) = f(t, z(t)), qui signifie que t→ z(t) est une solution.On voit sur cette relation que z′ est continûment dérivable et la formule de dérivation des fonctionscomposées s’écrit :

    z′′(t) =∂f

    ∂t(t, z(t)) +

    m∑`=0

    z′`(t)∂f

    ∂y`(t, z(t))

    =∂f

    ∂t(t, z(t)) +

    m∑`=0

    f`(t, z(t))∂f

    ∂y`(t, z(t))

    = f [1](t, z(t))

    Pour le pas général de la récurrence, on suppose que z(i+1)(t) = f [i](t, z(t)), avec 1 ≤ i < k. Alorspuisque f [i] est de classe Ck−i, avec k− i > 0, on en déduit que z(i+1) est encore continûment dérivableet par un calcul semblable au cas de z′′, on trouve :

    z(i+2)(t) = (z(i+1))′(t) =∂f [i]

    ∂t(t, z(t)) +

    m∑`=0

    f`(t, z(t))∂f [i]

    ∂y`(t, z(t))

    = f [i+1](t, z(t))

    �Exemple : Dans le cas scalaire (m = 1), voici les formules obtenues pour f [1] et f [2], qui permettent

    de calculer z(2) et z(3) :

    f [1] =∂f

    ∂t+ f.

    ∂f

    ∂y

    f [2] =∂f [1]

    ∂t+ f.

    ∂f [1]

    ∂y

    =∂2f

    ∂t2+ 2f.

    ∂2f

    ∂t∂y+ f2

    ∂2f

    ∂y2+ f(

    ∂f

    ∂y)2 +

    ∂f

    ∂t

    ∂f

    ∂y

    3

  • Exercice : On suppose que f est de classe C1, déterminer par une inégalité l’ensemble des points(t0, y0) au voisinage desquels une solution z(t) telle que z(t0) = y0 soit convexe. Expliciter le résultatpour l’équation y′ = t− y2.

    1.4 Méthode d’Euler.

    On reprend les notations précédentes concenant un cylindre de sécurité, et on ne s’occupe poursimplifier que des solutions à droite c’est à dire sur l’intervalle [t0, t0 + T ].

    Dans toute la suite, on gardera les notations suivantes :

    t0 < t1 < · · · < tN = t0 + T, hn = tn+1 − tn pour n = 0, · · · , N − 1

    définit une subdivision de [t0, t0 + T ], et hn est appelé le (n+ 1)ième pas de la subdivision. On parlede subdivision à pas constant si tn = t0 + nTN , hn =

    TN indépendant de n.

    La méthode d’Euler ou méthode de la tangente consiste à approcher une solution (éventuelle !) z(t)de (E) par une fonction y(t) continue affine par morceaux, affine en restriction à chaque intervalle[tn, tn+1], de pente f(tn, yn) où yn = y(tn). Ceci donne le calcul par récurrence suivant des yn appeléschéma d’Euler et l’expression de y(t) :

    y(t0) = y0 condition initiale ,yn+1 = yn + hnf(tn, yn) formule de récurrence pour les yn,y(t) = yn + (t− tn)f(tn, yn) si t ∈ [tn, tn+1] .

    Ce schéma peut être illustré par le dessin suivant où on a représenté simultanément une solutionexacte z(t) passant par les point Mi de coordonnées (ti, z(ti)), et une solution approchée linéaire parmorceaux de graphe la ligne brisée (A0, A1 · · · ), Ai de coordonnées (ti, yi).

    A3

    M0=A0

    A1

    A2

    M1 M2

    M3

    B2

    t1t0=a t2 t3=b

    fig.1

    Noter que la pente f(tn, yn) du segment AnAn+1 diffère en général (sauf pour n = 0) de z′(tn) =f(tn, z(tn)). Par exemple sur la figure z′(t1) est la pente du segment [M1B2], et f(t1, y1) celle dusegment [A1A2]

    Exercice : Montrer que dans la situation du théorème 1, toute solution approchée affine parmorceaux construite par la méthode de la tangente a un graphe contenu dans le cylindre de sécuritéC.

    4

  • Nous admettrons le résultat suivant de convergence uniforme, qui implique le théorème 1.Soit yp(t) une suite de solution approchées, construite par la méthode d’Euler à partir d’une

    subdivision tp,0 < tp,1 < · · · < tp,Np de l’intervalle [t0, t0 + T ]. On note hp,max = max(hp,1, · · · , hp,Np)appelé pas maximal de la subdivision pour yp.

    Dans la situation du théorème 1 toute suite yp(t), de solutions approchées, dont le pas maximaltend vers zéro lorsque p→∞, converge uniformément vers la solution z(t).

    Dans le chapitre suivant on se place uniquement dans la situation du théorème 1, avec unicité dez(t).

    5

  • 2 Introduction à la notion de schéma numérique

    On considère une équation différentielle y′ = f(t, y), dans laquelle f satisfait aux conditions duthéorème de Cauchy-Lipschitz, et on notera dans toute la suite t 7→ z(t) la solution unique sur[t0, t0 + T ], dont le graphe est contenu dans un cylindre de sécutité [t0 − T, t0 + T ]× B(y0, r0).

    On appelera parfois z la ”solution exacte”, par opposition aux solutions approchées notées t 7→ y(t).Pour l’évaluation approchée de z(t), la stratégie générale est la suivante :• Définir un schéma numérique : on appelle ainsi les formules de récurrence associées à une méthode

    numérique de résolution des équations différentielles. Il s’agit d’une méthode de calcul de valeursapprochées notées yn des z(tn), où les tn sont les termes d’une subdivision à N pas de [t0, t0 +T ] :

    t0 < t1 < · · · < tN = t0 + T

    Le nième pas est noté hn = tn+1 − tn (on commence à l’indice 0), et le pas maximum esthmax = max

    0≤n≤N−1hn

    On peut considérer la fonction affine par morceaux y(t) telle que pour tout n, y(tn) = yn, ce quidonne précisément :

    y(t) = yn +t− tnhn

    (yn+1 − yn) si t ∈ [tn, tn+1]

    • Evaluer ‖y(t)−z(t)‖ pour t ∈ [tn, tn+1] et trouver un majorant (en fonction de f et de la méthodeutilisée) de

    supn

    ( supt∈[tn,tn+1]

    ‖y(t)− z(t)‖

    • Etudier le comportement de cette majoration en fonction de la subdivision et particulièrementlorsque hmax → 0.

    Définition 1 Un schéma numérique à un pas explicite est une équation de récurrence de la forme :{yn+1 = yn + hnΦ(tn, yn, hn)tn+1 = tn + hn

    Le domaine de définition de Φ contient au moins U ×{0} et on doit vérifier dans chaque situationconcrète que l’itération est compatible avec ce domaine de définition.

    Mentionnons d’autres types de schémas numériques dont l’étude dépasse le cadre de ce cours. Dansles méthodes implicites la fonction Φ dépend aussi de yn+1. Dans un schéma numérique explicite à qpas Φ dépend aussi d’un nombre fixe de termes précédemment calculés, yn−q+1 . . . yn, et la méthodedoit être complétée par une initialisation, pour le calcul des q premiers termes.

    Définition 2 Un schéma numérique à un pas implicite est de la forme :{yn+1 = yn + hnΦ(tn, yn, yn+1, hn)tn+1 = tn + hn

    Dans le cas d’une méthode implicite il s’agira le plus souvent de s’assurer que l’équation

    y = yn + hΦ(tn, yn, y, h)

    a une solution unique du moins pour tout h assez petit. Dans les cas les plus courants cela résulteradu théorème des fonctions implicites.

    6

  • Définition 3 Un schéma numérique à q pas explicite est de la forme :{yn+1 = yn + hnΦ(tn, yn, · · · , yn−q, hn)tn+1 = tn + hn

    avec n = Nq, · · · , N − 1.

    Bien sur la calcul de yn n’est possible qu’à partir de l’indice q et la méthode doit être complétée parune initialisation, le calcul des q premiers termes, par exemple par une méthode à un pas.

    L’erreur de consistance au pas n est par définition l’erreur commise sur yn+1, lorsqu’on prend pourles valeurs précédentes des yk les valeurs exactes z(tk), ce qui donne la définition suivante où nousn’explicitons que pour les méthodes a un pas.

    Définition 4 L’erreur de consistance est la suite

    en = z(tn+1)− yn+1(tn, z(tn), hn) = z(tn+1)− z(tn)− hnΦ(tn, z(tn), hn).

    Illustration sur la figure 1. Par définition les erreurs de consistance e1, e2 etc, sont des différencesd’ordonnées égales respectivement aux mesures des segments orientés M1A1, M2B2 · · · . Au premier pase1 n’est autre que l’erreur y1− z(t1), mais dès le deuxième pas l’erreur y2− z(t2) = M2A2) diffère biensur de e2 car A2 6= B2, mais aussi du cumul e1 + e2 dès que les pentes f(t1, y1), et z′(t1) = f(t1, z(t1))des segments A1A2 et M1B2 diffèrent.

    Les valeurs de z(ti) n’étant pas connues pour i ≥ 1, l’erreur de consistance est surtout un outilthéorique qui intervient dans le calcul d’une majoration de l’erreur |z(tn)− yn|.

    Définition 5 On dit qu’un schéma numérique est d’ordre p, si en = o(hp+1n ), lorsque hn → 0.

    Comme on le verra dans la section 4.1.3, L’ordre d’une méthode est une indication importante quiavec la propriété dite de stabilité qui dépend de f gouverne la convergence de y(t) vers z(t). Nousconcluerons seulement cette section par un résultat admis qui donne une première idée intuitive de lanotion d’erreur de consistance :

    Définition 6 Une méthode numérique est dite consistante si

    limhmax→0

    N−1∑n=0

    |en| = 0

    Théorème 2 .- Une méthode à un pas est consistante si et seulement si quel que soit (t, y) ∈ U , ona :

    Φ(t, y, 0) = f(t, y)

    Démonstration.- Nous donnons plus loin une démonstration détaillée qui fait appel à un maniementde sommes de Riemann. Intuitivement on peut justifier cet enoncé en remarquant que par le théorèmedes accroissements finis, z(tn+1)−z(tn) est de l’ordre de hnz′(tn) = hnf(tn, z(tn)), donc que l’erreur deconsistance en = z(tn+1)−z(tn)−hnΦ(tn, z(tn), hn) est de l’ordre de

    [f(tn, z(tn))−Φ(tn, z(tn), hn)

    ].hn.

    Si la condition de l’énoncé n’est pas remplie cette différence est pour h tendant vers zéro de l’ordre deh, avec un facteur multiplicatif ne tendant pas vers zéro. Le cumul des erreurs d d’arrondi serait doncde l’ordre du cumul des hn c’est à dire de la quantité fixe T , donc l’erreur ne tendrait pas vers 0 avecle pas. �

    7

  • 3 Quelques exemples de méthodes à un pas

    3.1 Méthode d’Euler.

    On a déjà décrit cette méthode appelée aussi méthode de la tangente qui correspond au cas de lafonction :

    φ(t, y, h) = f(t, y)

    indépendante de t, définie sur U × R.Calcul de l’erreur de consistance

    en =z(tn + hn)− z(tn)− hn.f(tn, z(tn))=z(tn + hn)− z(tn)− hn.z′(tn) par définition de z

    Lorsque f est de classe C1, z est de classe C2 et l’erreur de consistance prend la forme suivante grâceà la formule de Taylor.

    en =12h2nz

    ′′(tn) + o(h2n)

    12h2nf

    [1](tn, z(tn)) + o(h2n)

    Ainsi la méthode d’Euler est d’ordre un.

    3.2 Méthode de Taylor d’ordre p.

    On suppose ici que f est de classe Cp. On a vu alors que z est de classe Cp+1 et on a défini desfonction f [k], construite par récurrence à partir de f et de ses dérivées partielles telles que z(k)(t) =f [k−1](t, z(t)), pour k = 1, . . . , p+ 1. La formule de Taylor à l’ordre p+ 1 s’écrit alors :

    z(tn + hn) = z(tn) +p∑

    k=1

    hkn1k!f [k−1](tn, z(tn)) +

    1(p+ 1)!

    f [p](tn, z(tn))hp+1n + o(hp+1n )

    ou avec la formule de Taylor Lagrange :

    z(tn + hn) = z(tn) +p∑

    k=1

    hkn1k!f [k−1](tn, z(tn)) +

    1(p+ 1)!

    f [p](tn + θhn, z(tn + θhn))hp+1n , θ ∈]0, 1[.

    Ceci suggère le schéma numérique suivant obtenu en remplaçant les valeurs inconnues z(tk) par les yk.

    (Tp)

    yn+1 = yn +p∑

    k=1

    hkn1k!f [k−1](tn, yn)

    tn+1 = tn + hn

    La fonction Φ associée à cette méthode est :

    Φ(t, y, h) =p∑

    k=1

    hk−11k!f [k−1](t, y)

    Le résultat suivant généralise celui qu’on a déjà trouvé pour la méthode d’Euler (T1).

    Proposition 3 La méthode de Taylor (Tp) est du point de vue de l’erreur de consistance d’ordre p.Plus précisément, si on considère un cylindre de sécurité C = [t0 − T, t0 + T ] × B(y0, r), on a unemajoration :

    en ≤1

    (p+ 1)!sup

    (t,y)∈C‖f [p](t, y)‖hp+1n

    8

  • En effet selon la formule de Taylor qui a servi de base à la méthode on obtient directement (en prenantla formule de Taylor avec reste de Lagrange) :

    en = z(tn + hn)− z(tn)−p∑

    k=1

    hkn1k!f [k−1](tn, z(tn))

    =1

    (p+ 1)!f [p](tn + θhn, z(tn + θhn))hp+1n ≤

    1(p+ 1)!

    sup(t,y)∈C

    ‖f [p](t, y)‖hp+1n

    3.3 Méthode du point milieu.

    Notons Mn le point de coordonnées (tn, z(tn)) du graphe de z. Le segment [Mn,Mn+1] a une penteplus proche en général de z′(tn + hn2 ) pente de la tangente au ”point milieu” que de z

    ′(tn), pente dela tangente en Mn, comme le montre la figure ci-dessous :

    M0

    M1

    M1/2

    T

    A1

    A’1

    tn tn+hnfig.2

    On peut donc considérer qu’une approximation de z(tn+1) à partir de z(tn) meilleure que l’expres-sion z(tn) + f(tn, z(tn)) de la méthode d’Euler est :

    (1) z(tn) + hnz′(tn +hn2

    ) = z(tn) + hnf(tn +hn2, z(tn +

    hn2

    ))

    Dans le schéma numérique que nous avons en vue on peut prendre par récurrence yn approximationde z(tn).

    Comme z(tn + tn2 ) n’est pas connu non plus, il convient d’en chercher une approximation notéeyn+ 1

    2. Le schéma d’Euler suggère de prendre yn+ 1

    2= yn + hn2 f(tn, yn).

    On aboutit ainsi donc au schéma numérique :

    (M)

    yn+ 12

    = yn +hn2f(tn, yn)

    pn = f(tn +hn2, yn+ 1

    2)

    yn+1 = yn + hnpntn+1 = tn + hn

    Ce schéma est encore une méthode à un pas explicite dans laquelle l’expression explicite de Φ obtenueen développant pn est :

    Φ(t, y, h) = f(tn +hn2, yn +

    hn2f(tn, yn))

    9

  • Proposition 4 La méthode (M) est d’ordre 2 dès que f est de classe C2.

    Démonstration.- On écrit le schéma (M) avec yn = z(tn) ce qui donne l’erreur de consistance

    en = z(tn + hn)− z(tn)− hnpn, avec pn = f(tn +hn2, yn +

    hn2f(tn, z(tn))

    Comme pn est une approximation de z′(tn + hn2 ), on a interêt à décomposer en ainsi :

    en = e′n + e′′n avec

    {e′n = z(tn + hn)− z(tn)− hnz′(tn + hn2 )e′′n = hn(z

    ′(tn + hn2 )− pn).

    On trouve d’abord en apppliquant la formule de Taylor jusqu’au terme en h3n aux deux fonctions z etz′ :

    e′n = z(tn + hn)− z(tn)− hnz′(tn)− hn(z′(tn +hn2

    )− z′(tn))

    =h2n2z′′(tn) +

    h3n6z(3)(tn) + o(h3n)− hn(

    hn2z′′(tn) +

    h2n8z(3)(tn)o(h2n))

    =h3n24z(3)(tn) + o(h3n) =

    h3n24f [2](tn, z(tn)) + o(h3n)

    d’autre part on peut appliquer la formule de Taylor par rapport à la variable y dans l’expression dee′′n, ce qui donne :

    e′′n = hn[f(tn +hn2, z(tn +

    hn2

    ))− f(tn +hn2, z(tn) +

    hn2

    )f(tn, yn))]

    = hn∂f

    ∂y(tn +

    hn2,Θn)[z(tn +

    hn2

    ))− z(tn)−hn2

    )f(tn, yn)]

    avec Θn sur le segment ]z(tn) + hn2 )f(tn, yn), z(tn +hn2 ))[=]yn+ 12 , z(tn +

    hn2 ))[ Du fait que Θn =

    yn + O(hn), et du fait que ∂f∂y est de classe C1 on déduit que ∂f∂y (tn +

    hn2 ,Θn) =

    ∂f∂y (tn, yn) + O(hn)

    et finalement tenant compte de z′(tn) = f(tn, z(tn)), et en appliquant encore la formule de Taylor àl’ordre 2 à z(tn + hn2 ) :

    e′′n = hn(∂f

    ∂y(tn, yn) +O(hn))(

    hn2z′(tn) +

    12h2n2z′′(tn)−

    hn2

    )f(tn, yn))

    =h3n8∂f

    ∂y(tn, yn)z′′(tn)o(h3n) =

    h3n8∂f

    ∂y(tn, yn)f [1](tn, z(tn)) + o(h3n)

    � En apparence ce calcul semble restreint au cas scalaire m = 1, mais en fait il est intégralementvalable en général à condition de considérer que ∂f∂y (t, y).v désigne la valeur sur le vecteur v ∈ R

    n del’application linéaire Rn → Rn dérivé partielle de f au point (t, y) ∈ U ⊂ R× Rn.Exercice Montrer avec les même calculs mais la formule de Taylor-Lagrange la majoration explicitesuivante, qui met en jeu des normes du sup sur le cylindre de sécurité :

    en ≤ (124‖f [2]‖∞ +

    18‖∂f∂y‖∞‖f [1]‖∞)hmax.

    Un exemple simple : On considère l’équation y′ = −y, avec les données initiales t0 = 0, y0 = 1, etla subdivision de [0, 1] de pas constant 110 , tn =

    n10 , n = 0, · · · , 10.

    10

  • La solution exacte est connue : z(t) = e−t, ce qui permet de comparer aisément différentes méthodesquant à leur précision en fonction du pas.

    La comparaison est proposée en exercice et on constatera des erreurs respectives de l’ordre de2.10−2, 10−3, 2.10−5 pour les schémas (T1) (T2) et (T3). On verra aussi que pour atteindre la mêmeprécision que par 10 pas avec (T3), le nombre de pas nécessaires serait de :-100 pas dans le cas de la méthode de Taylor d’ordre 2.-10000 pas dans le cas de la méthode d’Euler.

    Vérifier au passage que la méthode du point milieu donne sur cet exemple la même formule que T2Cet exemple montre que la méthode d’Euler n’est pas assez précise pour qu’on puisse s’en contenter

    dans la pratique. L’augmentation du nombre de pas est en effet préjudiciable à cause du cumul deserreurs d’arrondis, qui pour une méthode donnée impose une borne à la précision.

    Le choix d’une méthode résulte d’un compromis entre la sophistication du schéma utilisé qui doitrester raisonnable et le gain d’efficacité.

    On étudiera dans la section 6 le méthode(s) de Runge Kutta. Il y a toute une famille de schémasnumériques qui portent ce nom, mais le plus classique et le plus utilisé d’entre eux est celui d’ordre 4.

    4 Etude générale de la convergence des méthodes à un pas : consis-tance et stabilité

    4.1 Consistance, stabilité et convergence

    4.1.1 La notion de consistance d’un schéma

    Il s’agit du bon comportement de l’erreur du même nom.

    Définition 7 Une méthode numérique est dite consistante si

    limhmax→0

    N−1∑n=0

    |en| = 0

    4.1.2 La notion de stabilité

    Dans la pratique les valeurs de yn sont perturbées par des valeurs voisines ỹn pour deux raisons :1) Erreurs d’arrondi : on représente en machine la valeur yn issue du calcul par un nombre décimal

    à q chiffres : |ỹn − yn|, est alors l’erreur d’arrondi majoré en valeur relative par 10−qyn.2) Incertitude expérimentale Dans la plupart des problèmes concrets la ”vraie” valeur (notion

    mythique...) de y0 est remplacée par une valeur ỹ0 tirée d’une expérience, d’une hypothèse etc :|ỹ0 − y0| est donc majorée par un nombre qui dépend de la précision expérimentale.

    La méthode ne peut donc être utile que si la perturbation sur |ỹN − yN | provoquée par une faibleperturbation |ỹ0− y0| des données initiales et par les erreurs d’arrondi sur les termes ỹn antérieurs estfaible :

    Définition 8 Une méthode est dite stable s’il existe S > 0 tel que quelle que soient les suites , définiespar récurence par les formules : {

    yn+1 = yn + hnΦ(tn, yn, hn)ỹn+1 = ỹn + hnΦ(tn, ỹn, hn) + �n,

    on a :

    max0≤n≤N

    |ỹn − yn| ≤ S(|ỹ0 − y0|+N−1∑n=0

    |�n|).

    11

  • Remarques sur l’évaluation de l’erreur. Dans ces formules �n est une erreur d’arrondi qu’on majoredans la pratique en erreur relative par 0, 5.10−q en fonction de la précision de la machine : q est lenombre de chiffres dans l’écriture en virgule flottante et si yn ∈ [10k−1, 10k[ avec k ∈ Z, l’erreurd’arrondi absolue est au plus 0, 5.10k−q. La quantité |ỹ0 − y0|, de son coté doit être évaluée (doncmajorée) en fonction de la nature (physique ou autre) du problème modélisé.

    Ainsi, selon la définition, on ne peut donc pas espérer une précision relative à priori meilleure que :

    S × (N + 1)× 0, 5.10−16

    pour une écriture de réels avec 16 chiffres significatifs.Par conséquent, le fait qu’une méthode soit stable n’est pas une garantie d’obtenir des résultats

    numériquement fiables lorsqu’on se heurte à l’un des deux écueuils suivants :- Lorsqu’on on prend un pas très petit, donc N très grand N le cumul des erreurs d’arrondis peutprovoquer une erreur trop élevée.- La constante de stabilité S peut être très grande de l’ordre de 10+16 ou plus ce qui ote toutecrédibilité aux résultats obtenus. C’est le cas de problème dits numériquement mal posés. C’est aussile cas, lorsqu’on cherche les solutions pour [t0, t0 + T ], avec T trop grand. En effet que S crôıt expo-nentiellement avec T . Voir la formule finale dans la démonstration du théorème 5 avec une constantede stabilité en S = eLT , et la sous section 4.3.2 avec le facteur SCT = eLTCT pour le facteurd’amplification de l’erreur.

    4.1.3 La notion de convergence

    Faisant abstraction des contraintes pratiques que nous venons d’évoquer on a quand même lesrésultats théoriques suivants, de démonstration très facile, qui relient les deux notions de consistanceet de stabilité à la convergence de la méthode :

    Définition 9 Une méthode numérique est dite convergente si pour toute solution exacte z définie surun intervalle [t0, t0 + T ] et toute suite (yn) construite, selon le schéma numérique considéré, à partirde y0 et d’une subdivision de [t0, t0 + T ], on a la relation de convergence uniforme :

    limhmax→0y0→z(t0)

    max0≤n≤N

    |yn − z(tn)| = 0.

    Théorème 3 Une méthode numérique à un pas qui est stable et consistante est convergente.

    Démonstration.- Posons ỹn = z(tn). Dans ce cas l’erreur de consistance est par définition le réelen qui complète la formule :

    z(tn+1) = ỹn+1 = ỹn + hnΦ(tn, ỹn, hn) + en

    Donc en joue pour la suite des z(tn) le role de la correction �n associé en général à une suite ỹn. D’aprèsla définition de la consistance on a donc :

    max0≤n≤N

    |z(tn)− yn| ≤ S(|z(t0)− y0|+N−1∑n=0

    |en|)

    L’hypothèse de consistance donne alors immédiatement le résultat annoncé. �

    Exercice : Déduire du théorème 4.1.3 la convergence uniforme de y(t), fonction linéaire par morceauxtelle que y(tn) = yn, vers z(t) en utilisant la continuité uniforme de z sur [t0, t0 + T ].

    12

  • 4.2 Quelques conditions suffisantes ou nécessaires et suffisantes de consistance oude stabilité.

    Dans cet énoncé on suppose que Φ remplit la condition suivante presque toujours réalisée dans lesexemples usuels :

    Φ est continue sur un ouvert contenant U × [−h0, h0]

    Théorème 4 .- Une méthode à un pas est consistante si et seulement si quel que soit (t, y) ∈ U , ona :

    Φ(t, y, 0) = f(t, y)

    Démonstration.- D’après le théorème des accroissement finis, il existe quel que soit n un réelcn ∈]tn, tn+1[ tel que :

    en = z(tn+1)− z(tn)− hnΦ(tn, z(tn), hn)= hnz′(tn)− hnΦ(tn, z(tn), hn) = hn[f(cn, z(cn))− Φ(tn, z(tn), hn)]hn[f(cn, z(cn))− Φ(cn, z(cn), 0)] + hn[Φ(cn, z(cn), 0)− Φ(tn, z(tn), hn)]

    Pour clarifier les calculs qui suivent on écrira au moment opportun ce résultat sous la forme :

    en = hn(An +Bn)An = f(cn, z(cn))− Φ(cn, z(cn), 0)Bn = Φ(cn, z(cn), 0)− Φ(tn, z(tn), hn)

    D’après l’uniforme continuité de Φ sur C × [−h0, h0] où C est le polycylindre de sécurité sur lequel ontravaille :

    ∀� > 0, ∃η > 0, α > 0, tels que (|h| < η, |t− t′| < η, |y − y′| < α ⇒ |Φ(t, y, 0)− Φ(t′, y′, h)|)

    Par ailleurs, quitte à diminuer η, on peut s’assurer en utilisant l’uniforme continuité de z sur [t0, t0 +T ]que |hn| < η ⇒ |z(cn)− z(tn)| < α, donc finalement en enchainant les deux implications précédentespar transitivité :

    |hn| < η ⇒ |Φ(cn, z(cn), 0)− Φ(tn, z(tn), hn)| < �

    On en tire

    hmax < η ⇒N−1∑n=0

    hn|Φ(cn, z(cn), 0)− Φ(tn, z(tn), hn)| < �∑

    hn = �T

    Autrement dit avec les notations abrégées en = hn(An +Bn), on a obtenu

    hmax < η ⇒N−1∑n=0

    hn|Bn| < �T

    Donc∑N−1

    n=0 hn|Bn| tend vers zéro quand hmax → 0. Or on peut par ailleur écrire les majorationssuivantes :

    |N∑n=0

    (|en| − hn|An|)| ≤N∑n=0

    ||en| − hn|An||

    ≤N∑n=0

    |en − hn.An| =N∑n=0

    hn|Bn|

    13

  • On a donc démontré que∑N

    n=0 |en| −∑N

    n=0 hn|An| tend vers zéro avec hmax. Or on reconnait dans lasuite

    N∑n=0

    hn|An| =N∑n=0

    hn|f(cn, z(cn))− Φ(cn, z(cn), 0)|

    une suite de sommes de Riemann de l’intégrale I =∫ t0+Tt0

    |f(t, z(t)) − Φ(t, z(t), 0)|, donc une suite

    qui tend vers I. Le résultat obtenu nous donne alors aussi :

    limhmax

    N∑n=0

    |en| = I

    La condition de consistance est équivalente au fait que cette limite est nulle donc à∫ t0+Tt0

    |f(t, z(t))− Φ(t, z(t), 0)| = 0

    La nullité de cette intégrale de fonction positive continue impose pour tout t : f(t, z(t)) = Φ(t, z(t), 0).Dans tout ce raisonnement la condition initiale (t0, y0) est arbitraire, et l’égalité f(t0, y0) = Φ(t0, y0, 0)est valable pour tout (t0, y0) ∈ U �

    Théorème 5 .- Une condition suffisante de stabilité :Si Φ est Lipschitzienne par rapport à la variable y, la méthode est stable. De plus si L est la

    constante de Lipschitz pour Φ, la constante de stabilité est S = eLT .

    Démonstration.- On reprend les notations de la définition 8 et on pose :

    θn = |ỹn − yn|

    Par définition de la constante de Lipschitz pour Φ.

    |Φ(t, y1, h)− Φ(t, y2, h)| ≤ L|y1 − y2|

    quel que soient (t, y1, h) et (t, y2, h) dans le domaine de définition de Φ. La majoration suivante découleaussitôt de la définition de la suite de θn et de la condition de Lipschitz :

    θn+1 = |ỹn+1 − yn+1| = |ỹn − yn + hn(Φ(tn, ỹn, hn)− Φ(tn, yn, hn)) + �n| (1)≤ (1 + hnL)θn + |�n| (2)

    Lemme 1 : Lemme de Gronwall discret .- Les inégalités (2) impliquent :

    θn ≤ eL(tn−t0)θ0 +n−1∑i=0

    eL(tn−ti+1)|�i|

    Démonstration.- C’est un exercice élementaire sur les fonctions R → R de vérifier que ∀x ∈R, 1 + x ≤ ex et on a donc

    1 + hnL ≤ eLhn

    Le lemme se déduit par une récurrence sans mystère de cette majoration et de l’inégalité (2).

    14

  • L’étape de récurrence de n à n+ 1 s’écrit ainsi :

    θn+1 ≤ (1 + hnL)θn + |�n|

    ≤ (1 + hnL)[eL(tn−t0)θ0 +

    n−1∑i=0

    eL(tn−ti+1)|�i|]

    + |�n|

    ≤ eLhn[eL(tn−t0)θ0 +

    n−1∑i=0

    eL(tn−ti+1)|�i|]

    + |�n|

    = eL(tn+1−t0)θ0 +n−1∑i=0

    eL(tn+1−ti+1)|�i|+ |�n|

    = eL(tn+1−t0)θ0 +n∑i=0

    eL(tn+1−ti+1)|�i|

    �On déduit de ce lemme que pour tout n,

    θn ≤ eLT (θ0 +n−1∑i=0

    .|�i|)

    Ceci termine la démonstration du théorème de stabilité avec la constante de stabilité :

    S = eLT

    �Remarque.- Ces calculs ne sont corrects que tant que les (tn, yn, hn) et (tn, ỹn, hn) restent dans le

    domaine où Φ est Lipschitzienne de constante L.

    Corollaire 6 Si f est Lipschitzienne en y, les méthodes d’Euler et du milieu sont convergentes.

    Démonstration.- D’après le théorème 4.1.3 il suffit pour cela d’établir la consistance et la stabilité.- La consistance est une conséquence directe du théorème 4, et de l’égalité Φ|h=0 = f . C’est aussi

    valable pour la méthode de Taylor Tp. La stabilité se déduit du théorème 5 et du fait que Φ estLipschitzienne : pour la méthode d’Euler, c’est immédiat car f = Φ, et pour la méthode du milieucela résulte des calculs suivants :

    φ = f(t+h

    2, y +

    h

    2f(t, y))

    Donc si f est Lipshitzienne en y de constante de Lipschitz L on obtient :

    |Φ(t, y1, h)− Φ(t, y2, h)| ≤ L(|y1 − y2 +

    h

    2f(t, y1)− f(t, y2)|

    )≤ L|y1 − y2|+

    hL

    2|f(t, y1)− f(t, y2)|

    ≤ (L+ h2L2)|y1 − y2|

    D’où le caractère lipschitzien de Φ avec la constante de Lipschitz Λ = L + δ2L2, si on se limite a des

    pas h assez petits c’est à dire assujettis à une condition : 0 < h ≤ δ �Note : On montre aussi que lorsque f est de classe Cp la méthode de Taylor Tp est convergente.

    15

  • 4.3 Ordre d’une méthode à un pas et erreur globale.

    4.3.1 .-

    Définition 10 Une méthode consistante est dite d’ordre p si pour tout compact K il existe C ≥ 0, telque pour toute solution z(t), de graphe {(t, z(t))} contenu dans K, l’erreur de consistance satisfait àla condition :

    |en| ≤ Chp+1n

    Mentionnons une caractérisation de l’ordre p qui s’applique à la méthode de Taylor de même indiceet généralise le critère de consistance déjà énoncé :

    Proposition 5 .- Sous l’hypothèse que Φ est de classe Cp, la méthode est d’ordre p si et seulement siles conditions suivantes sont remplies :

    ∂`Φ∂h`

    (t, y, 0) = 1`+1f[`](t, y) pour 0 ≤ ` ≤ p− 1

    Démonstration.- Rappelons d’abord que l’erreur de consistance est :

    en = z(tn+1)− z(tn)− hnΦ(tn, z(tn), hn)

    La démonstration est similaire (en plus compliqué) a celle de la caractérisation de la consistance, quicorrespond au cas p = 1. En appliquent la formule de Taylor Lagrange on a l’existence de cn, dn ∈]tn, tn+1[ tels que :

    z(tn+1)− z(tn) =hnz′(tn) + · · ·+hknk!z(k)(tn) + · · ·+

    hpnp!z(p)(tn) +

    hp+1n(p+ 1)!

    z(p+1)(cn)

    =p∑

    k=1

    hknk!f [k−1](tn, z(tn)) +

    hp+1n(p+ 1)!

    f [p](cn, z(cn))

    Φ(tn, z(tn), hn) =hn[Φ(tn, z(tn), 0) + · · ·+

    h`n`!∂`Φ∂h`

    (tn, z(tn), 0) + · · ·+hp−1n

    (p− 1)!∂p−1Φ∂hp−1

    (tn, z(tn), 0)

    +hpnp!∂pΦ∂hp

    (dn, z(dn), dn)]

    On en tire

    en = hn[ p−1∑`=0

    h`n`!

    (f [`](tn, z(tn))

    `+ 1− ∂

    `Φ(tn, z(tn), 0)∂h`

    )]

    +hp+1np!

    (f [p](cn, z(cn))

    p+ 1− ∂

    pΦ(dn, z(dn), dn)∂hp

    )

    Pour que cette expression soit un DL en hn de la forme o(hpn), il faut et il suffit que tous les termes

    f [`](tn,z(tn))`+1 −

    ∂`Φ(tn,z(tn),0)∂h`

    ) soient nuls ce qui fournit la condition de l’énoncé puisque par tout point(t0, y0) passe une unique solution locale. Le reste fournit la majoration de l’énoncé avec la constanteC = 1(p+1)!‖f

    [p]‖K + 1p!‖∂pΦ∂hp |K×[0,δ], où les normes utilisées sont les normes du sup ‖•‖∞ et les solution

    sont supposée confinés dan un ensemble compact K. �N.B. Pour justifier l’existence des f [`] on remarque que grâce à l’hypothèse de consistance on a

    f = Φ|h = 0, qui est donc bien de classe Cp. Le cas ` = 0 de la conclusion de l’énoncéredonne lacondion de consistance, avec un démonstration simplifi’ee par le fait qu’on suppose ici Φ de classe C1et pas seulement continue.

    16

  • 4.3.2 La constante SCT de majoration de l’erreur globale

    On considère une méthode consistante et stable de constante de stabilité S qui est d’ordre p avecun facteur multiplicatif C. On a les majorations d’erreurs suivantes. D’abord le cumul des erreurs deconsistance (qui n’est pas l’erreur globale ! !) est :∑

    en ≤ C∑

    hp+1n ≤ C(∑

    hn)hpmax = CThpmax

    En effet la somme de tous les pas est∑

    (tn+1 − tn) = T si on travaille sur l’intervalle [t0, t0 + T ]. Pardéfinition de la stabilité, on trouve alors : Max|yn − z(tn)| ≤ S(|y0 − z(t0)| + CThpmax). L’erreur estdonc majorée dans le cas d’absence d’erreur sur la condition initiale par

    SCThpmax

    4.3.3 La constante SCT de majoration de l’erreur globale

    On considère une méthode consistante et stable de constante de stabilité S qui est d’ordre p avec lefacteur multiplicatif p que nous venons de ttrouver. On a les majoration d’erreurs suivantes. D’abordle cumul des erreurs de consistance (qui n’est pas l’erreur globale ! !) est :∑

    en ≤ C∑

    hp+1n ≤ C(∑

    hn)hpmax = CThpmax

    En effet la somme de tous les pas est∑

    (tn+1 − tn) = T si on travaille sur l’intervalle [t0, t0 + T ]. Pardéfinition de la stabilité, on trouve alors : Max|yn − z(tn)| ≤ S(|y0 − z(t0)|+ CThmaxp). L’erreur estdonc majorée dans le cas d’absence d’erreur sur la condition initiale par

    SCThpmax

    5 Quelques remarques sur les aspects numériques

    5.1 Sur les inconvénients du cumul des erreursd’arrondi

    On considère la suite des valeurs arrondies des yn notées ỹn. Soit ρn l’erreur d’arrondi dans lecalcul de Φ(tn, ỹn, hn), et σn l’erreur d’arrondi dans l’évaluqtion de ˜yn+1, ce qui conduit à la formule :

    ˜yn+1 = ỹn + hnΦ(tn, ỹn, hn) + hnρn + σn

    Alors si S est une constante de stabilité et si ρ et σ sont des bornes pour les erreurs d’arrondi, ontrouve :

    max |ỹn − yn| ≤ S(|�0|+∑|hnρn + σn|) ≤ S(|�0|+ Tρ+Nσ)

    En combinant avec la majoration de la dernière sous-section on trouve :

    max |ỹn − z(tn) ≤ S(|�0|+ Tρ+Nσ + CThp)

    En nous plaçant pour simplifier dans l’hypothèse de pas constants, donc avec N = Th , ce derniermajorant devient :

    E(h) = S(|�0|+ Tρ) + ST (σ

    h+ Chp)

    La fonction E(h) passe par un minimum pour une valeur optimale de h, qu’il est inutile (nefaste)de dépasser puisque lim

    h→0E(h) = +∞. Cette valeur est hopt = ( σC )

    1p+1 . On trouve le majorant optimal :

    E(hopt) = σp

    p+1C1

    p+1 p1

    p+1 (p+1p )

    17

  • 5.2 Problèmes de Cauchy bien posés numériquement, probl‘emes mal conditionnés

    Exemple 0.- On a déjà vu que le problème de Cauchy :

    y′ =√

    2|y|, y(0) = 0

    est mal posé mathématiquement car la solution n’est pas unique.Dans les deux exemples suivants on se place dans les conditions du théorème de Cauchy, mais

    d’autres difficultés surgissent.Exemple 1.- {

    y′ = 3y − ty0 = 13 à 10

    −n prèscalculer y(10).

    Dans cet exemple 10−n représente la pr”́ecision de la machine traité comme un majorant de l’erreurd’arrondi. On prendra donc les conditions initiales respectives :

    y0 =13, et ỹ0 =

    13

    + � avec |�| < 10−n

    Les solutions exactes se calculent et valent : z(t) = Ce3t + t + 13 , avec C = z(0) −13 . On a donc à

    comparer les deux solutions {y(t) = t+ 13

    ˜y(t) = t+ 13 +�e3t

    Donc |y(t)− ˜y(t)| = |y(0)− ˜y(0)|e3t = �e3t, ce qui donne la majoration :

    |y(10)− ˜y(10)| ≤ 10−ne30

    Conclusion : Le problème du calcul de y(10) est mal posé numériquement si on travaille avec n = 12chiffres significatifs, car le majorant 10−12e30 ≈ 10, 7 est excessif d l’oredre de grandeur de y(10) ?

    La notion d’être mal posé numériquement dépend bien sur de la longueur T de l’intervalle surlequel on travaille, et aussi de l’exposant (L=3 ici) de l’exponentielle qui n’est autre que la constantede Lipschitz de f . Pout T = 1 (calcul de y(1) = 4/3 + e1), le probolème serait bien posé avec uneamplification de l’erreur d’arrondi initiale e.10−12. De même le problème de y(10) reste bien posé sion prend 16 chiffres significatifs et cesse de l’être à parti de T = 13 environ.

    Toutes ces considération reflètent le fait que la constante de stabilité qu’on a trouvé dans lethéorème 5 est en fonction de la constante de Lipschitz eLT , donc la constante d’amplification trouvédans la section précédente est SCT = ELT .C.T

    Exemple 2.- {y′ = −150y + 30y0 = 15 à 10

    −n prèscalculer y(10).

    Cette fois le problème est bien posé numériquement car en conservant les notation analogues a cellesde l’exemple 1 :

    ỹ(t) =15

    + �e−150t

    et le problème est bien posé numériquement puisque |y(0) − ˜y(0)|e−1500 est très petit même pour degrandes valeurs de �. Ceci montre qu’en un certain sens le problème est trop bien posé : a l’inversse sion cherche a retrouver ỹ0, a partir d’une perturbation majorée α de y(10) = 15 on trouve : +

    tildey(10)− 15| < α⇒ | ˜y(0)− 1

    5| < α.e+1500

    ce qui est numériquement impraticable.

    18

  • On remarque que la constante de stabilité est a nouveau énorme : S = e+150T = e+1500, etSCT = 10Ce+1500, et resterait excessive même pour des plus petites valeurs de T . On dit que ceproblème est mal conditionné. Un tel problème même bien posé numériquement peut réserver dessurprises à la mise en oeuvre de la métrhode d’Euler. On trouve :

    yn+1 = −150yn + 30, d’ou |yn+1 −15| = −150|yn −

    15|

    donc ỹn = 15 + (1− 150h)n(ỹ0 − 15). Pour T = 1, si on a l’imprudence de prendre un pas trop élevé la

    suite des ỹn, s’ecarte radicalement de ỹ(tn) très voisin de 1/5. Par exemple si T = 1, et h = 1/50, ontrouve ỹn − 15 = (−2)

    n(ỹ0 − 15) d’ou pour y(1), l’approximation 250(ỹ0 − 15) ≈ 10

    15(ỹ0 − 15). Le choixde h est bien sur dicté par la convergence de la suite (1− 150h)n, soit : 0 < h < 175 .

    6 Méthode(s) de Runge Kutta.

    6.1 description de la méthode

    On considère comme d’habitude un problème de Cauchy{y′ = f(t, y)

    y(t0) = y0

    ave une solution exacte z(t) sur [T0, t0 + T ] et une subdivision :

    t0 < · · · tN = t0 + T

    On part de l’expression intégrale de l’accroissement z(tn+1)−z(tn), dans laquelle on ramène l’intervalled’intégration de [tn, tn+1 = tn + hn], à [0, 1], par le changement de variables t = tn + uhn.

    z(tn+1)− z(tn) =∫ tn+1tn

    f(t, z(t))dt

    =∫ 1

    0hnf(tn + uhn, z(tn + uhn))du

    ou encore

    z(tn+1)− z(tn) = hn∫ 1

    0g(u)du (3)

    avec g(u) = f(tn + uhn, z(tn + uhn))L’idée est d’utiliser un opérateur d’intégration approché (O.I.A.) pour calculer l’intégrale qui ap-

    parâıt dans l’équation (3) : ∫ 10g(u)du ∼ Σ(g) =

    q∑i=1

    big(ci)

    Comme les valeurs des g(ci) = f(tn + cihn, z(tn + cihn)) = f(tn,i, z(tn,i)) ne sont pas connues, il fautaussi évaluer la fonction z aux points tn,i = tn + cihn par un calcul similaire d’O.I.A. :

    z(tn,i) = z(tn) + hn∫ ci

    0g(u)du (4)

    On se contentera pour simplifier des méthodes explicites où l’O.I.A. choisi utilise les valeurs desg(cj) = f(tn,j , z(tn,j)), j = 1, · · · , i− 1 antérieurement calculées :∫ ci

    0g(u)du ∼ Σi(g) =

    i−1∑j=1

    ai,jg(ci)

    19

  • d’où les formules d’approximation :{z(tn,i) ∼ z(tn) + hn

    ∑i−1j=1 ai,jg(ci)

    z(tn+1) ∼ z(tn) + hn∑q

    i=1 big(ci)

    L’algorithme de Runge Kutta associé aux opérateurs d’intégration approché Σ et Σi s’obtient enremplaçant chaque g(ci) par des valeurs approchées notées pn,j , puis z(tn,i) par des valeurs approchéesyn,i, où on utilise l’O.I.A. Σi avec les pn,j au lieu des g(cj). Il reste à poser au ième pas : yn,i =f(tn,i, yn,i). Le passage de yn à yn+1 se fait alors en utilisant de la même façon l’O.I.A. Σ.

    On parle d’algorithme de type RKq, pour indiquer le nombre des ci. La méthode étant expliciteai,j = 0 pour j ≥ i et on est donc dontraint à prendre c1 = 0, et pn,1 = f(tn, yn).(NB : RK1 expliciten’est donc rien d’autre que la méthode d’Euler). Le détail de l’algorithme RKq est donc le suivant :

    – c1 = 0 , tn,1 = tn , yn,1 = yn , pn,1 = f(tn, yn)– Pour i = 2, · · · , q, tn,i = tn + ci hnyn,i = yn + hn∑i−1j=1 ai,jpn,j

    pn,i = f(tn,i , yn,i)

    –[tn+1 = tn + hnyn+1 = yn + hn

    ∑qj=1 bjpn,j

    Proposition 6 Tout schéma de type RKq définit une méthode à un pas explicite de la forme : yn+1 =yn + hnΦ(tn, yn, hn).

    Il suffit en effet de vérifier par récurrence sur i l’existence de formules :

    yn,i = yn + hnΦi(tn, yn, hn),pn,i = Qi(tn, yn, hn).

    On part de Φ1 = 0 et Q1 = f(t, y), et la récurrence se fait selon les formules :

    Φi =i−1∑j=1

    ai,jQj(t, y, h)

    Qi(t, y, h) = f(t+ cih, y + hΦi(t, y, h)).

    et se conclut par Φ(t, y, h) =∑q

    j=1 bjQj(t, y, h).

    6.2 Quelques exemples

    On fait systématiquement l’hypothèse que les O.I.A utilisés sont d’ordre au moins zéro(=exactssur les fonctions constantes), ce qui setraduit par les égalités :

    ci =i−1∑j=1

    ai,j 1 =q∑j=1

    bj .

    On présent usuellement les données sous forme d’un tableau :

    c1 = 0 | 0c2 | a2,1 0c3 | a3,1 a3,2 0... | . . .... | . . .cq | aq,1 aq,2 · · · · · · aq,q−1 0−−− | − −− −−− −−− −−− −−− −−−

    1 | b1 b2 · · · · · · bq−1 bq

    20

  • dans lequel la première colonne est la somme des suivantes.– Les algorithmes de type RK2 sont donc régis par un tableau du type suivant :

    0 | 0α | α 0

    −−− | − −− −−−1 | b 1− b

    On pourra voir en TD que pour α 6= 0 fixé la valeur optimale de b, pour laquelle l’ordre de laméthode est le plus grand est b = 1− 12α .Les O.I.A. de la méthode sont :∫ α

    0g(u)du ∼ Σ2(g) = αg(0) (5)∫ 1

    0g(u)du ∼ Σ(g)(1− 1

    2α)g(0) +

    12αg(1) (6)

    – Pour α = 1, ce dernier O.I.A. est celui de la méthode des trapèzes et la méthode correspondante(RK2)α=1 est connue sous le nom de Méthode de Heun.

    – La méthode RK4 classique correspond au tableau :

    0 | 0c2 = 12 |

    12 0

    c3 = 12 | 012 0

    c4 = 1 | 0 0 1−−− | − −− −−− −−− −−−

    1 | 1626

    26

    16

    Les O.I.A. de la méthode sont :∫ 12

    0g(u)du ∼ Σ2(g) =

    12g(0)∫ 1

    2

    0g(u)du ∼ Σ3(g) =

    12g(

    12

    )∫ 10g(u)du ∼ Σ4(g) = g(

    12

    )∫ 10g(u)du ∼ Σ(g) = 1

    6(g(0) + 2g(

    12

    + 2g(12

    + g(1))

    Les coefficients sont ceux de l’O.I.A. de Simpson.L’algorithme associé pour le calcul des yn est le suivant : tn,2 = tn + 12 hnyn,2 = yn + 12hnf(tn, yn)pn,2 = f(tn,2 , yn,2)

    tn,3 = tn + 12 hnyn,3 = yn + 12hnpn,2pn,3 = f(tn,3 , yn,3)

    tn,4 = tn + hnyn,4 = yn + hnpn,3pn,4 = f(tn,4 , yn,4)

    et yn+1 = yn +hn6

    (pn,1 + 2pn,2 + 2pn,3 + pn,4)

    6.3 Thèmes de TD

    6.3.1 Tester (RK)4 sur l’exemple fétiche y′ = −y.

    Montrer qu’avec un pas h = 0, 1, on trouve yn = (0, 9048375)n, ce qui donne y10 ' 0, 3678798,ce qui fournit la solution exacte étant e−t, une approximation de e−1 ' 0, 3678794 à mieux que10−6 près.

    21

  • DémonstrationL a reprise de l’algorithme de (RK4) lorsque f(t, y) = −y donne en effet ;

    yn,2 = yn −hn2yn = −pn,2

    yn,3 = yn +hn2

    (hn2− 1)yn = yn(1−

    hn2

    +h2n4

    ) = −pn,3

    yn,4 = yn − hn(1−hn2

    +h2n4

    )yn = yn(1− hn +h2n2− h

    3n

    4) = −pn,4

    et enfin

    yn+1 =yn −hn6yn(1 + 2(1−

    hn2

    ) + 2(1− hn2

    +h2n4

    ) + 1− hn +h2n2− h

    3n

    4)

    =yn −hn6yn(6− 3hn + h2n −

    h3n4

    )

    =yn(1− hn +h2n2− h

    3n

    6− h

    4n

    24)

    Ainsi on trouve par récurrence yn = (1−hn + h2n2 −

    h3n6 −

    h4n24 )

    n, ce qui en reportant h = 0, 1, puisn = 10, fournit les valeurs numériques approchées indiquées. �On remarque que sur cet exemple, le résultat est le même que celui que fournit la méthode deTaylor d’ordre 4.

    6.3.2 Ordre d’une méthode (RK)4.

    La fonction Φ(t, y, h)), s’obtient de la façon suivante : on réécrit l’algorithme de Runge Kutta ensubstituant au départ t et y et h à tn et yn et hn, le même calcul fournissant alors des fonctionsyi(t, y, h) et pi(t, y, h) au lieu des yn,i pn,i et la fonction cherchée provient de y + h.Φ(t, y, h)) ala place de yn+1.– Pour i = 2, · · · , q, ti = t + ci hyi = y + h∑i−1j=1 ai,jpj(t, y, h)

    pi(t, y, h) = f(ti , yi(t, y, h))– Φ(t, y, h) =

    ∑qj=1 bjpj(t, y, h)

    La méthode est consistante car on trouve aisément par récurrence sur i et pour tout i :

    yi(t, y, 0) = y pi(t, y, 0) = f(t, y)

    d’où Φ(t, y, 0) = (∑q

    j=1 bj)f(t, y) = f(t, y) ce qui est la condition suffisante trouvée dans lethéorème 4.Lemme 2

    ∂Φ∂h

    (t, y, 0) = (q∑j=1

    bjcj)f [1](t, y)

    DémonstrationO n a Φ =∑q

    i=1 bif(t+ cih, yi(t, y, h)) d’où :

    ∂Φ∂h

    (t, y, h) =q∑i=1

    bici∂f

    ∂t(t+ cih, yi(t, y, h)) +

    q∑i=1

    bi∂yi∂h

    ∂f

    ∂y(t+ cih, yi(t, y, h))

    Par ailleurs yi(t, y, h) = y +∑q

    j=1 ai,jf(t+ cjh, yj(t, y, h)), donc :

    ∂yi∂h

    =q∑j=1

    ai,jf(t+ cjh, yj(t, y, h)) + hq∑j=1

    ai,j∂

    ∂h[f(t+ cjh, yj(t, y, h))]

    22

  • et puisque yi(t, y, 0) = y, on conclut par :

    ∂yi∂h

    (t, y, 0) = (q∑j=1

    ai,j)f(t, y) = cif(t, y).

    et

    ∂Φ∂h

    (t, y, 0) =(q∑i=1

    bici)∂f

    ∂t(t, y) +

    q∑i=1

    bi(cif(t, y))∂f

    ∂y(t, y)

    =(q∑i=1

    bici)(∂f

    ∂t(t, y) + f(t, y)

    ∂f

    ∂y(t, y))

    =(q∑j=1

    bjcj)f [1](t, y).

    �On a vu que la condition nécessaire et suffisante pour que la méthode soit d’ordre 2 est :∂Φ∂h (t, y, 0) =

    12f

    [1](t, y). Au vu du lemme c’et équivalent à la condition numérique suivante :

    q∑j=1

    bjcj =12. (7)

    Exemple 1) On reprend l’exemple de (RK2), avec le tableau :

    0 | 0α | α 0

    −−− | − −− −−−1 | b 1− b

    La condition d’être d’ordre 2 est : 0 × b + α(1 − b) = 12 , et on retrouve la valeur optimaleb = b1 = 1− 12α .2) La méthode classique (RK4) est d’ordre au moins deux également toujours d’après l’équation, puisque : 0× 16 +

    12

    26 +

    12 ×

    26 + 1×

    16 =

    12

    On montre en fait que la méthode est d’ordre 4.exercice Montrer en calculant ∂

    2Φ∂h2

    , à comparer à 13f[2], que la méthode (RK4) est d’ordre ≥ 3.

    On établira que en général les conditions pour qu’une méthode de Runge-Kutta d’ordre ≥ 2 soiten fait d’ordre ≥ 3 sont :

    q∑j=1

    bjc2j =

    13

    et∑i,j

    biai,jcj =16

    On considère uine méthode de Runge Kutta de paramètres ai,j bj , et on lui associe le coefficientréel positif :

    α = maxi

    (∑j

    |ai,j |)

    Proposition 7 Si f(t, y) est Lipschitzienne de rapport k, la fonction Φ est Lipschitzienne derapport : Λ = k

    ∑qj=1 |bj |(1 + αhk + · · ·+ (αhk)j−1) et la méthode (RKn) associée est stable.

    23

  • Démonstration On montre par récurrence sur i que la fonction yi(t, y, h) est Lipschitziennede rapport

    1 + αhk + · · ·+ (αhk)i−1

    En effet étant données deux condition initiales y et z la définition de yi aboutit à :

    |yi(t, y, h)− yi(t, z, h)| =|y − z + hq−1∑j=1

    ai,j(f(t+ cj , yj(t, y, h)− f(t+ cj , yj(t, z, h))|

    ≤|y − z|+q−1∑j=1

    |ai,j |.|yj(t, y, h)− yj(t, z, h)|

    ≤|y − z|+ (αhk) maxj