Analyse numérique 3 : évolution Gabriel TURINICI cours 2010-2011 Responsable cours : Gabriel TURINICI Responsable TD : Gabriel TURINICI, Alessandra IACOBUCCI Responsable des TP : Julien SALOMON Volume horaire 20H cours + 14H TD + 6H TP Semestre 6 Contrôle des connaissances : NF = 0,3PR + 0.7E (E = Examen , PR= Projet) Objectif de l’enseignement : analyse numérique des problèmes d’évolution Site www : (utilisateur : “numeriqueM1” pass : “evolution”) Aller à http://www.ceremade.dauphine.fr/~turinici/ ensuite aller sur “Cours” ensuite choisir le votre. 1 Table des matières 1 Exemples d’équations d’évolution : épidémiologie, trafic, diffusion de chaleur, finances 5 2 Équations différentielles ordinaires (EDO) 2.1 Existence et unicité de la solution . . . . . 2.2 Schémas numériques . . . . . . . . . . . . 2.2.1 Définition de 4 schémas : . . . . . . 2.3 Erreur, consistance et ordre . . . . . . . . 2.3.1 Erreur . . . . . . . . . . . . . . . . 2.3.2 Consistance et ordre . . . . . . . . 2.4 Stabilité et convergence . . . . . . . . . . . 2.4.1 Zéro-stabilité . . . . . . . . . . . . 2.4.2 Convergence . . . . . . . . . . . . . 2.4.3 Stabilité absolue . . . . . . . . . . 2.5 Méthodes d’ordre supérieur : Runge-Kutta 2.5.1 Construction de methodes d’ordre 2 2.5.2 Consistance . . . . . . . . . . . . . 2.6 Pas de temps adaptatif pour R-K . . . . . 2.7 Systèmes d’EDO . . . . . . . . . . . . . . 2.7.1 Stabilité d’un système : . . . . . . . 2.7.2 Systèmes raides . . . . . . . . . . . 2.8 Application en épidémiologie : modèle SIR 2.9 Exercices . . . . . . . . . . . . . . . . . . . 2.9.1 Ordre . . . . . . . . . . . . . . . . 2.9.2 Erreur de troncature . . . . . . . . 2.9.3 Lemme de Gronwall . . . . . . . . 2.9.4 Problème de Cauchy . . . . . . . . 2.9.5 Runge-Kutta . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (explicites) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 7 8 9 9 10 10 10 11 12 14 15 16 16 17 18 18 19 21 21 21 21 22 23 2.9.6 Systèmes d’EDO . . . . . . . . . . . . . . . . . . . . . 23 3 Équations différentielles stochastiques (EDS) 3.1 Rappels : mouvement brownien, martingales, intégrales et processus stochastiques, formule d’Ito . . . . . . . . . . . . . . . . 3.2 Formules d’Ito -Taylor . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Rappels : Taylor sous forme intégrale . . . . . . . . . . 3.2.2 Formules d’Ito -Taylor . . . . . . . . . . . . . . . . . . 3.3 Schémas numériques . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Euler-Maruyama et Milshtein . . . . . . . . . . . . . . 3.3.2 Schémas implicites . . . . . . . . . . . . . . . . . . . . 3.4 Consistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Application au delta-hedging des options et équation de Black& Scholes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.1 Options . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.2 Portefeuille auto-financé . . . . . . . . . . . . . . . . . 3.6.3 Valorisation des options par delta hedging, équation de Black& Scholes . . . . . . . . . . . . . . . . . . . . . . 3.6.4 Valorisation des options par probabilité risque-neutre . 3.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.1 EDS : solutions . . . . . . . . . . . . . . . . . . . . . . 4 Lois de conservation et équations hyperboliques 4.1 Dérivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Méthode des caractéristiques . . . . . . . . . . . . . . . . . . 4.2.1 Résolution d’un problème hyperbolique par la méthode des caractéristiques . . . . . . . . . . . . . . . . . . . 4.3 Problème de Riemann . . . . . . . . . . . . . . . . . . . . . 4.3.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Généralités sur les différences finies . . . . . . . . . . . . . . 4.4.1 Exercices . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Schémas numériques (FTCS, Lax, upwind, stabilité) . . . . . 4.5.1 Le schéma FTCS (Forward Time Centered Space) . . 4.5.2 Le schéma de Lax . . . . . . . . . . . . . . . . . . . . 4.5.3 Le schéma ”upwind” . . . . . . . . . . . . . . . . . . 4.5.4 Schémas d’ordre deux : Lax-Wendroff . . . . . . . . . 4.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 25 25 29 29 30 31 31 32 33 34 34 34 35 36 36 37 38 42 . 42 . 43 . . . . . . . . . . . 44 47 50 50 51 52 52 54 55 56 57 5 Équations aux dérivées partielles (EDP), équation de la chaleur 5.1 Motivation : évaluation d’options par Black & Scholes . . . . . 5.2 Rappels sur les EDP : espaces fonctionnels, formulation variationnelle, lemme de Lax-Milgram . . . . . . . . . . . . . . . . 5.2.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Espaces de Sobolev . . . . . . . . . . . . . . . . . . . . 5.2.3 Formulation variationnelle . . . . . . . . . . . . . . . . 5.2.4 Lemme de Lax-Milgram . . . . . . . . . . . . . . . . . 5.3 Formulations variationnelles (Galerkin) pour la discrétisation des EDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Convergence . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Mise en oeuvre . . . . . . . . . . . . . . . . . . . . . . 5.3.3 Illustration : interpolation P 1 pour fonctions C 2 . . . . 5.4 Différences finies pour des EDP . . . . . . . . . . . . . . . . . 5.4.1 Euler explicite . . . . . . . . . . . . . . . . . . . . . . . 5.4.2 Euler implicite . . . . . . . . . . . . . . . . . . . . . . 5.4.3 Crank-Nicholson . . . . . . . . . . . . . . . . . . . . . 5.4.4 Retour à Black&Scholes . . . . . . . . . . . . . . . . . 5.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 60 60 61 61 62 63 64 65 65 67 68 70 70 71 71 72 73 Chapitre 1 Exemples d’équations d’évolution : épidémiologie, trafic, diffusion de chaleur, finances 5 Chapitre 2 Équations différentielles ordinaires (EDO) Soit I un intervalle ouvert inclus dans <+. On considère l’équation différentielle ordinaire suivante : ( dX = f (t, X(t)) dt X(t0 ) = X0 dont la forme intégrale est Zt X(t) = X(t0 ) + f (s, X(s))ds (2.1) t0 et X(t) ⊂ R. On remarque que si f est continue alors X(t) est C 1 . 2.1 Existence et unicité de la solution Afin de montrer l’existence et l’unicité de la solution de l’EDO précédente, on utilise les 2 théorèmes suivants : Théorème 1 (Cauchy-Lipschitz variante locale) Soient f une fonction continue, Lipschitz par rapport à X localement en X0 , t0 , c’est à dire qu’il existent 2 boules Bx (X0 , Rx ), Bt (t0 , Rt ) et une constante L telle que |f (t, X1 ) − f (t, X2 )| ≤ L|X1 − X2 | 6 pour tout t ∈ Bt et X1 , X2 ∈ Bx . Alors le problème de Cauchy admet une solution locale unique : X(t) : (t0 − ε, t0 + ε) −→ R (ε > 0). De plus, X(t) est C 1 . Théorème 2 (Cauchy-Lipschitz variante globale) Sous les mêmes hypothèses que le théorème 1,si L est la même pour tout Rx (rayon de la boule), alors une solution globale existe et est unique. Variante : il y a existence et unicité globale également si on peut trouver une fonction continue α : R → R+ telle que |f (t, X1 ) − f (t, X2 )| ≤ α(t)|X1 − X2 |. Exemples 1/ f (t, X) = rX avec r ∈ R constante. Alors |f (t, X1 )−f (t, X2 )| = |r|·|X1 − X2 | donc nous obtenons existence globale ; 5 . Un calcul immédiat nous donne |f (t, X1 ) − f (t, X2 )| = 2/ f (t, X) = X−3 5 · |X1 − X2 | donc nous obtenons existence locale pour L > |(X1 −3)(X2 −3)| 5 dans un voisinage de tout point (t0 , X0 6= 3). Par contre comme |(X0 −3)(X0 −3)| 5 n’est pas borné autour de X0 = 3 le thm. d’existence globale |(X0 −3)(X0 −3)| n’est pas applicable. 2.2 Schémas numériques Si la solution du problème de Cauchy existe, elle est unique (cf théorème précédent). Pour trouver la solution on l’approche à l’aide de schémas. L’approximation se fait sur [0, T ] par N points. Notations : - l’équation à résoudre Ẋ(t) = f (t, X(t)) T - h = , tn = n · h, ∀n ≤ N N - Xn = X(tn ) ; On notera par Un une approximation de Xn et fn = f (tn , Un ) ; Comment calculer les Un ? Par exemple en partant de la formule suivante : tZn+1 X(tn+1 ) = X(tn ) + f (s, X(s))ds. tn Un schéma à un pas est donné par la formule : Un+1 = Un + hφ(tn , Un , f, h) 7 (2.2) Chaque fonction φ donne un autre schéma numérique. Sauf quand il est explictement mentionné (cf. exercices ci-dessous), on supposera que (2.2) admet toujours une solution unique Un+1 . 2.2.1 Définition de 4 schémas : Nous allons expliciter quelques schémas pour f1 (t, X) = rX et f2 (t, X) = ˙ = f1 (t, X(t)) est rX . Nous rappelons que pour f1 la solution X(t) de X(t) ˙ = f2 (t, Y (t)) est X(t) = ert X0 alors que pour f2 la solution Y (t) de Y (t) Y0 . Y (t) = 1−rtY 0 – Euler explicite (EE) : Un+1 = Un + hf (tn , Un ) = Un + hfn U0 = X(0) 2 Justification : la formulation intégrale approximation par une méthode des rectangles. Exemples : pour f1 : Un+1 = Un + hrUn = (1 + rh)Un ; pour f2 : Un+1 = Un + hrUn2 = (1 + rhUn )Un . – Euler implicite (EI) : Un+1 = Un + hfn+1 U0 = X(0) Un ; pour f2 : Exemples : pour f1 : Un+1 = Un + hrUn+1 donc Un+1 = 1−rh 2 2 Un+1 = Un + hrUn+1 donc Un+1 est solution de rhUn+1 − Un+1 + Un = 0. – Cranck Nicholson (CN) : ( Un+1 U0 hf + f i n n+1 = Un + h 2 = X(0) Justification : la formulation intégrale approximation par une méthode des trapèzes. 1+ rh n+1 2 Exemples : pour f1 : Un+1 = Un + hr Un +U donc U = U ; n+1 2 1− rh n pour f2 : Un+1 = Un + hr Un+1 + (1 + rh U )Un = 0. 2 n 2 Un2 +Un+1 2 8 2 donc Un+1 est solution de rh 2 U 2 n+1 − – Heun (H) : ( Un+1 = Un + U0 = X(0) i hh fn + f (tn+1 , Un + hfn ) 2 Exemples : pour f1 : Un+1 = Un + h2 [rUn + r(Un + hrUn )] ; pour f2 : Un+1 = Un + h2 [rUn2 + r(Un + hrUn2 )2 ]. 2.3 Erreur, consistance et ordre 2.3.1 Erreur Quand on introduit la solution exacte dans la formule (2.2) des méthodes à un pas on obtient les ”erreurs de troncature”. X(tn+1 ) = X(tn ) + hφ(tn , Xn , f, h) + hτn+1 (h) (2.3) X(tn+1 ) − X(tn ) − hφ(tn , Xn , f, h) h (2.4) ou encore τn+1 (h) = Définition 1 La différence qui apparait lorsqu’on met la vraie solution dans le schéma numérique est dite erreur de troncature. Ici il s’agit de τn+1 (h) qui est l’erreur de troncature locale au pas n + 1. L’erreur de troncature globale est : τ (h) = max | τn (h) |. n=1,...,N Remarque 1 L’erreur de troncature est ici la même chose que l’erreur entre Xn+1 et le Un+1 obtenu en partant de Un = Xn . Exemples Euler explicite : par la formule de Taylor à l’ordre 2 : 1 X(t + h) = X(t) + hẊ(t) + h2 Ẍ(ξ), ξ ∈ [t, t + h] 2 1 Pour (t = tn et tn + h = tn+1 ), on obtient : τn+1 (h) = hẌ(ξn ). 2 9 2.3.2 Consistance et ordre Définition 2 Un schéma est dit consistant si : lim τ (h) = 0, (2.5) h→0 c’est à dire que pour h petit la solution exacte vérifie le schéma). Un schéma est d’ordre ”p” si : τ (h) = O(hp ) pour h → 0. 2.4 2.4.1 Stabilité et convergence Zéro-stabilité Pour étudier la stabilité par rapport aux perturbations, on regarde si Znh défini par h i ( (h) (h) (h) Zn+1 = Zn + h φ tn , Zn , f, h + δn+1 (h) Z0 = δ0 + X 0 est proche de Un+1 . Définition 3 Le schéma donné par φ est dit zéro-stable s’il existe h0 et une constante C indépendante ε tels que pour tout h ≤ h0 et |δn | < ε (∀n) : (h) |Zn+1 − Un+1 | ≤ Cε. (2.6) Théorème 3 On suppose f Lipschitz et φ Lipschitz par rapport à sa deuxième variable ∃Λ > 0, h0 > 0 tel que ∀h < h0 |φ(t, X, f, h) − φ(t, Y, f, h)| < Λ | X − Y | . Alors le schéma numérique donné par φ est zéro-stable. (h) Démonstration Voir cours. Indication : Notons : Wn = Zn − Un . Alors Wn+1 = Zn(h) − Un + h[φ(tn , Zn(h) , f, h) − φ(tn , Un , f, h)] + hδn+1 d’où | Wn+1 |≤| Wn | +hΛ | Wn | +h|δn+1 | donc | Wn+1 |≤| W0 | +hΛ n X s=0 10 n+1 X | Ws | + h|δs | s=1 Lemme 1 (Gronwall discret) Soit Ks une suite de réels positifs et ϕk une k k X X suite telle que pour tout k : ϕk+1 ≤ g0 + ps + Ks ϕs . Alors pour tout n : ϕn+1 s=0 n n X X ≤ (g0 + ps ) exp( Ks ). s=0 s=0 s=0 Démonstration Voir cours. Indication : cf. TD. Ceci nous permet de conclure | Wn+1 |6 (1 + nh)ε exp(ΛT ) 6 (1 + T )ε exp(ΛT ). 2.4.2 Convergence Définition 4 Un schéma est dit convergent à l’ordre p si, avec les notations précédentes, |Un − Xn | = O(hp ). Un schéma convergent à l’ordre 1 est dit ”convergent”. Théorème 4 Sous les mêmes hypothèses que le théorème 3 on a alors : |Un − Xn | ≤ (| U0 − X0 | +nhτ (h)) exp(Λnh) En particulier si | U0 −X0 |= O(hp ) et τ (h) = 0(hp ), alors | Un −Xn |= O(hp ) (le schéma converge à l’ordre p). Démonstration Voir cours. Indication : Nous faisons comme dans la preuve du théorème 3 avec δj = τj (h) (en utilisant donc le lemme du Gronwall discret). Remarque 2 Le thm. précédent peut être re-écrit en disant que la consistance et la stabilité impliquent la convergence. C’est un principe souvent rencontré. Corollaire 1 Les schémas d’Euler explicite et implicite convergent à l’ordre 1. Les schémas de Crank-Nicholson et Heun convergent à l’ordre 2. Démonstration Voir cours. Indication : nous detaillons seulement pour le schéma de Crank-Nicholson : la définition de l’erreur de tronquature o hn f (tn , Xn ) + f (tn+1 , Xn+1 ) +hτn+1 (h) (2.7) Xn+1 = Xn + 2 11 donc o hn 0 0 Xn + Xn+1 +hτn+1 (h). (2.8) 2 Par ailleurs la formule de Taylor à l’ordre 2 pour X 0 et d’ordre 3 pour X donnent Xn+1 = Xn + h2 (3) X (η) 2 n h2 h3 = Xn + hXn0 + Xn00 + Xn(3) (ξ) 2 6 0 Xn+1 = Xn0 + hXn00 + Xn+1 (2.9) (2.10) En remplacant (2.9) et (2.10) dans (2.8) on obtient hτn+1 (h) = h3 (3) h3 Xn (ξ) − Xn(3) (η) 6 4 (2.11) d’ou τn+1 (h) = O(h2 ). 2.4.3 Stabilité absolue Ici la stabilité est regardée sous l’angle de la solution en temps T grand, mais pour un pas h fixé. Pour λ ∈ C, t ≥ 0 on considère le problème test : Ẏ (t) = λY (t) Y (0) = 1 (2.12) dont la solution est Y (t) = eλt . Pour <(λ) < 0 nous obtenons lim Y (t) = 0. t→+∞ Donc toute perturbation locale en temps est ”effacée” en temps long. Ceci est une propriété très convenable pour les schémas numériques qui doivent lutter contre les erreurs d’arrondi etc. Nous voulons conserver cette propriété. Définition 5 Un schéma est dit absolument stable si ∀h, λ : Un → 0. Sinon sa région de stabilité absolue est : {hλ ∈ C|Un → 0}. Exemples Euler explicite Un+1 = Un + hλUn = (1 + hλ)Un = (1 + hλ)n+1 U0 12 région de stabilité 6 @ @ '$ 1 @ R @ - -1 &% Fig. 2.1 – La stabilité de Euler explicite. région de stabilité 6 @@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@ @ '$ 1@@@ @ @@@@@@@@@@@@@@ @ @ @ @@@@@@@@@@@@ @ @@@@@@@@@@ @ @ 1 @ @@@@@@@@@ @ @@ &% @ @ @@@@@@@@ @ @ @ @ @ @ @ @@ @@@@@@@@@ @@ @ @@ @@@@@ @ @@@@@@@@@ @ @ @ @ @ @ @ @@ @@@@@@ de@Euler @@@ Fig. 2.2 – La stabilité implicite. @ @ @@ @@@@@ @ @ @ @ @ @ @ @ @ @ @@@@@@@@@@@@@@@@@@ On définit sa région de stabilité en imposant la condition de stabilité : |1 + hλ| < 1. C’est donc l’intérieur de B((-1,0),1). U0 Un = Euler implicite Un+1 = Un + hλUn+1 = 1 − hλ (1 − hλ)n+1 Comme précédemment, pour trouver la région de stabilité, on limite le pas de temps h en imposant la condition de stabilité : |1 − hλ| > 1 Il s’agit donc ici de l’extérieur de la B((1,0),1). Crank-Nicholson 13 région de stabilité @@@@@@@@@@@@@@@@@@ 6 @@@@@@@@@@@@@@@@@@ @ @ @@@@@@@@@@@@@@@@ @ @@@@@@@@@@@@@@@ @ @@@@@@@@@@@@@ @ @ @@@@@@@@@@@ @ @ @@@@@@@@@ @ @@@@@@@@ @ @@@@@@ @ @ @@@@ @ @ @@ @ Fig. 2.3 – La stabilité @ - de Crank-Nicholson. hλ n+1 hλ 1+ 1+ h 2 U = 2 U0 Un+1 = Un + (λUn + λUn+1 ) = n hλ hλ 2 1− 1− 2 2 On définit la région de stabilité en limitant le pas de temps h en imposant la condition de stabilité : hλ 1 + 2 < 1 hλ 1 − 2 Heun : la région de stabilité est {hλ tels que |1 + hλ + 2.5 (hλ)2 | 2 < 1} Méthodes d’ordre supérieur : Runge-Kutta Il s’agit de méthodes qui évaluent la fonction à des pas intermédiaires : Un+1 = Un + hF (tn , Un ; h, f ) avec la fonction F du schéma définie par F (tn , Un ; h, f ) = s X b i Ki , b i ∈ R (2.13) i=1 Ki = f (tn + ci h, Un + h s X j=1 14 aij Kj ), i = 1, 2, ..., s. (2.14) Une telle méthode est dite de Runge-Kutta (R-K). Pour une présentation c A plus simple nous introduisons le tableau du Butcher du schéma bT ou encore c1 a11 a12 ... a1s c2 a21 a22 ... a2s ... ... ... ... ... (2.15) cs as1 as2 ... ass b1 b2 ... bs Ps Nous supposerons toujours j=1 aij = ci . Définition 6 Si A est strictement triangulaire inférieure alors la méthode est dite explicite ; si A est seulement triangulaire inférieure alors la méthode est semi-explicite. Dans tous les autres cas il s’agit d’une méthode implicite. Exemple de méthode R-K d’ordre 4 : h Un+1 = Un + (K1 + 2K2 + 2K3 + K4 ) 6 h h K1 = fn = f (tn , Un ), K2 = f (tn + , Un + K1 ), 2 2 h h K3 = f (tn + , Un + K2 ), K4 = f (tn+1 , Un + hK3 ). 2 2 (2.16) (2.17) (2.18) Le tableau de Butcher associé est 0 0 0 0 0 0 0 1/2 1/2 0 1/2 0 1/2 0 0 . 0 0 1 0 1 1/6 1/3 1/3 1/6 2.5.1 (2.19) Construction de methodes d’ordre 2 (explicites) Pour construire une méthode d’ordre 2 nous partons de Un = Xn . La récurrence est Un+1 = Un + h(K1 b1 + K2 b2 ) avec K1 = f (tn , Xn ) et K2 = f (tn + c2 h, Xn + hc2 K1 ). On développe en série Taylor et on obtient les conditions b1 + b2 = 1, b2 c2 = 1/2. Il existe donc plusieurs méthodes. 15 2.5.2 Consistance Théorème 5 Soit f une fonction Lipschitz. Alors la méthode R-K (expliPs cite) est consistante si et seulement si i=1 bi = 1. Démonstration Voir cours. Indication : par développements de Taylor. Remarque 3 Pour les méthodes implicites il faudrait aussi montrer l’existence d’une solution pour les pas de temps. 2.6 Pas de temps adaptatif pour R-K Motivation : parfois la solution est presque constante, mais parfois elle est très variable. on voudrait profiter des régions ”calmes” et utiliser un pas h grand, qui sera adapté ensuite dans les régions très oscillantes. Pour ceci il faut faire du pas adaptatif (c’est à dire variable et ajusté). Pour savoir comment choisir ce pas il faut avoir des estimations d’erreur. Comment estimer l’erreur en pratique ? Le plus facile serait de doubler le pas X(tn + 2h) = X1 + (2h)p+1 ψn + O(hp+2 ) X(tn + 2h) = X2 + 2hp+1 ψn + O(hp+2 ). (2.20) (2.21) Ici X1 est obtenu après un pas 2h alors que X2 est obtenu après 2 pas h. Nous remarquons que nous avons supposé travailler avec une méthode d’ordre p. La quantité ∆ = X2 − X1 = (2p+1 − 2)hp+1 ψn nous aide à ajuster le h. Remarque 4 Il est possible d’obtenir une approximation d’ordre p + 1 car X(tn + 2h) = X2 + 2p∆−1 + O(hp+2 ). Mais alors l’erreur serait inconnue. Bien qu’en principe la méthode ci-dessus serait intéressante, elle utilise trop d’évaluation de f . Nous allons la raffiner en construisant deux méthodes qui utilisent les mêmes évaluations (donc mêmes Ki ) mais dont les combinaisons linéaires faisant intervenir les bi donnent d’ordres différents. Nous parlons alors de schémas emboı̂tées de Runge-Kutta-Fehlberg (R-K-F). c A bT Notation : , où c, A, b donnent un schéma d’ordre p alors que c, A, b̂T b̂T ET 16 donnent un schéma d’ordre p P + 1. La difference E = b − b̂ sert à estimer l’erreur de tronquature ∆ = h si=1 Ei Ki . Les plus populaires sont les schémas R-K-F d’ordres 4-5 ou 5-6 ou encore 2-3. En pratique l’algorithme est le suivant : - nous précisons au début une tolérance ∆0 q - si ∆ ≥ ∆0 alors nous refaisons le calcul avec le pas h̃ = h p+1 - si ∆ ≥ ∆0 le pas h est maintenu constant. 2.7 ∆0 . ∆ Systèmes d’EDO Soit I ⊂ R+ un intervalle ouvert et F : R×Rn → Rn . Il s’agit de résoudre le problème de Cauchy suivant : 0 Y (t) = F (t, Y (t)) (2.22) Y (t = 0) = Y0 ∈ Rn Exemple : X 00 = f (X) n’est pas une EDO, mais on peut la mettre sous forme d’un système, en posant : Y1 = X, Y2 = X 0 et on obtient : 0 Y1 = Y2 Y20 = f (Y1 ) Théorème 6 (existence et unicité) Soit F :] − ∞, ∞[×Rn → Rn une fonction continue et est Lipschitz par rapport à la deuxième variable kF (t, y) − F (t, ỹ)k ≤ Lky − ỹk ∀t ∈ R, ∀y ∈ Rn , avec un L ne dépendant pas de y ∈ Rn . Alors le problème de Cauchy (2.22) admet un solution unique y(t) globale (c’est-à-dire définie pour tout t ≥ 0). Si F est Lipschitz seulement autour de (t0 = 0, Y0 ), alors la solution est définie seulement localement. Cas particulier : F (t, y) = Ay avec A matrice n × n. Le problème 0 Y = AY Y (0) = Y0 admet la solution (unique) Y (t) = eAt Y0 où on rappelle la définition de P (At)k eAt = ∞ n=0 k! . Si A est diagonalisable c’est-à-dire : 17 1) ∃Q inversible tel que A = QDQ−1 , D diagonale 2) ou d’une manière équivalente ∃Vi , λi , tel que AVi = λi Vi , kVi k = 1 et {Vi ; i = P 1, . . . , n} est une base de Rn alors, Y (t) = ni=1 eλi t Vi < y0 , Vi >. 2.7.1 Stabilité d’un système : En posant Z = Q−1 Y nous obtenons : Y 0 = AY =⇒ Y 0 = QDQ−1 Y =⇒ Q−1 Y 0 = DQ−1 Y (2.23) et donc comme Z 0 = (Q)−1 Y 0 on obtient par les égalités précédentes l’équation différentielle : Z 0 = DZ et le problème : 0 Z1 = λ1 Z1 .. . Z0 = λ Z n n n Les solutions de ce problème s’écrivent : Zi (t) = eλi t Zi (t = 0) et la stabilité du système équivaut à la stabilité de toutes les EDO dans le problème. Exemples - Euler explicite : Un+1 = Un + hf (tn , Un ). Soit f (y) = Dy. En appliquant Euler explicite à cette exemple on a : Un+1 = Un +hDUn = (1 + hD)Un donc le schéma est stable si |1 + hλi | < 1 pour tout i = 1, . . . , n. -Euler implicite : Un+1 = Un +hf (tn+1 , Un+1 ) ; pour l’exemple précédent, on a : Un+1 = Un + hDUn+1 donc Un+1 = (1 − hD)−1 Un . Le schéma est stable si |1 − hλi | > 1 pour tout i = 1, . . . , n. Implémentation Nous considérons toujours le cas f (t, y) = Ay. - pour les schémas explicites Un+1 = Un +hAUn donc c’est un calcul direct - pour les schémas implicites Un+1 = Un + hAUn+1 donc Un+1 = (I − hA)−1 Un ; il faut résoudre un système linéaire. Pour des fonctions f plus compliquées il faut faire une méthode de Newton ou une approximation ... 2.7.2 Systèmes raides Nous avons vu que les schémas implicite était parfois difficiles de mettre en oeuvre ; pourquoi les utiliser alors ? Considérons le système différentiel 18 suivant : u0 = 998u + 1998v avec u(0) = 1 v 0 = −999u − 1999v avec v(0) = 0 On fait le changement de variables u = 2y − z et v = −y + z, ce qui nous donne 0 y = −y y(t) = e−t yo ⇒ z 0 = −1000z z(t) = e−1000t z0 (donc λ1 = −1, λ2 = −1000). On retourne à nos variables initiales, et on obtient la solution désirée, u = 2e−t − e−1000t , v = e−t + e−1000t . Pour la stabilité de Euler explicite il faut |1 + hλ1 | < 1 et |1 + hλ2 | < 1, donc 2 . h ≤ 1000 Pour la stabilité de Euler implicite il faut |1−hλi | > 1, qui est toujours vérifié (∀h > 0). Supposant que nous sommes intéressés seulement par la partie en e−t de la solution (on traite donc e−1000t comme une perturbation ce qu’elle l’est en fait), la précision des deux schémas pourrait être bonne pour des pas h assez grands ; pourtant pour Euler explicite nous sommes obliger d’utiliser un h petit car sinon il n’y a pas de stabilité. Conclusion : utiliser de schémas implicites permet de résoudre avec h plus grand donc plus rapidement. 2.8 Application en épidémiologie : modèle SIR Les variables : - S = le nombre de personnes susceptibles d’être infectées (la population non encore touchée par l’épidémie). - I = les personnes infectées. - R = les personnes qui ont eu la maladie, qui sont mortes ou qui ne peuvent plus la transmettre (ayant acquis l’immunité ou car en quarantaine etc). Hypothèses du modèle : 1. Le nombre d’infection (passage de S à I) est proportionnel au nombre de rencontres S × I. On peut le définir de la manière suivante : S(t+dt)−S(t) ≈ nombre infections nouvelles entre t et t + dt (pris avec signe moins) 19 2. Le passage I → R est proportionnel au nombre d’individus en I. On peut le définir de la manière suivante : R(t + dt) − R(t) ≈ aI(t)dt Nous obtenons le système d’équations, dit modèle SIR dS dt dI dt dR dt = −rSI = rSI − aI = aI (2.24) (2.25) (2.26) On suppose S(0) = S0 6= 0, I(0) = I0 > 0, R(0) = R0 = 0 Remarque 5 d (S dt + I + R) = 0 donc S + I + R = cst. Critères du modèle : Le ρ = rS est dit taux de reproductivité ; il intervient dans dI = (ρ − 1)aI. a dt - si ρ(t = 0) < 1 ⇒ pas d’épidémie. - si ρ(t = 0) > 1 alors il y a épidémie. I croit ensuite décroı̂t. Le nombre total d’individus infectés est R∞ := limt→∞ R(t) = I0 + S0 − limt→∞ S(t). (limt→∞ S(t) existe car S(t), I(t), R(t) ≥ 0∀t et S &). Remarque 6 S∞ := limt→∞ S(t) 6= 0 ; on parle alors de phénomène d’immunité du groupe du modèle SIR. En pratique : r, a sont inconnues, on procède en 2 étapes 1) inversion : trouver r, a à partir des observations R(n), n = 1, . . . , Nmax 2) prévision : calculer S(t), I(t), t ≥ Nmax Remarque 7 Des modèles plus compliqués sont parfois nécessaires, par exemple : S → E → I → R. Remarque 8 Les politiques sanitaires ont pour but d’influencer r, a et S0 : quarantaine : a croit et r décroı̂t ; vaccination : S0 décroı̂t, etc. 20 2.9 Exercices 2.9.1 Ordre Exercice 1 Décider lesquelles affirmations sont vraies : √ √ √ √ √ 1. pour h : h = O(h), h = O(h2 ), h = O( h1 ), h = O(h1/4 ) ; 2. pour sin(h) : sin(h) = O(h), sin(h) = O(h2 ), sin(h) = O( h1 ), sin(h) = O(h1/4 ) ; √ 3. Pareil pour h + sin(h). 2.9.2 Erreur de troncature Exercice 2 Trouver l’ordre de l’erreur de troncature pour les schémas de Euler Implicite (EI) et Heun. 2.9.3 Lemme de Gronwall Exercice 3 (variante intégrale) Soit T > 0 (il peut être ∞ aussi), a(t), b(t),λ(t) R t des fonctions continues sur [0, T ], λ(t) ≥ 0 pour tout t. On note Λ(t) = 0 λ(τ )dτ . 1. Si pour tout t > 0 : t Z a(t) ≤ b(t) + λ(s)a(s)ds, (2.27) eΛ(t)−Λ(s) λ(s)b(s)ds. (2.28) 0 alors Z t a(t) ≤ b(t) + 0 Indication : Majorer la dérivée de A(t) = e−Λ(t) Rt 0 λ(s)a(s)ds. 2. Si b est dérivable avec la dérivée intégrable sur [0, T ] alors a(t) ≤ e Λ(t) Z b(0) + t e −Λ(s) 0 b (s)ds (2.29) 0 3. Si en plus b est monotone croissante alors a(t) ≤ eΛ(t) b(t). 21 (2.30) 4. Vérifier que en l’absence de l’hypothèse λ(t) ≥ 0 un contre-exemple est λ(t) = λ < 0, b(t) = b + ω(t) , supp(ω) ⊂]0, T [, a(t) = beλt . Exercice 4 (variante différentielle sans hypothèse de signe) Soit T > 0 (il peut être ∞), g(t),λ(t) des fonctions continues sur [0, T ] et a(t) une fonction dérivable et dont la dérivée est continue sur [0, T ]. On Rt note Λ(s) = 0 λ(τ )dτ . Si pour tout t > 0 : a0 (t) ≤ g(t) + λ(t)a(t) alors Λ(t) a(t) ≤ e Z (2.31) t a(0) + eΛ(t)−Λ(s) g(s)ds. (2.32) 0 Indication : Majorer la dérivée de A(t) = e−Λ(t) a(t). Exercice 5 (variante discrète) Soit kn une suite de réels positifs et φn ≥ 0 une suite telle que φn ≤ g0 + n−1 X ps + n−1 X φ0 ≤ g0 (2.33) ks φs , n ≥ 1. (2.34) s=0 s=0 Si g0 ≥ 0 et pn ≥ 0 pour tout n ≥ 0 alors ! ! n−1 n−1 X X φn ≤ g0 + ps exp ks s=0 2.9.4 (2.35) s=0 Problème de Cauchy Exercice 6 Soit le problème de Cauchy : x0 = 2y y 0 = −2x − 4x3 − y (2.36) (2.37) partant de (x(0), y(0)) = (x0 , y0 ) 6= (0, 0). Démontrer que ce problème admet une solution maximale sur tout l’intervalle ]α, β[ (avec −∞ ≤ α < β ≤ ∞). 22 Exercice 7 On considère le problème de Cauchy : x0 (t) = 2|x(t)|1/2 x(0) = 0 (2.38) (2.39) 1. Démontrer que pour toute constante λ ≥ 0 ce problème admet la solution xλ (t) = (t − λ)2 si t ≥ λ et xλ (t) = 0 sinon. Commenter sur l’unicité. 2. Écrire un schéma d’Euler explicite/implicite et expliquer quelle sera la solution trouvée par un calcul numérique. Exercice 8 Donner un résultat de convergence pour le schéma d’Euler sans le lemme de Gronwall discret. On supposera la fonction f (t, x) Lipschitz globale de constante L et la solution X(t) de classe C 2 . Indications : commencer sans les erreurs d’arrondi et établir une formule de récurrence pour l’erreur. 2.9.5 Runge-Kutta Exercice 9 (écriture R-K) Vérifier que la méthode de Heun est bien une méthode de Runge-Kutta à deux pas et écrire les tableaux de Butcher correspondants. De même pour la méthode d’Euler modifiée : h h Un+1 = Un + hf (tn + , Un + fn ) 2 2 Exercice 10 (θ-schéma) On considère le “θ-schéma” : Un+1 = Un + h {(1 − θ)f (tn , Un ) + θf (tn+1 , Un+1 )} . Démontrer que la région de stabilité de ce schéma contient {z = hλ; Re(z) < 0} ssi θ ≥ 1/2. 2.9.6 Systèmes d’EDO Exercice 11 (Modèle SIR) Écrire un pas de la méthode d’Euler implicite pour le système dS/dt = −rSI dI/dt = rSI − aI dR/dt = aI 23 (2.40) (2.41) (2.42) Exercice 12 Soit le problème de Cauchy : x0 = 2y(z − 1) y 0 = −x(z − 1) z 0 = −xy (2.43) (2.44) (2.45) partant de (x(0), y(0), z(0)) = (x0 , y0 , z0 ). Démontrer que ce problème admet une solution maximale sur tout l’intervalle [0, ∞[. Exercice 13 (systèmes autonomes) Soit le système x0 = f (x) avec f de classe C 1 . L’état x est un vecteur de Rd . 1/ Soit x1 et x2 deux solutions de ce système. Alors si ces solutions se touchent en un point elles sont égales. 2/ Soit x une solution. Alors soit t 7→ x(t) est injective soit elle est périodique. 24 Chapitre 3 Équations différentielles stochastiques (EDS) 3.1 Rappels : mouvement brownien, martingales, intégrales et processus stochastiques, formule d’Ito Filtrations Le but de cette section n’est pas de constituer une présentation exhaustive de la théorie des processus stochastique, mais seulement de fixer les notations qui seront utilisées par la suite. On se référera à d’autres ouvrages (e.g. [5, 7]) pour les démonstrations des résultats acceptés ici tels quels. Définition 7 Une famille (Xt )t≥0 de variables aléatoires sur un espace de probabilité (Ω, A, P ) à valeurs dans un espace E muni d’une tribu ξ est dite processus stochastique à temps continu et à valeurs dans (E, ξ). Ici t est le temps et t → Xt (ω) une trajectoire du processus. Définition 8 Soit (Ω, A, P ) un espace de probabilité. Une filtration (At )t≥0 est une famille croissance de sous-tribus de A. At s’interprète comme l’information donc on dispose à l’instant t. On dit que Xt est adapté à la filtration (At )t≥0 si ∀t Xt est At mesurable. 25 Réciproquement à partir de (Xt )t≥0 on pose Ãt = σ(Xs , s ≤ t) (qui est la plus petite tribu rendant Xs mesurables pour tout s ≤ t ; ”σ” designe la plus petite sigma algèbre contenant les ensembles en question) et At = σ(Ãt ∪ N ) (ici N sont les ensembles de mesure nulle) ; (Xt )t≥0 est adapté par rapport à (At )t≥0 et (At )t≥0 est sa filtration naturelle. Movement brownien Il modélise un mouvement très irrégulier mais continu (peut être dessiné sans lever le stylo du papier). Il s’agit d’une suite de variables aléatoires W (t) (indexée par le temps t), notée aussi Wt , et telle que a/ W0 = 0 avec probabilité 1 b/ P-ps t 7→ Wt (ω) est continu sur [0, T ] b/ pour 0 ≤ s ≤ t ≤ T l’incrément W (t) − W (s) √ est une variable normale de moyenne 0 et variance t − s : W (t) − W (s) ≈ t − sN (0, 1) (N (0, 1) est la loi de la variable normale standard c/ pour 0 ≤ s < t < u < v ≤ T les incréments W (t) − W (s) et W (v) − W (u) sont indépendants. x2 1 e− 2λ ; par ailleurs Wt+dt − Wt On rappelle que la densité de N (0, λ) est √2πλ √ a comme loi N (0, dt) ou encore dtN (0, 1) (donc c’est intuitivement d’ordre dt1/2 , cf. aussi formule de Ito). Martingales Soit (Ω, A, P ) un espace de probabilité et (At )t≥0 une filtration. Une famille adaptée (Mt )t≥0 de v.a. intégrables (c’est à dire telles que E|Mt | < ∞) est une martingale si pour tout s ≤ t E(Mt |As ) = Ms . Remarque 9 On obtient facilement E(Mt ) = E(M0 ). Proposition 1 Soit (Wt )t≥0 un mouvement brownien alors Wt , Wt2 − t, eσWt − σ2 t t sont des martingales. Démonstration Voir cours. Indication : on utilise les propriétés de l’espérance conditionnelle. 26 Intégrale de Ito RT Il s’agit de donner un sens à 0 f (t, ω)dWt pour un mouvement brownien Wt et (At )t≥0 sa filtration naturelle. RT On se rappelle des sommes de Riemann pour le calcul de 0 h(t)dt qui font intervenir des divisions t0 = 0 < t1 < t2 < ... < tN = T de [0, T ] et les P sommes de Riemann j h(tj )(tj+1 − tj ). Ces sommes convergent à l’intégrale de Riemann lorsque la finesse de la division tend vers zéro. P −1 De manière analogue on construit les sommes de Ito N j=0 h(tj )(Wtj+1 − PN −1 tj +tj+1 Wtj ) ou de Stratanovich j=0 h( 2 )(Wtj+1 − Wtj ). Lorsque la fonction h est déterministe les deux sommes convergent vers la même limite. Par contre si h est aléatoire (par exemple dépend de Wt ) les deux sommes ne convergent pas vers la même limite. Exemple : h = W , tj = j · dt. Les sommes de Ito : N −1 N −1 X X h(tj )(Wtj+1 − Wtj ) = Wtj (Wtj+1 − Wtj ) j=0 1 = 2 (3.1) j=0 N −1 X Wt2j+1 − Wt2j j=0 1 2 − (Wtj+1 −1 1N X 1 2 2 2 − Wtj ) = WT − W0 − (Wtj+1 − W(3.2) tj ) . 2 2 j=0 2 PN −1 (Wtj+1 − Wtj )2 est de moyenne N dt = T et variance de 1 2 l’ordre dt donc la limite sera 2 WT − T . Les sommes de Stratonovich : N −1 N −1 X X tj + tj+1 h( )(Wtj+1 − Wtj ) = W tj +tj+1 (Wtj+1 − Wtj ) (3.3) 2 2 j=0 j=0 Le terme j=0 N −1 X j=0 Wtj + Wtj+1 + ∆Zj (Wtj+1 − Wtj ) 2 (3.4) Ici ∆Zj est une variable indépendante de Wtj de moyenne nulle et variance dt/4. La limite sera 12 WT2 . Remarque 10 L’intégrale de Stratonovich est aussi limite des sommes N −1 X j=0 h(tj ) + h(tj+1 ) (Wtj+1 − Wtj ). 2 27 (3.5) D’une manière plus générale, pourR un processus Ht adapté Rà la filtraT T tion (At )t≥0 on peut définir (dès que 0 Hs2 ds < ∞ ) i’intégrale 0 Hs dWs , RT 2 dite intégrale de Ito. Elle est une martingale si E 0 Hs ds < ∞ (condition suffisante). Par ailleurs l’intégrale de Ito est continue. Les propriétés Rd’incréments indépendants du mouvement brownien nous t renseignent que 0 HdW (s) est une martingale. En fait la réciproque est t aussi vraie : toute M (t) martingale locale par rapport au mouvement brownien dW (t) peut être représentée comme une intégrale stochastique : Z t M (t) = M (0) + H(s)dW (s) 0 avec H(t) processus adapté et martingale est continue. Rt 0 H(s)2 ds < ∞ p.s. En particulier toute Proposition 2 (Isométrie de Ito) L’intégrale de Ito a les propriétés suivantes Z T E H(Wt , t)dWt = 0 (3.6) 0 Z T 2 Z T E H(Wt , t)dWt = EH 2 (Wt , t)dt. (3.7) 0 0 Processus d’Ito et EDS Définition 9 On appelle un processus d’Ito le processus (Xt )t≥0 à valeurs dans R tel que P-p.s. et pour tout t ≤ T Z t Z t Xt = X 0 + Ks ds + Hs dWs (3.8) 0 0 RT RT avec X0 A0 mesurable, Kt et Ht adaptés, 0 |Ks |ds < ∞ 0 Hs2 ds < ∞ On dira alors que Xt est solution de l’équation différentielle stochastique dXt = Kdt + HdWt . Proposition 3 (Ito) Pour une fonction f de classe C 2 , si Xt satisfait l’EDS dXt = a(t, Xt )dt + b(t, Xt )dWt alors 2 ∂f ∂f 1 2∂ f dt + dXt + b(t, Xt ) dt. df (t, Xt ) = ∂t ∂x 2 ∂x2 28 (3.9) Remarque 11 Comme avant, le sens à donner à (3.9) est un sens intégral. La démonstration de cette formule, non présentée ici, permet de donner un sens à l’égalité heuristique (dWt )2 = dt. Donc dWt peut être vu comme √ une variation d’ordre t d’où l’apparition de (bdW )2 = b2 dt dans la formule. D’une manière formelle on peut écrire ∂f ∂f 1 ∂ 2f ∆t + ∆x + (∆x)2 ∂t ∂x 2 ∂x2 ∂ 2f 1 ∂ 2f 1 ∂ 2f + 2 (∆x)2 + ∆x∆t + (∆t)2 + ... (3.10) ∂x 2 ∂x∂t 2 ∂ 2t √ Mais ∆x = a∆t + b ∆tα avec α de loi N (0, 1). Alors (∆x)2 = a2 (∆t)2 + 2ab(∆t)3/2 +b2 ∆tα2 , donc E(∆x) = b2 ∆t. Il suffit ensuite de prendre ∆x, ∆t → 0. ∆f (Xt , t) = t Remarque 12 Si dS = αdt + σdWt et St = eXt alors dXt = (α − St σdWt . Comme avant, le sens à donner à (3.9) est un sens intégral. σ2 )dt 2 + Modèle d’évolution d’un actif financier Soit St un actif financier que nous prenons une action pour simplifier. La performance de l’actif est souvent mesurée en termes de son rendement St+dt −St qui est le gain/perte relative entre t et t + dt. L’EDS associée est St dSt = µdt + σdWt . St (3.11) Ici µ est la tendance, déterministe. Le facteur multiplicatif σ est dit volatilité et donne la magnitude de l’incertitude sur l’évolution future de l’actif financier. 3.2 3.2.1 Formules d’Ito -Taylor Rappels : Taylor sous forme intégrale On se rappelle que pour une équation R tdéterministe dX(t)/dt = a(t, X(t)) la formulation intégrale est Xt = X0 + 0 a(s, Xs )ds et ∂ df (Xt ) = a(t, Xt ) f (Xt ). dt ∂x 29 On obtient la formule t Z f (Xt ) = f (X0 ) + Lf (Xs )ds 0 ∂ avec L = ∂x . Par exemple pour f (x) = x on obtient la formule de X(t). On suppose dorénavant a = a(X) et on utilise la formule précédente : Z s La(Xσ )dσ a(Xs ) = a(X0 ) + 0 obtenant ainsi Z t Z t Z Xt = X 0 + a(Xs )ds = X0 + (a(X0 ) + 0 Z t Z tZ s = X0 + a(X0 ) ds + La(Xσ )dσds 0 0 0 Z tZ s La(Xσ )dσds. = X0 + ta(X0 ) + 0 0 s La(Xσ )dσ)ds 0 (3.12) 0 Pour une fonction générale on obtient la formule de Taylor sous forme intégrale : Z t f (Xt ) = f (X0 ) + Lf (Xs )ds = ... 0 = f (X0 ) + n X tk k=1 3.2.2 k! Z tZ k L f (X0 ) + s1 Z sn Ln+1 f (Xsn )dsn ...ds(3.13) 1. ... 0 0 0 Formules d’Ito -Taylor Nous écrivons la formule de Ito : Z t Z t 2 ∂ 1 ∂ 2 ∂ f (Xt ) = f (X0 )+ a(Xs ) f (Xs ) + b(Xt ) f (Xs ) ds+ b f (Xs )dWs 2 ∂x 2 ∂x ∂x 0 0 2 ∂ ∂ ∂ 1 On note L0 = a(Xs ) ∂x + 12 b(Xt )2 ∂x 2 et L = b ∂x et on aura donc Z f (Xt ) = f (X0 ) + t Z 0 L f (Xs )ds + 0 0 30 t L1 f (Xs )dWs . (3.14) Une application répétée de la formule nous permet d’écrire : Z t Z t b(Xs )dWs a(Xs )ds + X t = X0 + 0 0 Z s Z s Z t 1 0 L a(Xσ )dWσ ds L a(Xσ )dσ + a(X0 ) + = X0 + 0 0 0 Z s Z s Z t 0 1 b(X0 ) + L b(Xσ )dσ + L b(Xσ )dWσ dWs (3.15) + 0 0 Donc 0 t Z Xt = X0 + a(X0 ) Z t ds + b(X0 ) dWs + R 0 (3.16) 0 avec Z tZ Z tZ s s L1 a(Xσ )dWσ ds L a(Xσ )dσds + R= Z 0t Z 0s Z t Z0 s 0 L1 b(Xσ )dWσ dWs . L0 b(Xσ )dσdWs + + 0 0 0 0 (3.17) 0 A l’ordre suivant : Z tZ s Z t Z t 1 dWσ dWs + R2 dWs + L b(X0 ) ds + b(X0 ) Xt = X0 + a(X0 ) 0 0 0 0 (3.18) où Z tZ s Z tZ s R2 = L a(Xσ )dσds + L1 a(Xσ )dWσ ds 0 0 0 0 Z tZ s Z tZ sZ σ 0 L0 L1 b(Xu )dudWσ dWs L b(Xσ )dσdWs + + 0 0 0 Z0 t Z0 s Z σ + L1 L1 b(Xu )dWu dWσ dWs . (3.19) 0 3.3 3.3.1 0 0 0 Schémas numériques Euler-Maruyama et Milshtein Considérons une division 0 = τ0 < τ1 < ... < τn < ... < τN = T , 31 Le calcul numérique de la solution peut se faire e.g. par la méthode de Euler-Maruyama (E-M) : on approche X(τn ) par Yn et on pose Yn+1 = Yn +a(τn , Yn )(τn+1 −τn )+b(τn , Yn ) Wτn+1 −Wτn , Y0 = X(0). (3.20) Comme dans les chapitres précédents on étudiera surtout le cas particulier τk = k∆τ et on notera h = τn+1 − τn , ∆Wn = Wτn+1 − Wτn . Lorsqu’il n’y a pas d’ambiguı̈té, on note aussi an = a(τn , Yn ), bn = b(τn , Yn ). Ainsi le schéma Euler-Maruyama est donc Yn+1 = Yn + an h + bn ∆Wn , Y0 = X(0). (3.21) Exercice 14 Expliquer comment le schéma d’Euler-Maruyama utilise le développement Ito-Taylor à l’ordre 0.5-1. Remarque 13 Pour a et b constantes Euler-Maruyama donne Yn+1 = Y0 + aτn+1 + bWτn+1 . Un autre schéma qu’on peut obtenir à l’aide de Ito-Taylor à l’ordre 1 est le schéma de Milshtein n o 1 Yn+1 = Yn + an h + bn ∆Wn + bn b0n (∆Wn )2 − h , Y0 = X(0). (3.22) 2 Exercice 15 Expliquer comment le schéma de Milshtein utilise le développement Ito-Taylor à l’ordre 1. D’autres schémas existent tels que les schémas dits d’ordre 1.5 ou 2, etc. 3.3.2 Schémas implicites Une attention particulière est à accorder aux schémas implicites. Considérons l’exemple d’un cas simple où a(X) = aX et b(X) = bX. Une translation naı̈ve du principe des schémas implicites suggererait que Euler-Maruyama implicite Yn devrait être Yn+1 = Yn + ahYn+1 + bYn+1 ∆Wn ou encore Yn+1 = 1−ah−b∆W n ce qui pose problème car pas borné car on sait par exemple que pour une 1 variable normale réduite ξ la quantités E |ξ| n’est pas finie. Donc il ne faut pas rendre implicite la partie brownienne et ainsi on arrive au schéma EulerMaruyama implicite Yn+1 = Yn + ahYn+1 + bYn ∆Wn . 32 (3.23) Pareil pour le schéma de Milshtein implicite o b(τn , Yn )b0 (τn , Yn ) n 2 (∆Wn ) − h Yn+1 = Yn + a(τn+1 , Yn+1 )h + b(τn , Yn )∆Wn + 2 Y0 = X(0). (3.24) 3.4 Consistance Définition 10 (Consistance faible) Un schéma est faiblement consistant si 2 Yn+1 − Yn Aτn − an = 0 (3.25) lim E E h→0 h et 2 ! 1 lim E E (Yn+1 − Yn )2 |Aτn − b2n = 0. (3.26) h→0 h Théorème 7 Les schémas d’Euler-Maruyama et Milshtein sont faiblement consistants. Démonstration Voir cours. Indication : calculs en faisant attention aux ordres. Définition 11 (Consistance forte) Un schéma est fortement consistant si 2 Yn+1 − Yn =0 A − a (3.27) lim E E τ n n h→0 h et 1 2 lim E |Yn+1 − Yn − E(Yn+1 − Yn |Aτn ) − bn ∆Wn | = 0. (3.28) h→0 h Remarque 14 La première condition de la consistance forte et faible est la même. Théorème 8 Les schémas d’Euler-Maruyama et Milshtein sont fortement consistants. Démonstration Voir cours. Indication : calculs en faisant attention aux ordres. 33 3.5 Convergence Définition 12 (Convergence forte) Un schéma numérique Yn de pas h converge fortement à l’ordre γ > 0 au temps T = N h s’il existe h0 > 0 et C > 0 indépendante de h telle que E(|X(T ) − YN |) ≤ Chγ , ∀h ≤ h0 (3.29) Définition 13 (Convergence faible) Un schéma numérique Yn de pas h converge faiblement à l’ordre β > 0 au temps T = N h s’il existe h0 > 0 et C > 0 indépendante de h telle que |Eg(X(T )) − Eg(YN )| ≤ Chβ , ∀h ≤ h0 , ∀g ∈ Cp2β+2 (3.30) Ici Cp2β+2 sont les fonctions à croissance au plus polynomiale de classe 2β + 2. Théorème 9 Le schéma Euler-Maruyama converge fortement à l’ordre 0.5 et faiblement à l’ordre 1. Le schéma de Milshtein converge fortement et faiblement à l’ordre 1. Démonstration Voir cours. Indication : on fait des estimations sur Z(t) = sup0≤s≤t E|Yns − Xs |2 avec ns la partie entière inférieure de s/h........ 3.6 3.6.1 Application au delta-hedging des options et équation de Black& Scholes Options Nous ne donnons pas ici toutes les détails des produits dérivés, le lecteur intéressé peut consulter [4]. Pour rappel un call européen de strike K et maturité T sur un actif St est le droit d’acheter l’actif St au prix K à l’instant (futur) T . En général les options peuvent apporter h(ST ) à l’instant T , dans ce cas la fonction h est appelée pay-off de l’option. Il suit qu’à l’instant T le ’juste prix’ C(T, S) de ce contrat est C(T, ST ) = (ST − K)+ . 34 (3.31) Il reste maintenant à trouver le prix pour t < T . Pour ce faire on prend un modèle d’évolution du sous-jacent St , par exemple dSt = µdt + σdWt . St 3.6.2 (3.32) Portefeuille auto-financé Soit Πt un portefeuille composé d’actifs Sti en quantité θti , i = 0, ..., n. Il est usuel de prendre comme premier actif l’actif sans risque dont l’évolution est dSt0 = rSt0 dt avec r le taux d’intérêt sans risque. La valeur Πt de ce portefeuille à l’instant t est Πt = n X θtk Stk qui sera noté θt · St . (3.33) k=0 Parmi tous les portefeuilles possibles, un type bien particulier nous intéressé ici : ceux qui sont autofinancés c’est à dire ne reçoivent pas d’argent (et ne versent pas). Pour ces portefeuilles seules sont admises des opérations d’arbitrage entre les actifs i.e. il faut vendre un actif pour acheter un autre. En temps discret ceci nous donne la relation suivante θtn+1 · Stn+1 = θtn · Stn+1 (3.34) car la redistribution se fait aux prix présents. Pour comprendre on peut considérer par exemple des actifs qui se négocient seulement au ”fixing” une seule fois par jour, alors, en ayant fini la journée avec une distribution d’actifs θtn la redistribution θtn → θtn+1 se fera demain sur la base des prix de demain Stn+1 (on suppose vente et achat simultanés). Ceci veut dire que Πtn+1 − Πtn = ...( après calcul) = θtn · (Stn+1 − Stn ). (3.35) et justifie la Définition 14 Un portefeuille Πt est dit autofinancé si pour tout t : dΠt = θt · dSt . (3.36) Remarque 15 Pour un portefeuille autofinancé dθt · St = 0. Proposition 4 Tout portefeuille peut être rendu autofinancé en rajoutant de l’actif sans risque. 35 3.6.3 Valorisation des options par delta hedging, équation de Black& Scholes Soit un portefeuille Π composé de 1 option de prix Ct = C(t, St ), ∆t parts du sousjacent St et une certaine quantité γt d’actif sans risque (pour le rendre autofinancé). Alors si on prend ∆t = − ∂C après calculs ........... on obtient ∂S ∂ 2C σ2S 2 + γ r dt (3.37) t ∂t ∂S 2 2 donc c’est une évolution déterministe. Mais la seule évolution déterministe possible pour un portefeuille est dΠt = rΠt dt d’où l’équation de Black& Scholes : dΠt = ∂C + ∂C ∂C 1 2 2 ∂ 2 C + rC + σ S − rC = 0 ∂t ∂S 2 ∂S 2 C(T, ST ) = h(ST ) (3.38) (3.39) La deuxième équation est tout simplement C(T, ST ) = (ST − K)+ pour h(S) = (S − K)+ . 3.6.4 Valorisation des options par probabilité risqueneutre Manifestement, d’après (3.32), St n’est pas une martingale. En utilisant Girsanov et après calculs ........ on peut montrer que − C(t, St ) = E e RT t r(s)ds dXt = rdt + σdW̃t . Xt h(XT )Xt = St (3.40) (3.41) Ceci nous permet de calculer le prix selon la procédure suivante : - on initialise Xt à St - on calcule avec un schéma numérique (E-M, Milshtein, etc) XT pour beaucoup de réalisations du mouvement brownien W̃t - on calcule l’espérance du pay-off h(XT ) qu’on actualise comme dans la formule précédente. 36 Remarque 16 On remarque que la procédure utilise la convergence faible. Par ailleurs les arbres binômiaux Cox-Ross-Rubinstein sont donc un cas particulier de ce calcul pour un schéma particulier (voir aussi les exercices). Par contre pour d’autres options (e.g. dépendantes de chemin) c’est la convergence forte qui est nécessaire. Remarque 17 Le prix d’une option dépend d’une manière cruciale de la volatilité σ (seul facteur inconnu, le taux r étant coté et connu). En fait on peut négocier la volatilité à travers les options. 3.7 Exercices Dans tout ce qui suit on considère une EDS dXt = a(t, Xt )dt + b(t, Xt )dWt (3.42) Les coefficients a et b qui satisfont, au minimim, les conditions du théorème d’existence d’un processus d’Ito, à savoir : - a, At du processus Xt R T b sont adaptés à laR filtration T - 0 |as |ds ≤ ∞ ppt , 0 |bs |2 ds ≤ ∞ ppt Rappel : le pas de temps est ici égal à h et on note τn = nh. Les schémas numériques proposeront des approximations Yn de Xτn . Lorsqu’il n’y a pas d’ambiguı̈té, on note an = a(τn , Yn ), bn = b(τn , Yn ). Exercice 16 (consistance faible) On suppose a bornée : |a(t, x)| ≤ M ∀t, x. 1/ Montrer que le schéma suivant, dit ”Euler Maruyama faible” √ (3.43) Yn+1 = Yn + a(τn , Yn )h + b(τn , Yn )ξn h est faiblement consistant. Ici ξn sont des variables aléatoires indépendantes entre elles et indépendantes de Aτn telles que P (ξn = ±1) = 12 . 2/ Généraliser pour d’autres variables ξn . 3/ Le schéma est-il fortement consistant ? Exercice 17 (schéma de Heun pour EDS) Dans cet exercice on considère que dans (3.42) les coefficients a et b sont indépendants du temps, de classe 37 C 2 et a,b et les dérivées d’ordre 1 et 2 ( a0 ,a00 ,b0 ,b00 ) également bornées. On étudie une généralisation formelle du schéma de Heun o 1n a(Yn ) + a Yn + a(Yn )h + b(Yn )∆Wn h Yn+1 = Yn + 2 n o 1 + b(Yn ) + b Yn + a(Yn )h + b(Yn )∆Wn ∆Wn (3.44) 2 Montrer que ce schéma n’est pas fortement consistant pour tout choix de a et b et trouver pour quels types de coefficients le schéma l’est (conditions suffisantes). Exercice 18 (consistance : définitions) Montrer que pour l’équation (3.42) les définitions de la consistance comme EDS et comme EDO coı̈ncident si b = 0 (a et b seront supposeés aussi régulières que nécessaire). Exercice 19 Donner un exemple de coefficients a et b tels que le schéma d’Euler Maruyama appliqué à d’équation (3.42) ait un ordre de convergence forte strictement inférieur à 1.0. Exercice 20 Dans l’équation (3.42) on supposera a, b Lipschitz, de croissance au plus quadratique en X. Montrer qu’un schéma fortement consistant partant de X(0) converge fortement. Appliquer au schémas Euler-Maruyama et Milstein et montrer que dans ces cas l’ordre de convergence γ est supérieur à 0.5. 3.7.1 EDS : solutions Rappel dans le calcul des esperances conditionnelles les propriétés suivantes sont utiles (A est une tribu) : a/ E(XZ|A) = ZE(X|A) si Z est mésurable par rapport à A b/ E(X|A) = EX si X est indépendante de A c/ majoration : E(X|A) ≤ E(|X||A) Exo. 16 Nous vérifions les deux propriétés dans la définition de la consistance faible. E Yn+1 − Yn Aτn − an = E h bn = an + √ Eξn − an = 0 h ! √ an h + bn hξn Aτn − an h (3.45) 38 où nous avons utilisé le fait que an et bn sont mésurable p/r à Aτn et aussi le fait que ξn est indépendante de Aτn , et Eξn = 0. Donc 2 Yn+1 − Yn (3.46) E E Aτn − an = E0 = 0 h ce qui donne la première majoration dans la définition de la consistance, avec c(h) = 0. La deuxième condition : ! √ (an h + bn hξn )2 (Yn+1 − Yn )2 E Aτn Aτn = E h h √ = ha2n + 2an bn hEξn + b2n Eξn2 = ha2n + b2n . (3.47) Nous avons à nouveau utilisé Eξn = 0 mais aussi Eξn2 = 1 (et bien sur l’indépendance de ξn et la mésurabilité de a et b p/r à Aτn ). On conclut 2 2 (Y − Y ) n+1 n 2 Aτn − an = E(ha2n )2 ≤ h2 M. (3.48) E E h Mais M h2 → 0 pour h → 0, ce qui achève la démonstration de la consistance faible (avec c(h) = M h2 dans les deux estimations). 2/ On remarque que toute suite de variables aléatoires ξn indépendantes entre elles et indépendantes de Aτn de moyenne 0 et variance 1 donnent les même resultat. 3/ Il ne peut pas l’être, car la deuxième condition de la définition de la consistance forte ne serait pas satisfaite (en effet, les variables ξn n’ont aucune relation avec les ∆Wn , donc en particulier ne peuvent pas les compenser lors du calcul, et on reste avec un terme qui ne tend pas vers zéro pour h → 0). Exo. 17 Les calculs de cet exo ne sont pas tout à fait similaires à ceux de l’application précedante pour la raison suivante : a Yn + an h + bn ∆Wn n’est ni indépendante de Aτn ni mésurable par rapport à Aτn ; effectivement, la fonction a mélange ∆Wn d’une part et Yn ,an et bn d’autre part donc, a Yn + an h + bn ∆Wn n’est pas indépendante de Aτn à cause de la présence des Yn ,an et bn et n’est pas mésurable p/r à Aτn à cause de la présence de ∆Wn . Il nous faut alors remplacer le calcul exacte de l’espérance conditionnelle, qu’on pouvait faire avant, par un calcul approché par des formules de Taylor. 39 On remarque tout d’abord que, avec les notations an = a(Yn ), bn = b(Yn ), = a0 (Yn ), b0n = b0 (Yn ), une formule de Taylor à l’ordre 2 nous donne : 2 00 n a (α ) a Yn +an h+bn ∆Wn = an +a0n · an h+bn ∆Wn + 2 y · an h+bn ∆Wn pour un certain point αyn . De 2 même : 00 n b (β ) b Yn +an h+bn ∆Wn = bn +b0n · an h+bn ∆Wn + 2 y · an h+bn ∆Wn pour un certain point βyn . Remarque : e.g., a0n est mésurable p/p à Aτn car il s’agit d’une fonction i.e. a0 (·) appliquée à une variable Yn qui elle est mésurable p/r à Aτn . Il ne reste plus qu’à faire les calculs de la même façon qu’avant. Nous omettons seulement le calcul immédiat initial qui utilise l’indépendance et la mésurabilité p/r à Aτn ; le lecteur est par contre invité à refaire si besoin. 00 n 2 a (αy ) 0 an an h + E an h + bn ∆Wn |Aτn 2 Yn+1 − Yn A − a = a + E τ n n n h 2 00 n 2 b (βy ) E · an h + bn ∆Wn ∆Wn |Aτn 2 bn b0n 2 + E∆n + − an . (3.49) 2h 2h A ce point, sous les hypothèses de l’exo, nous pouvons donc estimer que √ b0n bn Yn+1 − Yn A − a = E + O( h) (3.50) τ n n h 2 2 a0n E b00 (βyn )· an h+bn ∆Wn ∆Wn |Aτn A titre d’exemple, détaillons le traitement du terme . 4h n 00 n Tout d’abord il faut se rappeler que βy dépend de ∆Wn aussi, donc b (βy ) n’est pas forcement mésurable par rapport à Aτn (ni forcement indépendant de Aτn ). Donc on aura seulement des majorations : 2 2 E b00 (βyn ) · an h + bn ∆Wn ∆Wn |Aτn E an h + bn ∆Wn |∆Wn |Aτn ≤ M2 2h 2h où M2 = supx |b00 (x)|. On continue les majorations : 2 n E an h + bn ∆Wn |∆Wn |Aτn M2 ≤ M2 Ea2n h|∆Wn | + 2h √ √ 2 √ 3 b2 |∆Wn |3 o 2Ean bn |∆Wn |2 + E n ≤ C(h h + h + h ) ≤ C 0 h1/2 h 40 avec des constantes C, C 0 indépendantes de h. Revenant à (3.50), comme bn b0n n’a aucune raison d’être petit pour h → 0 (en fait il ne dépend même pas de h), le schéma n’est pas consistant en général. Un calcul similaire nous montre que 2 1 (3.51) E Yn+1 − Yn − E(Yn+1 − Yn |Aτn ) − bn ∆Wn = O(h). h En conclusion, le schéma est fortement (donc faiblement) consistant si et seulement si bb0 = 0 c’est à dire b = constant. 41 Chapitre 4 Lois de conservation et équations hyperboliques 4.1 Dérivation On considère le domaine Ω ⊂ Rd et ρ(x, t) la densité d’une quantité conservée. dont on note par F le flux entrant à travers la frontière ∂Ω. Si on effectue un bilan sur ∂Ω on obtient la relation suivante : Z Z d F dσ. (4.1) ρ(x, t)dx = dt Ω ∂Ω En effet, l’évolution temporelle de la densité de la quantité conservée est bien égale au flux entrant sur la frontière ∂Ω. En dimension 1 (d=1) la frontière de Ω =]a, b[ est composée des points a et b. On obtient Z Z b d b ρ(x, t)dx = F (b) − F (a) = F 0 (x, t)dx. (4.2) dt a a Soit v(x) la vitesse en x ∈ Ω. Le flux sortant est alors F = −vρ et on obtient pour tout α, β ∈ Ω Z Z β d β ∂(vρ) ρ(x, t)dx = − dx, (4.3) dt α ∂x α d’où ∂ρ ∂(vρ) + = 0. (4.4) ∂t ∂x 42 Une telle équation est dite équation hyperbolique ou loi de conservation. 1/ Cas particulier v = v0 constante. Alors l’équation est ∂ρ ∂ρ + v0 =0 ∂t ∂x (4.5) 2/ Si v ne dépend pas de t ni directement de x, c’et à dire v = v(ρ) alors pour f = v(ρ)ρ on obtient ∂ρ ∂f (ρ) + =0 ∂t ∂x (4.6) Exemple : le modèle de trafic (Greenshields) Dans cet exemple, toujours en dimension 1, Ω est une route et ρ est la ρ densité de voitures. La vitesse est v(ρ) = vmax 1 − ρmax En effet si la densité est maximale alors la vitesse est nulle sur la route (v=0), on a un bouchon. De même si la densité est nulle alors la vitesse est maximale (v = vmax ). On obtient ∂ρ vmax ∂ + ρ(ρmax − ρ) = 0. ∂t ρmax ∂x 4.2 (4.7) Méthode des caractéristiques Soit l’équation ∂u ∂f (u) + =0 ∂t ∂x u(x, 0) = u0 (x). (4.8) (4.9) Définition 15 On note a(u) = f 0 (u). Soit u une solution de (4.8)-(4.9). La caractéristique issue de x0 est la courbe t 7→ Xx0 (t) d’équation d Xx (t) = a(u(Xx0 (t), t)) dt 0 Xx0 (0) = x0 . Théorème 10 Soit u une solution de classe C 1 de (4.8)-(4.9). Alors 1. u est constant le long des caractéristiques 43 (4.10) (4.11) 2. pour tout x0 la caractéristique issue de x0 est une droite X = x0 + a(u0 (x0 ))t. (4.12) Démonstration Voir cours. Indication : Par dérivation. Corollaire 2 Dans le cas particulier a(·) = constante les caractéristiques sont Xx0 (t) = x0 +at, et la solution satisfait u(x, t) = u(x−at, 0) = u0 (x−at). 4.2.1 Résolution d’un problème hyperbolique par la méthode des caractéristiques On considère le problème ∂ ∂u(x, t) + (u(1 − u)) = 0. ∂t ∂x (4.13) avec 1 pour x ≤ −1/2 1/2 − x pour −1/2 ≤ x ≤ 1/2 u(x, 0) = u0 (x) = 0 pour x ≥ 1/2 Fig. 4.1 – Fonction (4.14). 44 (4.14) On calcule a(u) = 1−2u et les caractéristiques sont données dans Fig. 4.2. On obtient ensuite la solution 1 pour x ≤ −t − 1/2 1 x − pour −t − 1/2 ≤ x ≤ t + 1/2 u(x, t) = (4.15) 2 1+2t 0 pour x ≥ t + 1/2 Fig. 4.2 – Caractéristiques pour (4.14). Soit maintenant le problème ∂ ∂u(x, t) + (u(1 − u)) = 0. ∂t ∂x avec 0.5 pour x≤0 (x + 1)/2 pour 0 ≤ x ≤ 1 u(x, 0) = u0 (x) = 1 pour x≥1 (4.16) (4.17) illustré dans la Fig. 4.3. Ici les caractéristiques se croisent, donc il y aura création de singularité en t = 1, voir Fig. 4.4. Pour t ≤ 1 la solution sera donc 1/2 pour x ≤ 0, 0 ≤ t ≤ 1 1 x + 1 pour 0 ≤ x ≤ 1 − t, 0 ≤ t ≤ 1 u(x, t) = (4.18) 2 1−t 1 pour x≥1−t 0≤t≤1 45 Fig. 4.3 – Fonction (4.17). Fig. 4.4 – Caractéristiques pour (4.17). 46 4.3 Problème de Riemann Pour comprendre la nature des solutions, on considère le problème suivant, dit de Riemann, qui a une condition initiale simple : ∂u(x, t) ∂f (u) + = 0. ∂t ∂x ug pour x ≤ 0 u(x, 0) = u0 (x) = ud pour x > 0 (4.19) (4.20) Dans tout ce qui suit nous supposerons que f est de classe C 2 et concave. Nous remarquons que sous ces hypothèses a = f 0 est décroissante donc inversible. Notons v = a−1 son inverse (comme fonction). Nous allons décrire les solutions de ce problème dans les deux cas possibles ug ≤ ud et ug ≥ ud . Les solutions obtenues porteront le nom de ”solutions faibles entropiques”. 1/ ug ≤ ud , voir Fig. 4.5. Il y a intersection des caractéristiques. On Fig. 4.5 – Condition du problème de Riemann pour ug ≤ ud . accepte que dans ce cas la solution correcte est une onde de choc ug pour x ≤ st u(x, t) = ud pour x > st 47 (4.21) où s est la vitesse du choc donnée par la formule de Rankine-Hugoniot s= f (ud ) − f (ug ) . ud − ug (4.22) Pour comprendre intuitivement pourquoi cette formule, écrirons le bilan de quantité conservée sur un intervalle [a, b] entre t et t + dt (cf. Fig. 4.6). Il Fig. 4.6 – Bilan de matière lors de l’évolution d’un choc. apparait en effet que la masse perdue est d’une part (ud −ug )·[s(t+dt)−st] et d’autre part ceci devrait être la différence entre flux sortant et entrant, c’est à dire [f (ud )−f (ug )]dt. Il suit que (ug −ud )·[s(t+dt)−st] = [f (ud )−f (ug )]dt d’où (4.22). 2/ ug ≥ ud , voir Fig. 4.7. Dans ce cas les caractéristiques ne se croisent pas mais par tout point ne passe pas nécessairement une caractéristique. Pour remédier nous pouvons considérer une régularisation u0ε de la condition initiale u(x, t = 0) comme dans la Fig. 4.8 ; celle ci aura des solutions par la méthode des caractéristiques ; ensuite il suffit de passer à la limite ε → 0. La solution sera alors pour x ≤ a(ug )t ug v(x/t) pour a(ug )t ≤ x ≤ a(ud )t u(x, t) = (4.23) ud pour x ≥ a(ud )t Elle est appelée onde de raréfaction ou onde de détente. Elle est continue. 48 Fig. 4.7 – Condition du problème de Riemann pour ug ≥ ud . Fig. 4.8 – Regularisation u0ε de la condition initiale u(x, t = 0) du problème de Riemann pour ug ≤ ud . 49 4.3.1 Conclusion Nous avons donc vu que le problème de Riemann pour f concave admet deux types de solutions - si la densité ug pour x < 0 est plus petite que celle ud pour x > 0 alors la solution faible entropique est un choc qui se déplace à la vitesse s donnée par la formule de Rankine-Hugoniot. Nous retrouvons une illustration dans l’évolution d’un flot de voitures sur une route : quand devant la densité est plus importante que derrière il y a formation d’un ”bouchon”. - si la densité ug pour x < 0 est plus grande que celle ud pour x > 0 alors la solution faible entropique est une onde de raréfaction. Nous retrouvons une illustration dans l’évolution d’un flot de voitures sur une route : par exemple au départ d’un feu rouge (quand devant il n’y a personne) il y a étalement des voitures sans bouchon. Dans le cas général (donnée initiale plus compliquée), il faut combiner les deux techniques pour trouver la solution globale du problème. Ce sont toujours les caractéristiques qui nous permettent de raisonner. 4.4 Généralités sur les différences finies Nous allons présenter une méthodologie générale pour la résolution d’un problème aux dérivées partielles : les différences finies. Bien que ceci s’utilise pour une dimension d de l’espace arbitraire nous allons seulement l’utiliser en 1D. Soit donc une équation aux dérivées partielles faisant intervenir une fonction u définie sur un domaine spatial [X0 , XM ] ⊂ R et temporel [0, T ]. On se donne u0 = u(x, t = 0). Obtenir la solution en tout point est généralement impossible, il faut alors discrétiser, c’est à dire calculer seulement une approximation. Pour ceci nous allons utiliser une division de X0 , X1 = X0 +∆x, X2 = X0 + 2∆x, ..., XM = X0 + M ∆x avec ∆x = (XM − X0 )/M et pareil pour le temps 0, t1 = ∆T, t2 = 2∆t, ..., voir Figure 4.9. L’idée générale est que u(Xj , tn ) sera approché par Ujn et on donnera une méthode pour calculer Ujn . Pour ceci il faut rappeler quelques formules, venant de la formule de Taylor, pour une fonction f : R → R : f 0 (x) = f (x + h) − f (x) + O(h) (Euler explicite). h 50 (4.24) Fig. 4.9 – Discretization par différences finies. f 00 (x) = f (x + h) + f (x − h) − 2f (x) + O(h2 ) h2 (4.25) Il existe un deuxième schéma pour le calcul de f 0 (x), dit centré : f 0 (x) = f (x + h) − f (x − h) + O(h2 ). 2h (4.26) Ces schémas seront utilisés ensuite en divers combinaisons pour retrouver la solution. Pour ce qui est des données au bord du domaine on peut prendre a/ des données périodiques u(X0 , t) = u(XM , t) b/ des données explicites u(X0 , t) = g1 (t), u(XM , t) = g2 (t), avec g1 , g2 connues. 4.4.1 Exercices Exercice 21 Démontrer les formules (4.24)-(4.26). Exercice 22 Trouver α, β, γ tels que : f 0 (x) = αf (x + 2h) − βf (x − h) + γf (x) + O(h2 ). h 51 (4.27) 4.5 Schémas numériques (FTCS, Lax, upwind, stabilité) On rappelle l’équation : ∂u ∂f (u) + =0 ∂t ∂x u(x, 0) = u0 (x). (4.28) (4.29) Bien que ces schémas s’appliquent à une fonction f (u) générale dans l’équation (4.8)-(4.9), nous allons seulement l’expliquer pour f linéaire, f (u) = vu et plus encore nous prendrons v = 1. 4.5.1 Le schéma FTCS (Forward Time Centered Space) Comme son nom le dit, c’est une méthode explicite en temps et centrée en espace (voir Fig. 4.10) : n n Ujn+1 − Ujn ∂u(Xj , tn ) Uj+1 − Uj−1 ∂u(Xj , tn ) ' , ' . ∂t ∆t ∂x 2∆x (4.30) Fig. 4.10 – Schéma FTCS. On obtient ainsi l’équation à chaque pas de temps : n n Ujn+1 − Ujn Uj+1 − Uj−1 ∀j, n : + = 0, ∆t 2∆x 52 (4.31) ou encore pour λ = ∆t ∆x : Ujn+1 = λ n λ n Uj−1 + Ujn − Uj+1 . 2 2 (4.32) ∆t Remarque 18 Si v 6= 1 alors λ = v ∆x . U1n Sous la forme matricielle, notant U n = ... on obtient n UM U n+1 1 − λ2 λ 2 = 0 . .. 0 0 ... 1 − λ2 0 λ 2 ... 1 ... − λ2 ... ... λ 2 1 0 .. . .. . n U . λ −2 1 (4.33) Pour étudier la stabilité nous devons trouver les valeurs propres de cette matrice. Nous utilisons le résultat général : de la matrice M × M 0 ... 0 . c 0 .. . b c .. .. .. . c . 0 ... ... a b Proposition 5 Les valeurs propres b c a b 0 a . . .. . . sont √ µk = b + 2 ac cos kπ , k = 1, ..., M. M +1 (4.34) (4.35) Pour FTCS nous obtenons µk = 1 + iλ cos kπ , k = 1, ..., M. M +1 (4.36) dont le module est toujours supérieur à 1. Donc le schéma FTCS n’est pas stable. 53 Fig. 4.11 – Schéma de Lax. 4.5.2 Le schéma de Lax L’idée ici est de symétriser toutes les quantités en espace (voir Fig. 4.11). L’équation à chaque pas de temps est : n U n +Uj+1 Ujn+1 − j−1 2 ∆t ou encore sous forme matricielle 0 1−λ 2 1+λ 2 0 n+1 1+λ U = 0 2 . . . .. . 0 ... + n n Uj+1 − Uj−1 = 0, 2∆x 0 ... 1−λ 2 0 0 .. . 1−λ 2 ... 1+λ 2 0 0 .. . .. . (4.37) n U . 1−λ 2 0 (4.38) Les valeurs propres sont maintenant : µk = √ 1 − λ2 cos kπ , k = 1, ..., M M +1 (4.39) dont le module est inférieur à 1 dès que λ < 1 c’est à dire : ∆t < ∆x (condition de Courant-Friedrichs-Levy, CFL). 54 (4.40) Pour expliquer la stabilité du schéma de Lax, essayons de la voir sous la forme d’un schéma FTCS pour une autre équation : U n +U n n n Ujn+1 − j−1 2 j+1 − Uj−1 Uj+1 + =0 (4.41) ∆t 2∆x n n n n Ujn+1 − Ujn Uj+1 − 2Ujn − Uj−1 + Uj−1 ∆x2 Uj+1 + − ⇐⇒ = 0. (4.42) ∆t 2∆x 2∆t ∆x2 Or, pour = ∆x2 2∆t ceci est une discrétisation de ∂ 2u ∂u ∂u + − 2 = 0. ∂t ∂x ∂x (4.43) 2 Comme il sera vu au chapitre sur les EDP, le terme de diffusion ∂∂xu2 joue son rôle de ”régularisant” et stabilise ainsi le schéma numérique. Bien sur, cette modification tend vers zéros pour ∆x → 0 donc pour des discrétisations fines en temps/espace on résoudra bien l’équation initiale. 4.5.3 Le schéma ”upwind” Nous considérons la version ∂u ∂u +v =0 ∂t ∂x u(x, 0) = u0 (x). (4.44) (4.45) L’idée içi est de suivre la direction du ”vent”, voir Fig. 4.12-4.13. et d’utiliser des données spatiales déjà vues par le front d’avancement de la solution. Pour vjn = v(Xj , tn ) on calcule à chaque pas de temps : n Ujn+1 − Ujn Ujn − Uj−1 + vjn = 0, si vjn > 0, ∆t ∆x n Ujn+1 − Ujn Uj+1 − Ujn + vjn = 0, si vjn < 0. ∆t ∆x (4.46) (4.47) Nous admettrons sans démonstration que ce schéma est stable sous les conditions CFL. 55 Fig. 4.12 – Schéma ”upwind”, cas v > 0. 4.5.4 Schémas d’ordre deux : Lax-Wendroff Ce schéma utilise des approximations d’ordre plus élevé. Il commence par un calcul par le schéma de Lax à un pas de temps intermédiaire tn+1/2 et pas d’espace intermédiaires Xj+1/2 : n n + Ujn − fjn Uj+1 fj+1 −λ . 2 2 Ces valeurs sont utilisées ensuite pour avancer le schéma n+1/2 n+1/2 Ujn+1 = Ujn − λ fj+1/2 − fj−1/2 n+1/2 Uj+1/2 = (4.48) (4.49) Pour f (u) = u on obtient : n n n n − Ujn Ujn + Uj−1 Uj+1 + Ujn Uj+1 Ujn − Uj−1 n+1 n −λ − +λ Uj = Uj − λ 2 2 2 2 (4.50) La forme matricielle fait intervenir comme avant une matrice tri-diagonale à coefficients constants sur diagonale a = λ/2 + λ2 /2, b = 1 − λ2 , c = −λ/2 + λ2 /2 ; les valeurs propres sont √ kπ µk = 1 − λ2 + iλ 1 − λ2 cos , k = 1, ..., M. (4.51) M +1 dont le module est inférieur à 1 dès que la condition CFL λ < 1 est vérifiée. Le schéma Lax-Wendroff est stable donc sous la condition CFL. 56 Fig. 4.13 – Schéma ”upwind”, cas v < 0. 4.6 Exercices Exercice 23 (Propagation des singularités) 1/ On considère le problème ∂u(x, t) ∂u(x, t) +a = 0. ∂t ∂x u(x, 0) = u0 (x) = 1x≤0 . (4.52) (4.53) Montrer que u(x, t) = u0 (x − at) est solution de ce problème. Dessiner cette solution pour divers temps t > 0. 2/ Soit maintenant ∂u(x, t) ∂u(x, t) ∂ 2 u(x, t) +a = . (4.54) ∂t ∂x ∂x2 u(x, 0) = u0 (x) = 1x≤0 . (4.55) R ∞ −s2 √ √1 Montrer que u(x, t) = f ( x−at ) (avec f (x) = e ds) est solution de π y 4t ce problème. Dessiner cette solution pour divers temps t > 0. Qu’observez vous ? Exercice 24 (solutions faibles entropiques) On considère le problème 57 ∂u(x, t) ∂f (u) + = 0. ∂t ∂x ln(2) x < 0 u(x, 0) = u0 (x) = 0 x>0 (4.56) (4.57) où le flux est donné par f (u) = −eu . 1/ Justifier brièvement (en citant le résultat du cours) pourquoi la solution faible entropique bornée du problème est une onde de raréfaction. 2/ Tracer les caractéristiques dans le demi-plan (x, t) ∈ R × R+ et expliciter la solution u(x, t). Tracer cette solution pour t = 1. Exercice 25 (solutions faibles entropiques) On considère le problème ∂u(x, t) ∂u(u + 1) + = 0. (4.58) ∂t ∂x Trouver la solution (faible entropique) dans les deux cas suivants : pour x≤0 1 1 − x pour 0 ≤ x ≤ 2 1/ Condition initiale : u(x, 0) = u0 (x) = −1 pour x≥2 On montrera que toutes les caractéristiques issues de [0, 2] passent par le point (x = 3/2, t = 1/2). 1 pour x≤0 1 − x pour 0 ≤ x ≤ 2 2/ Condition initiale : u(x, 0) = u0 (x) = . −1 pour 2 ≤ x ≤ 3 −1/2 pour x≥3 Exercice 26 (solutions faibles entropiques) On considère le problème √ ∂u(x, t) ∂ u + = 0. (4.59) ∂t ∂x 1/ Trouver la solution (faible entropique) dans les deux cas suivants : 1 pour x < 0 4 pour x < 0 u(x, 0) = u0 (x) = et u(x, 0) = u0 (x) = . 4 pour x > 0 1 pour x > 0 Préciser dans chaque cas la nature de la solution. x < −1 1 pour 4 pour −1 < x < 0 Ici 2/ La même chose pour u(x, 0) = u0 (x) = 1 pour x>0 construire la solution pour t < 12 et la représenter pour t = 3, 6, 12. Dans 58 quel sens varie la vitesse du choc pour t > 12 ? En déduire que u est continue dans le domaine x ≥ 3t − 1 et t ≤ 12. Exercice 27 Démontrer la stabilité du schéma ”upwind” pour le cas f (u) = vu avec v constante égale à 1 ou -1 au choix. Démontrer que le schéma n’est pas stable si on se trompe dans le choix de la formule (i.e. on prend la formule pour v positif alors que v est négatif ). Exercice 28 Trouver l’erreur de troncature pour le schéma de Lax et de Lax-Wendroff. 59 Chapitre 5 Équations aux dérivées partielles (EDP), équation de la chaleur 5.1 Motivation : évaluation d’options par Black & Scholes Considérons une option de prix d’exercice (”strike”) K sur un sous-jacent S de volatilité σ et qui distribue des dividendes continûment à proportion de g de sa valeur. Le prix V de l’option est donné par contrat à l’instant final T , par exemple V (S, t = T ) = (S − K)+ pour un call, V (S, t = T ) = (S − K)− pour un put ... Pour les autres instants ce prix satisfait (sous les hypothèses standard du modèle) l’équation de Black&Scholes σ2 ∂ 2V ∂V ∂V + S 2 2 + (r − g)S − rV = 0. ∂t 2 ∂S ∂S (5.1) Le changement de variables S = Kex , t = T − σ2τ/2 , q = σ2r/2 q̃ = σr−g 2 /2 nous change la fonction V (S, t) en une fonction v(x, τ ) = V (S, t) qu’on peut ensuite changer à nouveau en y(x, τ ) par x 1 2 v(x, τ ) = Kexp − (q̃ − 1) − (q̃ − 1) + q τ y(x, τ ). (5.2) 2 4 Cette nouvelle fonction y satisfait une équation aux dérivées partielles (EDP) 60 plus simple, en temps directe (pas rétrograde comme précédemment) : ∂ 2y ∂y = , x ∈ R, τ ≥ 0 ∂τ ∂x2 (5.3) à partir des conditions initiales x x y(x, 0) = e 2 (q̃+1) − e 2 (q̃−1) x y(x, 0) = e 2 (q̃−1) − pour un call, + − x2 (q̃−1) e + pour un put. (5.4) (5.5) Nous sommes donc dans le cadre uni-dimensionnel de l’équation de la chaleur dont la forme générale s’écrit ∂u ∂t − ∆u = f u = g(x, t) u(t = 0, ·) = u0 (·) dans ΩT = Ω×]0, T [ sur ΓT = ∂Ω×]0, T [ dans Ω (5.6) (5.7) (5.8) où Ω est un ouvert borné de Rd (d = 1, 2, 3, ...) de frontière régulière. L’équation qui précède régit en général tout phénomène de diffusion, par exemple une diffusion de chaleur dans Ω, u(x, t) étant la température dans le point ”x” au temps ”t”, ayant comme répartition initiale u(x, t = 0) = u0 (x) avec des sources de chaleur d’intensité f (x, t) et des températures imposées égales à g(x, t) sur le bord de Ω. ∂2 ∂2 ∂2 Pour rappel ici l’opérateur Laplacian est ∆ = ∂x 2 + ∂x2 + ... + ∂x2 et 1 2 d modélise la diffusion. 5.2 5.2.1 Rappels sur les EDP : espaces fonctionnels, formulation variationnelle, lemme de Lax-Milgram Motivation Pour résoudre l’équation dépendante du temps, nous allons par exemple appliquer un schéma de Euler implicite. Ceci nous amène à résoudre pour tout pas de temps (on rappelle la notation tn = nδt) : un+1 − un = ∆un+1 + f n δt 61 (5.9) ou encore un+1 − δt∆un+1 = un δt + f n . (5.10) Nos constatons qu’il faut donc savoir résoudre les problèmes stationnaires (indépendantes du temps) dont le plus simple exemple est celui de Poisson : −∆u = f u=0 dans Ω sur ∂Ω. (5.11) (5.12) Les conditions aux limites u = 0 portent le nom de conditions de Dirichlet. Un autre type important de condition aux limites sont celles où on impose la ∂u = g(x, t), qui seront dites conditions dérivée normale (donc un flux), e.g. ∂n de Neuman. 5.2.2 Espaces de Sobolev Le but de cette partie est d’introduire les espaces de Sobolev nécessaires pour le traitement variationnel des équations aux dérivées partielles (EDP). Les espaces de Sobolev sont obtenues en classant les fonctions par leur régularité. Nous allons noter par Ω ⊂ Rd le domaine de définition de ces fonctions, domaine qui sera supposé régulier (par exemple sa frontière peut être une fonction C 1 par morceaux ou au moins Lipschitz). Dans tout ce qui suit les fonctions sont supposées aux valeurs réelles, mais ces espaces peuvent aussi être définis pour des fonctions aux valeurs complexes. Espaces L2 L’espace L2 (Ω) est défini par 2 Z L = {f : Ω → R; |f (x)|2 dx < ∞}, (5.13) Ω qui est un Hilbert avec le produit scalaire Z hf, giL2 = f (x)g(x)dx. Ω 62 (5.14) Espaces H m Ces espaces donnent des informations non seulement sur le comportement de la fonction mais également pour ses dérivées. Nous définissons : H m = {f : Ω → R; ∂ α f (x) ∈ L2 ∀α ∈ Nd , |α| ≤ m}, (5.15) i.e., les fonctions dont toutes les dérivées jusqu’au degré m sont dans L2 . Exemple : H01 contient les fonctions L2 dont les dérivées sont aussi fonctions L2 . La norme X kf kH m = k∂ α f (x)kLp (5.16) α∈Nd ,|α|≤m fait de H m un espace de Hilbert avec le produit scalaire Z X hf, giH m = ∂ α f (x)∂ α g(x)dx. Ω (5.17) α∈Nd ,|α|≤m Lorsque les condition aux limites peuvent être prises en compte dans la définition de l’espace, comme est le cas des conditions Dirichlet, il est utile de travailler avec H0m qui est la fermeture dans H m des fonctions C ∞ ayant un support compact strictement inclus dans Ω. Il s’agit donc dans ce cas d’assurer l’annulation des fonctions sur la frontière ∂Ω de Ω. Pour ces espaces H0m , il se trouve que l’annulation de la fonction sur le bord fait que la norme sera contrôlée par la norme L2 de la dérivée, donc on peut montrer, par exemple pour H01 : k∇f kL2 ≤ kf kH01 = k∇f kL2 + k∇kL2 ≤ Ck∇f kL2 . (5.18) Ce sont des inégalités dites de Poincaré. 5.2.3 Formulation variationnelle Il s’agit ici de donner un sens aux équations par intégration par parties. Bien que la théorie soit complètement opérationnelle pour d > 1, à cause des formules d’intégration par parties plus élaborées (les formules de Green/Stokes etc) nous allons seulement expliquer le cas d = 1. 63 Donc si −u00 = f dans un intervalle [α, β] on obtient en multipliant par v(x) Z β Z β Z β 00 0 0 f vdx = − u vdx = −u (β)v(β) + u (α)v(α) + u0 v 0 dx (5.19) α α α Si maintenant on suppose que notre problème avait des conditions de Dirichlet nulles sur le bord de [α, β] (c’est à dire u(α) = u(β) = 0) alors nous voyons que u peut être pris dans H01 ([α, β]). On prendra donc v pareil, v ∈ H01 ([α, β]). Dans ce cas le problème peut être écrit sous la forme : Z β Z β f vdx = u0 v 0 dx, ∀v ∈ H01 ([a, b]). (5.20) α on (le α encore en définissant a : H01 ×H01 Rβ dual de H01 ) par l(v) = α f vdx → R par a(u, v) = il s’écrit Rβ α u0 v 0 dx et l ∈ (H01 )0 A(u, v) = l(v), ∀v ∈ H01 ([α, β]). (5.21) Cette dernière formulation, obtenue par intégration par parties, est dite formulation variationnelle ou formulation faible du problème initial. Elle a beaucoup d’avantages dont celle de donner un sens avec minimum de régularité (observons qu’il n’y a pas de dérivées deuxièmes) et est la méthode de choix pour toutes les équations aux dérivées partielles (EDP). 5.2.4 Lemme de Lax-Milgram Définition 16 Soit X un espace de Banach et une forme bi-linéaire a définie sur X × X. La forme a est continue s’il existe M tel que a(u, v) ≤ M kukkvk pour tous u, v ∈ X. Elle est coercive s’il existe m > 0 tel que pour tout u ∈ V : a(u, u) ≥ mkuk2 . Le résultat suivant, dit le “lemme de Lax-Milgram” donne un cadre très convenable pour démontrer l’existence d’une solution d’une EDP : Théorème 11 (Lax-Milgram) Soit “a” une forme bi-linéaire, continue et coercive sur un espace X et l une forme linéaire continue sur cet espace : l ∈ X 0 . Alors le problème : Trouver u ∈ X solution de a(u, v) = (l, v)X 0 ,X , ∀v ∈ X (5.22) admet une solution unique u ∈ V . De plus l’application l 7→ u est continue de X 0 dans X. 64 Remarque 19 Les hypothèses du thm. sont vérifiées pour notre problème en posant X = H01 ([α, β]). 5.3 Formulations variationnelles (Galerkin) pour la discrétisation des EDP Sauf cas exceptionnels la solution u ne peut pas être trouvée analytiquement. Il faut alors conduire une étude numérique du problème (5.22). Considérons donc une suite d’espaces d’approximation Xh ⊂ X qui “tendent” vers X dans un sens à définir. Ici h > 0 est un paramètre qui donne la finesse de cette approximation, i.e. pour des valeurs h de plus en plus petites les espaces Xh approchent de mieux en mieux X. On peut alors considérer le problème (5.22) posé sur chaque espace Xh . Il est crucial de remarquer que, puisque chaque sous-espace Xh est inclus en X la forme bilinéaire a reste continue et coercive avec les mêmes constantes m et M (qui ne sont peut être plus optimales ! ) : a(uh , vh ) ≤ M kuh k · kvh k, pour tous uh , vh ∈ Xh . (5.23) a(uh , uh ) ≥ mkuh k2 pour tout uh ∈ Xh . (5.24) 0 Par ailleurs la fonctionnelle l ∈ X est aussi une fonctionnelle dans le dual Xh0 de Xh . Il s’ensuit que le problème approché : Trouver uh ∈ Xh tel que a(uh , vh ) = l(vh ) pour tout vh ∈ Xh , (5.25) admet une solution unique uh ∈ Xh . 5.3.1 Convergence Une première question concerne la relation entre u et uh . Ceci est réglé par le résultat suivant Lemme 2 (Céa) Soit u solution de (5.22) et uh solution de (5.25). Alors si ”a” est symétrique : r M (5.26) ku − uh k ≤ inf ku − wh k. m wh ∈Xh 65 Si la forme bilinéaire “a” n’est pas symétrique l’estimation suivante est obtenue M (5.27) ku − uh k ≤ inf ku − wh k. m wh ∈Xh Remarque 20 Il est important de noter que la constante M/m appelée également constante de conditionnement de a qui intervient dans l’estimation dépend seulement de la forme bilinéaire a et de l’espace X ; en particulier cette constante ne dépend pas des Xh . Remarque 21 Donc la distance entre u et uh dépend principalement de combien la solution exacte u est bien approchée par l’espace Xh . Comme d’autre coté ku − uh k ≥ inf ku − wh k, wh ∈Xh il s’ensuit que résoudre (5.25) est une façon optimale (par rapport à h en tout cas) de trouver u. Cette méthode sera d’autant plus optimale que le conditionnement M/m de la forme bilinéaire a est plus petit (i.e. proche de 1, car toujours sur-unitaire). Remarque 22 Toutes les estimations sont dans la norme de l’espace X. Si l’utilisation ultérieure de la solution u nécessite d’autres normes (e.g. lorsque on a besoin de plus qu’une dérivée, etc) il faut alors changer de cadre fonctionnel, en particulier demander que la forme l soit plus régulière que juste X 0. Preuve Remarquons d’abord que a(u − uh , vh ) = (l, vh ) − (l, vh ) = 0 pour tout vh ∈ Xh . (5.28) Il s’ensuit alors que a(u − uh , u − wh ) = a(u − uh , u − uh ) pour tout wh ∈ Xh . On peut déduire d’ici mku − uh k2 ≤ a(u − uh , u − uh ) = a(u − uh , u − wh ) ≤ M ku − uh k · ku − wh k. On a obtenu donc ∀wh ∈ Xh : mku − uh k ≤ M ku − wh k, d’où la conclusion pour le cas non-symétrique. 66 Si en plus la forme “a” est symétrique, alors pour tout vh de Xh : a(u − vh , u − vh ) = a(u − uh + uh − vh , u − uh + uh − vh ) = a(u − uh , u − uh ) + 2a(u − uh , uh − vh ) + a(uh − vh , uh − vh ) = a(u − uh , u − uh ) + a(uh − vh , uh − vh ). (5.29) la dernière égalité étant vraie en virtue de l’orthogonalité (5.28). Il s’ensuit alors de la positivité de la forme “a” : ∀vh ∈ Xh : a(u − uh , u − uh ) ≤ a(u − vh , u − vh ). (5.30) La conclusion suit en utilisant les constantes de continuité et coercivité de la forme “a”. Toujours pour une forme symétrique, on obtient donc (voir la preuve précédente) a(u − uh , u − uh ) = inf a(u − vh , u − vh ). (5.31) vh ∈Xh Ceci nous dit que uh est la projection de la solution exacte u sur p l’espace Xh suivant la norme induite par la forme bilinéaire “a” : kwk∗ = a(w, w). 5.3.2 Mise en oeuvre Pour résoudre (5.25) on se rappellera que (5.22) est en fait la forme “faible” de (5.11) qui appelle un traitement avec des fonctions test. Soit donc eh1 ,...,ehNh une base de Xh . Nous ne supposerons rien d’autre sur les fonctions ehk (normalisation, orthogonalité, ...). A cause de la linéarité de a et l il s’ensuit que (5.25) est équivalent à Trouver uh ∈ Xh tel que a(uh , ehk ) = l(ehk ) pour tout k = 1, ..., Nh . (5.32) P h h h Comme uh ∈ Xh on le cherche sous la forme uh = N c e . En invok=1 PNkh k h h h h quant encore la linéarité de la forme a on obtient a(uh , ek ) = j=1 a(ej , ek )cj . Notons donc par A la matrice Nh × Nh ayant comme entrées Ajk = a(ehj , ehk ), par Uh le vecteur (colonne) Nh × 1 contenant les coefficients chk , k = 1, ...Nh dans cet ordre, et par Fh le vecteur des résultats l(ehk ), k = 1, ...Nh dans cet ordre. Alors on obtient donc (grâce à la symétrie de a) que (5.32) est équivalent à AUh = Fh . (5.33) 67 Ainsi le problème initial est réduit à la résolution d’un système matriciel de dimension Nh pour l’espace Xh suffisamment fin pour bien approcher u (cf. le lemme de Céa). Plusieurs choix sont possible pour les espaces Xh , et il y a toujours un compromis à faire entre la généricité des espaces (i.e. leur capacité à bien approcher des solutions des EDP générales) et l’effort nécessaire pour résoudre (5.33) : plus la suite d’espaces Xh est générique, plus grandes sont alors leur dimensions Nh respectives et plus difficiles à résoudre les systèmes (5.33). Parmi les choix les plus utilisés on retrouve les éléments finis, les éléments spectraux, les ondelettes ... 5.3.3 Illustration : interpolation P 1 pour fonctions C 2 Dans cette partie on s’intéresse aux fonctions de classe C 2 définies sur un segment [α, β] de R1 . On introduit l’opérateur d’interpolation continue par des fonctions linéaires par morceaux : pour une division α = x0 < x1 < ... < xn = β de taille h = maxi=0,...,n−1 (xi+1 − xi ), l’interpolé if de f sera l’unique fonction linéaire sur chaque [xi , xi+1 ] et qui prend les mêmes valeurs que f dans les points xj : f (xj ) = (if )(xj ), j = 0, ..., n, voir Fig 5.1. Il est facile à voir que if est définie sur [xi , xi+1 ] par if (x) = f (xi ) + f (xi+1 ) − f (xi ) (x − xi ). xi+1 − xi (5.34) Proposition 6 Si f est de classe C 2 alors sur chaque [xi , xi+1 ] : |(f − if )(x)| ≤ Ch2 |f 00 (y)|. max (5.35) y∈[xi ,xi+1 ] En plus, pour tout 1 ≤ p ≤ ∞ il existe une constante C indépendante de h telle que kf − if kL2 ≤ Ch2 kf kH 2 . (5.36) Démonstration Voir cours. Indication : On utilise la formule de Taylor : f (x) = f (xi ) + f 0 (xi )(x − xi ) + (x − xi )2 00 f (ξx ) 2 pour un certain ξx ∈ [xi , xi+1 ]. En écrivant la même formule pour xi+1 on obtient f (xi+1 ) = f (xi ) + f 0 (xi )(xi+1 − xi ) + 68 (xi+1 − xi )2 00 f (ξi ) 2 Fig. 5.1 – Interpolation (P1) continue d’une fonction de classe C 2 par polynomés de degré 1 par morceaux. On remplace maintenant f 0 (xi ) de la dernière formule dans la première : f (x) = f (xi )+ (x − xi )2 00 f (xi+1 − f (xi ) (x − xi )(xi+1 − xi ) 00 f (ξi )+ f (ξx ) (x−xi )− xi+1 − xi 2 2 Mais, par (5.34) ceci est équivalent à : f (x) − if (x) = − (x − xi )(xi+1 − xi ) 00 (x − xi )2 00 f (ξi ) + f (ξx ) 2 2 d’où (5.35). Pour montrer (5.36) on écrit : Z β p |f −if | (x)dx = α n−1 Z X i=1 xi+1 n−1 X |f −if | (x)dx ≤ Ch (xi+1 −xi ) 2 xi 4 i=1 max |f 00 (y)|2 . y∈[xi ,xi+1 ] Mais chaque maxy∈[xi ,xi+1 ] |f 00 (y)|2 est atteint en un point noté ξim et donc la P 00 m 2 m somme est n−1 i+1 − xi )|f (ξi )| avec ξi ∈ [xi , xi+1 ]. Mais, pour h → 0 i=1 (xR b ceci converge vers a |f 00 |2 donc on en deduit l’existence d’une constante C indépendante de h telle que 69 Z β 2 4 b Z |f 00 (x)|2 dx. |f − if | (x)dx ≤ Ch a α En prenant la racine et avec l’inégalité kf 00 kL2 ≤ kf kH 2 on obtient l’estimation (5.36). 5.4 Différences finies pour des EDP Nous sortons ici du cadre Galerkin pour revenir aux différences finies permettant de résoudre : ∂y ∂ 2y = , x ∈ R, τ ≥ 0. (5.37) ∂τ ∂x2 Nous allons prendre une grille en espace et une autre en temps comme vu précédemment. 5.4.1 Euler explicite Avec la notation Ukn ' y(nδτ, Ymin + (k − 1)δx) ce schéma s’écrit : n n Uk+1 + Uk−1 − 2Ukn Ukn+1 − Ukn = , δτ δx2 ou sous forme matricielle, en notant λ= (5.38) δτ δx2 (5.39) on obtient U n+1 = 1 − 2λ λ 0 ... λ 1 − 2λ λ 0 0 .. . λ .. . 0 ... 0 .. . .. . 1 − 2λ λ .. . 1 − 2λ λ ... λ 1 − 2λ n U . (5.40) En rappelant que les valeurs propres d’une matrice tri-diagonale (de constantes a, b, c) sont (voir formules (4.35)) √ µk = b + 2 ac cos kπ , k = 1, ..., M. M +1 70 (5.41) on obtient ici 2 µk = 1 − 4λ sin kπ 2(M + 1) . (5.42) La condition de stabilité |µk | < 1, ∀k devient λ < 1/2 ou encore δτ ≤ δx2 2 (5.43) ce qui entraı̂ne des pas de temps très petits (e.g. pour δx = 10−3 , δτ sera de de l’ordre 10−6 ). 5.4.2 Euler implicite Le schéma s’écrit : n+1 n+1 − 2Ukn+1 Uk+1 + Uk−1 Ukn+1 − Ukn = , δτ δx2 ou sous forme matricielle, 1 + 2λ −λ 0 ... 0 .. −λ 1 + 2λ −λ 0 . .. n+1 0 = U n. −λ 1 + 2λ −λ . U . ... ... .. 1 + 2λ −λ 0 ... ... −λ 1 + 2λ (5.44) (5.45) Les valeurs propres doivent être maintenant sur-unitaires ; elles sont kπ 2 µk = 1 + 4λ cos (5.46) 2(M + 1) ce qui montre que le schéma est toujours stable. 5.4.3 Crank-Nicholson Bien que le schéma d’Euler implicite soit stable, il n’est pas toujours suffisamment précis. On utilise alors un schéma d’ordre supérieur, celui de Crank-Nicholson. Il s’écrit : n+1 n n U n+1 + Uk−1 − 2Ukn+1 Uk+1 + Uk−1 − 2Ukn Ukn+1 − Ukn = k+1 + . δτ 2δx2 2δx2 71 (5.47) Sous forme matricielle il s’écrit 1+λ −λ/2 0 ... −λ/2 0 .. 1+λ −λ/2 0 −λ/2 .. . ... 1 + λ/2 .. . ... −λ/2 0 .. . .. . 1+λ −λ/2 −λ/2 1+λ . 0 1−λ n+1 λ/2 U = 0 .. . 0 λ/2 0 ... 1−λ λ/2 0 λ/2 .. . ... 1−λ .. . ... λ/2 0 .. . .. . 1−λ λ/2 λ/2 1−λ n U . (5.48) Soit G la matrice tridiagonale qui a −2 sur la diagonale et 1 sous/sur la diagonale, et C = 2I − λG. Alors U n+1 = (4C −1 − I)U n et on observe que la condition de stabilité est toujours satisfaite ce qui montre que le schéma est toujours stable. Nous pouvons aussi montrer Théorème 12 Supposons que la solution y est lisse de classe C 4 . Alors l’erreur de troncature du schéma de Crank-Nicholson est d’ordre O(δτ 2 + δx2 ). Démonstration Voir cours. Indication : on utilise l’opérateur de différentiation discrète F (x + dx) + F (x − dx) − 2F (x) 2 (5.49) δδx F = δx2 2 2 dont on connaı̂t la propriété δδx F = ∂∂xF2 + O(δx2 ). 5.4.4 Retour à Black&Scholes Pour resoudre maintenant l’équation de Black&Scholes sous sa forme équation de la chaleur, il ne reste plus qu’à donner les conditions aux limites de l’intervalle spatial : à l’extrémité gauche y = R1 et à l’extrémité droite y = R2 . Soit par exemple C le prix d’un call et P le prix d’un put. On utilise alors des relations (qu’on accepte sans démonstration ici) : lim C(S, t) − S = −Ke−r(T −t) (5.50) lim P (S, t) + S = Ke−r(T −t) (5.51) S→∞ S→∞ ce qui nous donne pour un call R1 = 0, R2 (x, τ ) = exp o τ (q̃ + 1) + (q̃ + 1)2 2 4 nx (5.52) et pour un put nx o τ 2 R1 = exp (q̃ − 1) + (q̃ − 1) , R2 = 0. 2 4 72 (5.53) 5.5 Exercices Exercice 29 Trouver l’erreur de troncature pour le schéma d’Euler explicite et implicite. Exercice 30 Soit V un espace de Hilbert a(·, ·) : V × V → R une forme bilinéaire, continue et elliptique (i.e., définie positive) sur V ×V et symétrique. Soit H un autre espace de Hilbert qui contient V : V ⊂ H ⊂ V 0 et l ∈ H ⊂ V 0 . On considère un problème écrit en formulation variationnelle : Trouver u ∈ V tel que a(u, v) = hl, viH , ∀v ∈ V (5.54) Soit Vh ⊂ V un sous espace vectoriel de V et le problème discrétisé : Trouver uh ∈ Vh tel que a(uh , vh ) = hl, vh iH , ∀vh ∈ Vh . (5.55) 1/ Démontrer qu’il existe une constante C (à expliciter) telle que u vérifie : kuk2V ≤ CklkH kukH , ku − uh k2V ≤ CklkH ku − uh kH . (5.56) Soit φk 6= 0 la k-ème fonction propre de a(·, ·), c’est à dire a(φk , v) = λk hφk , viH , ∀v ∈ V 2/ On considère que λk 6= λl pour tout k 6= l. Démontrer que hφk , φl iH = 0 pour k 6= l. De même pour a(φk , φl ). 3/ Nous supposerons dorénavant que les φk engendrent H donc V . On les prendra orthonormées dans H : kφk kH = 1. Ecrire u en fonction des φk , λk et hl, φk i. 4/ On prend comme choix pour Vh l’espace généré par les N premières fonctions φk propres de a(·, ·) c’est à dire Vh = V ect{φk ; k = 1, ..., N ; a(φk , v) = λk < φk , v >H , λ1 ≤ ... ≤ λN ≤ λj , ∀j > N }. Ecrire uh en fonction de φk , k = 1, ..., N . Exercice 31 Sous les hypothèses du lemme de Céa, pour la forme bi-linéaire symétrique a supposons qu’on ait ku − uh kV = minw∈Vh ku − wkV pour tout membre de droite l ∈ V 0 . Démontrer alors qu’il existe une constante C telle que a(u, v) = Chu, viV . 73 Exercice 32 (Équation de Black & Scholes) On considère l’équation de Black & Scholes σ2S 2 ∂ 2V ∂V ∂V + − rV = 0 + rS 2 ∂t 2 ∂S ∂S 1. On définit y = log(S), W (y, t) = V (S, t). Démontrer que l’équation s’écrit maintenant σ2 ∂ 2W ∂W σ 2 ∂W + ) − rW = 0 + (r − ∂t 2 ∂y 2 2 ∂y On note par Uij une approximation numérique de W (idy, jdt), i = −M, M , j = 0, 1, ..., N = T /dt. Nous utiliserons pour les dérivées spa(y−dy) tiales les approximations suivantes f 0 (y) ' f (y+dy)−f , f 00 (y) ' 2dy f (y+dy)+f (y−dy)−2f (y) (dy)2 g(t+dt)−g(t) 0 g (t) ' . dt alors que pour les dérivées en temps on utilise 2. Donner la formule pour le calcul de Uij en fonction des valeurs U`j+1 , ` = −M, ..., M . Écrire sous une forme matricielle (1+rdt)U j = AU j+1 et montrer que A est tri-diagonale de la forme : A`,`−1 = a, A`,` = b, A`,`+1 = c pour tout indice ` ∈ Z admissible. Note : on prendra des formules explicites pour les dérivées et implicite pour −rW . Les conditions aux limites ne seront pas prises en compte dans la définition de la matrice A. 3. Supposons que les valeurs propres d’une telle matrice A sont µA k = √ kπ b + 2 ac cos( 2M +2 ). Démontrer que a + b + c = 1 mais que a,b et c peuvent être vues comme des probabilités d’une loi à 3 événements (i.e., a, b, c sont positives) seulement si certaines conditions sur dt et dy sont satisfaites. Expliciter ces conditions. 4. Comparer les conditions trouvées avec les conditions sur la stabilité d’un schéma Euler explicite. 74 Bibliographie [1] Robert Dautray and Jacques-Louis Lions. Analyse mathématique et calcul numérique pour les sciences et les techniques. Vol. 7. INSTN : Collection Enseignement. Masson, Paris, 1988. Evolution : Fourier, Laplace, Reprint of the 1985 edition. [2] Robert Dautray and Jacques-Louis Lions. Analyse mathématique et calcul numérique pour les sciences et les techniques. Vol. 8. INSTN : Collection Enseignement. Masson, Paris, 1988. Évolution : semi-groupe, variationnel., Reprint of the 1985 edition. [3] Robert Dautray and Jacques-Louis Lions. Analyse mathématique et calcul numérique pour les sciences et les techniques. Vol. 9. INSTN : Collection Enseignement. Masson, Paris, 1988. Évolution : numérique, transport., Reprint of the 1985 edition. [4] J. Hull. Options, Futures, and Other Derivatives. Prentice Hall, sixth edition, 2006. [5] Peter E. Kloeden and Eckhard Platen. Numerical solution of stochastic differential equations, volume 23 of Applications of Mathematics (New York). Springer-Verlag, Berlin, 1992. [6] William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery. Numerical recipes in C++. Cambridge University Press, Cambridge, 2002. The art of scientific computing, Second edition, updated for C++. [7] Daniel Revuz and Marc Yor. Continuous martingales and Brownian motion, volume 293 of Grundlehren der Mathematischen Wissenschaften [Fundamental Principles of Mathematical Sciences]. Springer-Verlag, Berlin, third edition, 1999. 75