Analyse Numérique
Transcription
Analyse Numérique
Université Louis Pasteur L3S6 Physique Analyse Numérique 2007-2008 2 Table des matières 1 Interpolation polynômiale 1.1 Quelques exemples . . . . . . . . . . . . 1.1.1 Un jeu de données . . . . . . . . 1.1.2 Un calcul d’intégrale . . . . . . . 1.2 Polynômes de Lagrange . . . . . . . . . 1.2.1 Une première construction . . . . 1.2.2 Unicité . . . . . . . . . . . . . . 1.2.3 Différences divisées . . . . . . . . 1.2.4 Estimation d’erreur . . . . . . . 1.3 Interpolation d’Hermite . . . . . . . . . 1.3.1 Première construction . . . . . . 1.3.2 Unicité . . . . . . . . . . . . . . 1.3.3 Différences divisées . . . . . . . . 1.3.4 Polynômes d’Hermite généralisés 1.3.5 Estimation d’erreur . . . . . . . 1.4 Quelques exercices . . . . . . . . . . . . 2 Intégration numérique 2.1 Généralités . . . . . . . . . . 2.1.1 Principe . . . . . . . . 2.1.2 Formule de quadrature 2.1.3 Intervalle . . . . . . . 2.1.4 Formules composites . 2.2 Formules de Newton-Cotes . . 2.3 Degré de précision . . . . . . 2.4 Formules de Gauss . . . . . . 2.5 Quelques exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 5 6 6 6 6 7 8 8 9 9 9 10 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 13 13 13 14 14 16 17 18 3 Résolution numérique d’équations différentielles 3.1 Motivation : le problème du pendule . . . . . . . . 3.2 Schémas à un pas explicites . . . . . . . . . . . . . 3.3 Consistance, stabilité et convergence . . . . . . . . 3.4 Schémas implicites . . . . . . . . . . . . . . . . . . 3.5 Stabilité absolue . . . . . . . . . . . . . . . . . . . 3.6 Méthodes multi-pas . . . . . . . . . . . . . . . . . 3.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 21 23 25 26 26 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 TABLE DES MATIÈRES 4 Résolution d’équations non linéaires 4.1 Quelques méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Méthode du point fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 31 32 33 5 Résolution de systèmes linéaires 5.1 Position du problème . . . . . . . . . . . . . . . . . . . . . 5.2 Cas des matrices triangulaires . . . . . . . . . . . . . . . . 5.3 Méthode de Gauss . . . . . . . . . . . . . . . . . . . . . . 5.4 Stratégie de pivot . . . . . . . . . . . . . . . . . . . . . . . 5.5 Coût de la méthode . . . . . . . . . . . . . . . . . . . . . 5.6 Existence de la factorisation LU . . . . . . . . . . . . . . 5.7 Cas particulier des matrices symétriques définies positives 5.8 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 37 37 38 43 43 44 44 46 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 1 Interpolation polynômiale On se fixe un entier n ∈ N∗ , 2 réels a < b et une suite de réels a = x0 < x1 < · · · < xn = b. On suppose que l’on connait une fonction f en les points xi . La question de l’interpolation est alors de trouver une valeur en un point x ∈ [a, b] pour la fonction f . 1.1 1.1.1 Quelques exemples Un jeu de données On relève les valeurs suivantes de la viscosité cinématique ν en fonction de la température. Les résultats sont donnés dans la Table 1.1. On souhaite maintenant avoir une estimation de la viscosité pour T = 23. • Interpolation linéaire : 1.005 + (3/5)(0.896 − 1.005) = 0.9396 ≃ 0.94 • Interpolation cubique : 0.937 en effectuant avec Maple interp([15,20,25,30],[1.141,1.005,0.896,0.804],x) :subs(x=23,%) ; • Résultat de mesure : 0.941 1.1.2 Un calcul d’intégrale R1 On souhaite calculer 0 exp(−x2 )dx. • Interpolation linéaire : (1 + e−1 )/2 ≃ 0.6839397206 • Interpolation quadratique avec les points 0, 1/2, 1 : 0.7471804290 L :=[0,1/2,1] :P :=interp(L,map(t->exp(-t^2),L),x) :int(P,x=0..1) ;evalf(%) ; √ √ 3/5 1+ 25 0.896 30 0.804 1− 3/5 , 1/2, : 0.7468145841 • Interpolation quadratique avec les points 2 2 L :=[(1-sqrt(3/5))/2,1/2,(1+sqrt(3/5))/2] :P :=interp(L,map(t->exp(-t^2),L),x) : int(P,x=0..1) ;evalf(%) ; • Valeur ”exacte” : 0.7468241330 avec int(exp(-t^2),t=0..1) ;evalf(%) ;. T ν 10 1.308 15 1.141 20 1.005 35 0.727 40 0.661 Tab. 1.1 – Evolution de la viscosité en fonction de la température 5 6 CHAPITRE 1. INTERPOLATION POLYNÔMIALE 1.2 Polynômes de Lagrange Soit n ∈ N∗ , des réels distincts x0 < x1 · · · < xn et f0 , . . . , fn . On cherche un polynôme Pn de degré inférieur ou égal à n tel que P (xi ) = fi , i = 0, . . . , n. 1.2.1 Une première construction •Le cas n = 0 : on prend tout simplement P0 (x) = A0 , avec A0 = f0 . •Le cas n = 1 : on choisit P1 (x) = P0 (x) + A1 (x − x0 ). A1 doit être choisi pour que f1 = f0 + A1 (x1 − x0 ). Ainsi, on a f1 − f0 . A1 = x1 − x0 • Le cas n = 2 : on prend cette fois-ci P2 (x) = P1 (x) + A2 (x − x0 )(x − x1 ). A2 doit être choisi pour que f2 = P1 (x2 ) + A2 (x2 − x0 )(x2 − x1 ). Ainsi, on a A2 = f2 − P1 (x2 ) . (x2 − x0 )(x2 − x1 ) •Le cas n = k : on prend Pk (x) = Pk−1 (x) + Ak Qk−1 i=0 (x − xi ), avec fk − Pk−1 (xk ) . Ak = Qk−1 i=0 (xk − xi ) Ainsi, nous avons défini Pn pour tout n. Exercice 1. Construire un polynôme P de degré ≤ 3 tel que P (0) = 1, P (1) = 2, P (2) = 4 et P (3) = 5. 1.2.2 Unicité Supposons qu’il existe 2 polynômes Pn et Qn de degré ≤ n satisfaisant Pn (xi ) = fi , Qn (xi ) = fi , i = 0, . . . , n. Alors, on a Rn := Pn − Qn de degré ≤ n s’annulant en au moins n + 1 points distincts. Cela veut dire que Rn est le polynôme nul et donc Pn = Qn . Exercice 2. Soit P (x) = x2 +1. Existe-t-il un polynôme Q de degré 3 tel que Q(0) = 1, Q(1) = 2, Q(2) = 5 et Q(3) = 10 ? 1.2.3 Différences divisées On définit les différences divisées par les nombres Ak précédemment introduits : f [x0 , x1 , . . . , xk ] := Ak . On a ainsi f [x0 ] = f0 , f [x0 , x1 ] = f [x1 ] − f [x0 ] . x1 − x0 7 1.2. POLYNÔMES DE LAGRANGE Une propriété remarquable est que l’on a f [x0 , x1 , . . . , xk ] = f [x1 , . . . , xk ] − f [x0 , . . . , xk−1 ] , xk − x0 (1.1) ce qui permet de calculer ”rapidement” ces nombres. Ainsi, le programme Maple suivant calcule les différences divisées puis le polynôme d’interpolation. N:=5:g:=f:W:=1:P:=g[1]:for k to N do g:=[seq((g[i+1]-g[i])/(x[k+i]-x[i]),i=1..N+1-k)];W:=W*(t-x[k]);P:=P+g[1]*W;end: simplify([seq(subs(t=x[i],P),i=1..N+1)]);degree(P,t); Dans la pratique, on peut écrire les quantités suivantes en gras, puis calculer les autres quantités ensuite : x f f [1] ... f [k] ... f [n] = x0 , x1 , x2 , . . . , xk , . . . , xn = f [x0 ], f [x1 ], f [x2 ], . . . , f [xk ], . . . , f [xn ] = f [x0 , x1 ], f [x1 , x2 ], . . . , f [xk−1 , xk ], . . . , f [xn−1 , xn ] = f [x0 , x1 , . . . , xk ], f [x1 , . . . , xk+1 ] . . . = f [x0 , x1 , . . . , xn ]. La formule d’interpolation est alors donnée par f [x0 ] + f [x0 , x1 ](x − x0 ) + · · · + f [x0 , x1 , . . . , xk ] k−1 Y i=0 (x − xi ) + f [x0 , x1 , . . . , xn ] n−1 Y i=0 (x − xi ). • Preuve de la relation (5.1). Qk−1 On a Pk (x) = P̃k−2 (x)+ (f [x1 , x2 , . . . , xk−1 , x0 ]+ f [x0 , x1 , . . . , xk−1 , xk ](x− x0 )) i=1 (x− xi ), Qk−1 Pk (x) = P̃k−2 (x) + (f [x1 , . . . , xk−1 , xk ] + f [x0 , x1 , . . . , xk−1 , xk ](x − xk )) i=1 (x − xi ) et donc on obtient le résultat, comme f [x1 , x2 , . . . , xk−1 , x0 ] = f [x0 , x1 , x2 , . . . , xk−1 ]. Exercice 3. Compter le nombre d’opérations pour calculer les Ak , suivant que l’on utilise la définition ou la formule (5.1). Exercice 4. Trouver un polynôme P de degré ≤ 4 tel que P (0) = 2, P (1) = 3, P (−1) = 1, P (3) = 4 et P (4) = 3. 1.2.4 Estimation d’erreur Soit f une fonction (n + 1) fois continûment dérivable. Si fi = f (xi ), i = 0, . . . , n, alors il existe ξ ∈ R tel que f (x) − Pn (x) = (x − x0 )(x − x1 ) . . . (x − xn ) n+1 f (ξ). (n + 1)! • Preuve de la relation (5.2). On peut supposer que x 6= xi , i = 0, . . . , n. On choisit alors Ax tel que f (x) = Pn (x) + Ax (x − x0 )(x − x1 ) . . . (x − xn ) (n + 1)! (1.2) 8 CHAPITRE 1. INTERPOLATION POLYNÔMIALE 1 )...(t−xn ) La fonction Q(t) = f (t) − Pn (t) − Ax (t−x0 )(t−x s’annule en n + 2 points distincts. (n+1)! En appliquant le théorème de Rolle (n + 1) fois, on en déduit qu’il existe ξ ∈ R tel que Qn+1 (ξ) = 0 et ceci donne le résultat. Théorème 1 (Théorème de Rolle). Soit f une application continue de [a, b] dans R et dérivable sur ]a, b[, avec f (a) = f (b). Alors il existe au moins un réel c ∈]a, b[ tel que f ′ (c) = 0. 1.3 Interpolation d’Hermite Soit n ∈ N∗ , des réels distincts x0 < x1 · · · < xn et f0 , . . . , fn et f0′ , . . . , fn′ . On cherche un polynôme Q2n+1 de degré inférieur ou égal à 2n + 1 tel que Q2n+1 (xi ) = fi , i = 0, . . . , n et Q′2n+1 (xi ) = fi′ , i = 0, . . . , n. 1.3.1 Première construction On procède de même que dans le cas de l’interpolation de Lagrange. On va définir Qn pour n pair et impair. Dans le cas pair, Q2n devra vérifier Q2n de degré inférieur ou égal à 2n tel que Q2n (xi ) = fi , i = 0, . . . , n et Q′2n (xi ) = fi′ , i = 0, . . . , n − 1. •Le cas n = 0 : on prend tout simplement Q0 (x) = B0 , avec B0 = f0 . •Le cas n = 1 : on choisit Q1 (x) = Q0 (x) + B1 (x − x0 ). B1 doit être choisi pour que B1 = f0′ • Le cas n = 2 : on prend cette fois-ci Q2 (x) = Q1 (x) + B2 (x − x0 )2 . B2 doit être choisi pour que f1 = Q1 (x1 ) + B2 (x1 − x0 )2 . Ainsi, on a B2 = f1 − Q1 (x1 ) . (x1 − x0 )2 • Le cas n = 3 : on prend Q3 (x) = Q2 (x) + B3 (x − x0 )2 (x − x1 ). B3 doit être choisi pour que f1′ = Q′2 (x1 ) + B3 (x1 − x0 )2 . Ainsi, on a f1′ − Q′2 (x1 ) . (x1 − x0 )2 Qk−1 •Le cas n = 2k : on prend Q2k (x) = Q2k−1 (x) + B2k i=0 (x − xi )2 , avec B3 = fk − Q2k−1 (xk ) . B2k = Qk−1 2 i=0 (xk − xi ) •Le cas n = 2k + 1 : on prend Q2k+1 (x) = Q2k (x) + B2k+1 (x − xk ) fk′ − Q′2k (xk ) . B2k+1 = Qk−1 2 i=0 (xk − xi ) Qk−1 i=0 (x − xi )2 , avec Exercice 5. Construire un polynôme P de degré ≤ 3 tel que P (0) = 1, P ′ (0) = 2, P (1) = 0, P ′ (1) = 1. 9 1.3. INTERPOLATION D’HERMITE 1.3.2 Unicité On se ramène à trouver un polynôme R de degré ≤ 2n + 1 tel que R(xi ) = 0, i = 0, . . . , n et R′ (xi ) = 0, i = 0, . . . , n. Ainsi R possède au moins n + 1 racines doubles et donc comme il est de degré ≤ 2n + 1, il s’agit du polynôme nul. 1.3.3 Différences divisées On peut aussi introduire les différences divisées pour les polynômes d’Hermite. On note f [x0 , x0 , x1 , x1 , . . . , xk , xk ] := B2k+1 , f [x0 , x0 , x1 , x1 , . . . , xk−1 , xk−1 , xk ] := B2k . La notation reste compatible avec la précédente définition et on a f [x0 ] = f0 , f [x0 , x0 ] = f0′ En s’inspirant de la propriété (5.2), on aimerait donc avoir f [x0 , x0 , x1 ] = f [x0 , x1 , x1 ] − f [x0 , x0 , x1 ] f [x0 , x1 ] − f [x0 , x0 ] , f [x0 , x0 , x1 , x1 ] = , x1 − x0 x1 − x0 puis f [x0 , x0 , x1 , x1 , x2 ] = f [x0 , x0 , x1 , x1 ] − f [x0 , x1 , x1 , x2 ] , x2 − x0 et ainsi de suite. Néanmoins, les quantités f [x0 , x0 , x1 , x1 , x2 ] et f [x0 , x1 , x1 ] n’ont pas été définies. On va donc se placer dans un cadre plus général. 1.3.4 Polynômes d’Hermite généralisés On considère une suite de p + 1 entiers d0 , . . . , dp . On note s0 = d0 , si = si−1 + di , i = 1, . . . , p et n = sp . On définit alors une suite de n + 1 réels x0 = y0 = y1 = . . . ys0 < x1 = ys0 +1 = . . . ys1 < · · · < xp−1 = ysp−1 < xp = ysp−1 +1 = · · · = ysp . On se donne enfin des nombres (0) (1) (d0 −1) f0 , f0 , . . . , f0 (d1 −1) , f1 , . . . , f1 (dp −1) , . . . , fp(0) , . . . , fp , et on considère le problème d’interpolation : trouver un polynôme Pn de degré ≤ n satisfaisant (k) Pn(k) (xi ) = fi , i = 0, . . . , p, k = 0, . . . di . On cherche alors Pn sous la forme Pn = Pn−1 + f [y0 , . . . , yn ] n−1 Y i=0 et les différences divisées peuvent être calculées ainsi : ( f [y0 , . . . , yk ] = (x − yi ), f [y1 ,...,yk ]−f [y0 ,...,yk−1 ] , si yk 6= yk −y0 (k) f0 si yk = yk−1 = · · · = y0 . y0 (1.3) 10 CHAPITRE 1. INTERPOLATION POLYNÔMIALE • Preuve de la construction de Pn . P0 = f00 . Supposons Pk−1 construit. (0) Si yk = xℓ 6= yk−1 , on obtient f [y0 , y1 , . . . , yk ] = fℓ −Pk−1 (yk ) Qk−1 . j=0 (yk −yj ) (1) Si yk = xℓ = yk−1 6= yk−2 , on obtient f [y0 , y1 , . . . , yk ] = (1) fℓ −Pk−1 (yk ) Qk−2 . j=0 (yk −yj ) De manière générale, yk = xℓ = yk−1 = yk−s 6= yk−s−1 , on obtient (s) (s) f − P (yk ) , f [y0 , y1 , . . . , yk ] = Qℓk−s−1 k−1 j=0 (yk − yj ) ce qui donne la construction de Pk . • Preuve de la relation (1.3). On s’assure d’abord de l’unicité de Pn , comme précédemment, et on vérifie aussi que la construction précédente s’adapte lorsque les yi ne sont pas forcément ordonnés. Si y0 = yk , on a le résultat dans la construction de Pn . Sinon, on écrit à nouveau Qk−1 Pk (x) = P̃k−2 (x) + (f [y1 , y2 , . . . , yk−1 , y0 ] + f [y0 , y1 , . . . , yk−1 , yk ](x − y0 )) i=1 (x − yi ), Qk−1 Pk (x) = P̃k−2 (x) + (f [y1 , . . . , yk−1 , yk ] + f [y0 , y1 , . . . , yk−1 , yk ](x − yk )) i=1 (x − yi ). 1.3.5 Estimation d’erreur (k) Soit f une fonction (n+1) fois continûment dérivable. Si fi 0, . . . di , alors il existe ξ ∈ R tel que f (x) − Pn (x) = = f (k) (xi ), i = 0, . . . , p, k = (x − y0 )(x − y1 ) . . . (x − yn ) n+1 f (ξ). (n + 1)! (1.4) • Preuve de la relation (1.4). On peut supposer que x 6= yi , i = 0, . . . , n. On choisit alors Ax tel que f (x) = Pn (x) + Ax (x − y0 )(x − y1 ) . . . (x − yn ) (n + 1)! 1 )...(t−yn ) s’annule en n + 2 points, multiplicité La fonction Q(t) = f (t) − Pn (t) − Ax (t−y0 )(t−y (n+1)! comprise. En appliquant le théorème de Rolle (n + 1) fois, on en déduit qu’il existe ξ ∈ R tel que Qn+1 (ξ) = 0 et ceci donne le résultat. 1.4 Quelques exercices √ Exercice 6. Soit la fonction définie par f (x) = 1 + x. 1. Déterminer le polynôme d’interpolation de Lagrange P vérifiant : 1 1 =f , P (1) = f (1). P (0) = f (0) , P 2 2 Calculer P (0.1) et P (0.9). Comparer aux valeurs exactes. Evaluer f (x) − P (x) pour ces deux valeurs en vous servant d’un théorème du cours. 2. Déterminer Q polynôme d’interpolation d’Hermite vérifiant : 1 1 Q(0) = f (0) , Q =f , Q(1) = f (1). 2 2 11 1.4. QUELQUES EXERCICES Q′ (0) = f ′ (0) , Q′ 1 1 = f′ , Q′ (1) = f ′ (1). 2 2 Calculer Q(0.1) et Q(0.9). 3. Combien de points aurait-il fallu prendre, en théorie, pour avoir une erreur inférieure à 5.10−5 ? On admettra que : n Y (x − xi ) ≤ hn+1 (n + 1)! où xi = x0 + ih et x0 ≤ x ≤ xn . i=0 Exercice 7. On appelle fonction polynomiale de Tchebycheff de degré n, l’application Tn : [−1, +1] → R x 7−→ cos(narccos(x)). 1. Montrez en posant cos(θ) = x que pour tout entier n positif, Tn est un polynôme de degré n en x. 2. Montrez que pour tout n ≥ 2, on a Tn+1 (x) = 2xTn (x) − Tn−1 (x). 3. Calculez les 5 premiers polynômes de Tchebycheff. 4. Déterminez en fonction de n le coefficient du terme en xn de Tn . 5. On pose Xk = cos( 2k−1 2n π) pour k = 1, . . . , n. Montrez que Tn possède n zéros simples. Ces zéros sont appelés les points de Tchebycheff d’ordre n. 6. On admettra le résultat suivant : pour x0 , . . . , xn ∈ [−1, 1], on a max x∈[−1,+1] |(x − x0 ) . . . (x − xn )| ≥ max x∈[−1,+1] |(x − X0 ) . . . (x − Xn )| . Expliquez pourquoi les points de Tchebycheff sont de bons points d’interpolation. 7. Quels points d’interpolation faut-il choisir si l’intervalle d’interpolation est le segment [a, b] ? Exercice 8. 1. Trouver un polynôme P de degré inférieur ou égal à 3 qui vérifie : P (−1) = 14, P (0) = 7, P (1/2) = 11 et P (1) = 20. Que vaut P ′ (0) et P ′ (1) ? 2. Trouver un polynôme Q de degré inférieur ou égal à 3 qui vérifie : Q(0) = 7, Q′ (0) = 3, Q(1) = 20 et Q′ (1) = 23. 3. Soit ε > 0. Trouver un polynôme Rε de degré inférieur ou égal à 1 qui vérifie : Rε (0) = 1, Rε (ε) = exp(ǫ). 4. Trouver un polynôme S de degré inférieur ou égal à 1 qui vérifie : S(0) = 1, S ′ (0) = 1. Quelle est la limite de Rε − S lorsque ε tend vers 0 ? 5. Evaluer l’erreur S(−1/4) − exp(−1/4) (on prendra pour exp(−1/4) la valeur 0.7788). Montrer que pour ε > 0, on a |S(−1/4) − exp(−1/4)| < |Rε (−1/4) − exp(−1/4)|. 6. Soit Pn (f ) le polynôme d’interpolation d’Hermite à n points x0 < · · · < xn−1 d’une fonction f . On rappelle que pour une fonction f suffisamment régulière, on a l’estimation suivante n−1 |f (2n) (y)| Y (x − xi )2 , (2n)! y∈[a,b] |f (x) − Pn (f )(x)| ≤ max a = min(x, x0 ), b = max(x, xn−1 ). i=0 Montrer que S = P1 (f ), avec f (x) = exp(x). Quelle est la valeur de x0 ? En déduire une majoration (théorique) de |S(−1/4) − exp(−1/4)|. 12 CHAPITRE 1. INTERPOLATION POLYNÔMIALE Exercice 9. 1. Trouver un polynôme P de degré inférieur ou égal à 4 tel que P (0) = 0, P (1/4) = 1/2, P (1/2) = 1, P (3/4) = 1/2 et P (1) = 0. 2. Trouver un polynôme Qε de degré inférieur ou égal à 3 tel que Qε (0) = 0, Qε (ε) = 2ε, Qε (1) = 0 et Qε (1 + ε) = 0. 3. Quelle est la limite de Qε lorsque ε tend vers 0 ? Définir un polynôme d’Hermite qui est cette limite. Exercice 10. Soit N un entier strictement positif. On considère des réels xi pour i = 0, . . . N , avec 0 = x0 < x1 < · · · < xN = 1. Soit f une fonction périodique de période 1. On cherche à approcher f pour une fonction s que l’on définit de la manière suivante : • s est un polynôme de degré ≤ 3, sur chaque intervalle ]xi , xi+1 [, i = 0, . . . , N − 1. • limx→xi ,x<xi s(x) = limx→xi ,x>xi s(x) = f (xi ), i = 1, . . . , N − 1. • limx→xi ,x<xi s′ (x) = limx→xi ,x>xi s′ (x), i = 1, . . . , N − 1. • limx→xi ,x<xi s′′ (x) = limx→xi ,x>xi s′′ (x), i = 1, . . . , N − 1. • limx→xN ,x<xN s(x) = limx→x0,x>x0 s(x) = f (x0 ). • limx→xN ,x<xN s′ (x) = limx→x0 ,x>x0 s′ (x). limx→xN ,x<xN s′′ (x) = limx→x0 ,x>x0 s′′ (x). On note fi = f (xi ), i = 0, . . . , N − 1. Le but de cet exercice est de trouver s en fonction de f0 , . . . , fN −1 . 1.a Montrer que sur chaque intervalle ]xi , xi+1 [, on a s(x) = Li (x) + (x − xi )(x − xi+1 )(Ci (x − xi ) + Di (x − xi+1 )), où Li est un polynôme de degré inférieur ou égal à 1. 1.b Montrer que Li (xi ) = fi et Li (xi+1 ) = fi+1 , pour i = 0, . . . , N −2 et LN −1 (xN −1 ) = fN −1 et LN −1 (xN ) = f0 . 1.c Déterminer alors Li pour i = 0, . . . , N − 1. 2.a Calculer limx→xi ,x>xi s′ (x) et limx→xi ,x<xi s′ (x) et en déduire que fi − fi−1 fi+1 − fi + Di (xi − xi+1 )2 = + Ci−1 (xi − xi−1 )2 , xi+1 − xi xi − xi−1 pour i = 1, . . . , N − 2 et des relations analogues que l’on précisera pour i = 0 et i = N − 1. 2.b Montrer que l’on a (Ci + 2Di )(xi − xi+1 ) = (2Ci−1 + Di−1 )(xi − xi−1 ), i = 1, . . . , N − 2, et une relation analogue pour i = 0 et i = N − 1. 2.c Trouver alors une relation entre Di , Di−1 et Di+1 pour i = 1, . . . , N − 2, et aussi une relation pour i = 0 et i = N − 1. 2.d Déterminer une matrice A et un second membre F tels que AD = F , avec D = (D0 , . . . , DN −1 )T . Chapitre 2 Intégration numérique Soient a < b, 2 réels et f : [a, b] → R, une fonction. On cherche à trouver une approximaRb tion numérique de a f (x)dx. 2.1 Généralités 2.1.1 Principe Rb Le calcul de a f (x)dx ne peut parfois pas se faire de manière exacte. En effet, d’une part f n’admet pas forcément de primitive connue ; d’autre part, il est possible que f ne soit connue qu’en certains points, comme cela peut arriver dans le cas de mesures physiques ou de schémas numériques. L’idée est alors de remplacer f par un polynôme qui l’approche ”bien” et de calculer l’intégrale de ce polynôme. 2.1.2 Formule de quadrature En calculant l’intégrale avec un polynôme d’interpolation, et en simplifiant les calculs, on se rend compte que l’on a écrit Z b a f (x)dx ≃ n X ωi f (xi ). i=0 La formule de droite est appelée formule de quadrature, qui est donnée par les poids ωi et les points xi pour i = 0, . . . , n. 2.1.3 Intervalle Connaissant une formule de quadrature sur l’intervalle [−1, 1], on en déduit une formule sur un intervalle [a, b] quelconque : si on fait le changement de variable y = a + (x + 1) b−a 2 Z b a b−a f (y)dy = 2 Z n 1 f (a + (x + 1) −1 b−a X b−a b−a )dx ≃ ωi f (a + (xi + 1) ). 2 2 2 i=0 Pour la suite, on ne cherchera donc que des formules de quadrature sur l’intervalle [−1, 1]. 13 14 CHAPITRE 2. INTÉGRATION NUMÉRIQUE Exercice 11. A partir de la formule Z 1 f (0) + 2f (1/2) + f (1) f (x)dx ≃ , 4 0 trouver la formule correspondante sur un intervalle [a, b]. 2.1.4 Formules composites Lorsque l’on souhaite calculer une intégrale sur un intervalle donné [a, b], on n’utilise en général pas la formule directement sur l’intervalle [a, b], mais on le découpe en N sous intervalles (a priori de même taille, mais ce n’est pas forcé) et on applique la formule sur chacun des sous intervalles : Z b N −1 Z a+(i+1)(b−a)/N X f (x)dx. f (x)dx = a i=0 Exercice 12. On considère la formule correspondante. 2.2 a+i(b−a)/N R1 −1 f (x)dx ≃ 2f (−1). Trouver la formule composite Formules de Newton-Cotes La formule de Newton-Cotes à n + 1 points correspond à calculer l’intégrale avec le polynôme d’interpolation de Lagrange avec les points équidistants −1 + 2i/n, i = 0, . . . , n. •Le cas n = 0. On a Z Z 1 1 −1 f (x)dx ≃ f (−1)dx = 2f (−1), −1 il s’agit de la formule gauche des rectangles, la formule droite des rectangles étant Z 1 f (x)dx ≃ 2f (1). −1 •Le cas n = 1. On a Z 1 Z 1 f (1) − f (−1) f (−1) + (x + 1) f (x)dx ≃ dx = 2f (−1) + f (1) − f (−1) = f (−1) + f (1), 2 −1 −1 il s’agit de la formule des trapèzes. •Le cas n = 2. On calcule d’abord x f f [1] f [2] = −1, 1, 0 = f (−1), f (1), f (0) (−1) , f (1) − f (0) = f (1)−f 2 (−1) = f (1) − f (0) − f (1)−f = 2 f (−1)−2f (0)+f (1) . 2 On a alors Z Z 1 f (−1) − 2f (0) + f (1) 1 2 (x − 1)dx f (x)dx ≃ f (−1) + f (1) + 2 −1 −1 f (−1) − 2f (0) + f (1) f (−1) + 4f (0) + f (1) = f (−1) + f (1) − 2 = , 3 3 15 2.2. FORMULES DE NEWTON-COTES et il s’agit de la formule de Simpson. •Le cas n = 3. On obtient Z 1 (−1)+f (1)) f (−1) + 4( 9(f (−1/3)+f (1/3))−(f ) + f (1) 16 f (x)dx ≃ 3 −1 f (−1) + 3f (−1/3) + 3f (1/3) + f (1) = . 4 En effet, on a P3 (x) = Q2 (x) + f [−1, −1/3, 1/3, 1]x(x2 − 1), avec Q2 (x) = f [−1] + P3 [−1, 0](x + 1) + P3 [−1, 0, 1](x + 1)x, de sorte que Z 1 −1 f (x)dx ≃ Z 1 P3 (x)dx = Z 1 Q2 (x)dx = −1 −1 f (−1) + 4P3 (0) + f (1) . 3 D’autre part, on a P3 (0) = α(f (−1/3) + f (1/3)) + β(f (−1) + f (1)), et en remplaçant f par 1, puis par x2 − 1/9, on obtient α + β = 1/2, α = 9/16, ce qui donne β = −1/16. Cette formule s’appelle formule de Simpson 3/8. Exercice 13. Que donne cette formule sur une intervalle de la forme [a, a + 3h] ? Justifier alors le nom de la formule. •Le cas n = 4. On obtient Z 1 Z 1 f (−1) + 4f (0) + f (1) f (x)dx ≃ x(x2 − 1)(x + 1/2)dx. + f [−1, 0, 1, −1/2, 1/2] 3 −1 −1 Or f [−1, 0, 1, −1/2, 1/2] = et 24 4! Donc Z 1 4 x(x − 1)(x + 1/2)dx = 3 −1 2 Z f (−1) − 4f (−1/2) + 6f (0) − 4f (1/2) + f (1) , 4!(1/2)4 Z 0 1 (x4 − x2 )dx = 4 4 (1/5 − 1/3) = (3 − 5) = −8/45. 3 45 1 7f (−1) + 32f (−1/2) + 12f (0) + 32f (1/2) + 7f (1) , 45 −1 et il s’agit de la formule de Boole. •Autres valeurs de n. Avec le programme Maple, on trouve les cas suivants : f (x)dx ≃ for N to 9 do:L:=[seq(-1+2*i/N,i=0..N)]:int(interp(L,map(f,L),x),x=-1..1);print(%);od: f (1) + f (−1) 1/3 f (1) + 4/3 f (0) + 1/3 f (−1) 1/4 f (−1) + 3/4 f (1/3) + 3/4 f (−1/3) + 1/4 f (1) 7 f (1) + 32 f (1/2) + 4 f (0) + 7 f (−1) + 32 f (−1/2) 45 45 15 45 45 19 f (−1) + 25 f (1/5) + 25 f (−3/5) + 19 f (1) + 25 f (3/5) + 25 f (−1/5) 144 72 48 144 48 72 41 f (−1) + 41 f (1) + 68 f (0) + 9 f (−1/3) + 9 f (1/3) + 18 f (−2/3) + 18 f (2/3) 420 420 105 140 140 35 35 751 f (−1) + 751 f (1) + 3577 f (−5/7) + 49 f (−3/7) + 2989 f (−1/7) + 2989 f (1/7) + 49 f (3/7) + 3577 f (5/7) 8640 8640 8640 320 8640 8640 320 8640 989 f (−1) + 989 f (1) − 908 f (0) − 928 f (−1/2) − 928 f (1/2) + 5888 f (−3/4) + 10496 f (−1/4) + 10496 f (1/4) + 5888 f (3/4) 14175 14175 2835 14175 14175 14175 14175 14175 “14175 ” 2857 f (−1) + 2857 f (1) + 1209 f (−1/3) + 1209 f (1/3) + 2889 f (1/9) + 27 f (5/9) + 27 f (−5/9) + 2889 f (−1/9) + 15741 f 44800 44800 2800 2800 22400 1120 1120 22400 44800 On se rend compte que pour n = 8 et n ≥ 10, il y a des poids négatifs, et la valeur absolue de ses poids devient de plus en plus grande, ce qui rend les formules inutilisables à cause des erreurs d’arrondi. −7 9 f + 15741 44800 “ ” 7 9 16 CHAPITRE 2. INTÉGRATION NUMÉRIQUE Exercice 14. Les formules de Newton Cotes précédentes sont aussi appelées formule de Newton Cotes fermées, car les extrémités des intervalles sont utilisées. Trouver 2 formules de Newton Cotes ouvertes, i.e. prenant tous les points équidistants sauf les extremités et dont les poids sont positifs. 2.3 Degré de précision Supposons que l’on ait Z 1 −1 f (x)dx ≃ Z 1 Pp (x)dx, −1 où Pp est les polynôme d’interpolation de f en p + 1 points distincts xi de l’intervalle [−1, 1]. On peut alors estimer l’erreur : (p+1) p (y) Y f (x) − Pp (x) ≤ max f x − xi , y∈[−1,1] (p + 1)! i=0 et donc (p+1) Z p f (y) 1 Y x − xi dx. Pp (x)dx ≤ max f (x)dx − y∈[−1,1] (p + 1)! −1 −1 −1 Z 1 Z 1 i=0 On décompose l’intervalle [-1,1] en N sous intervalles de même longueur. Cette formule donne alors sur un intervalle [−1+kh, −1+(k+1)h] où h = 2/N , et un polynôme Pp,k d’interpolation de f en p + 1 points −1 + (k + si,k )h, si,k ∈ [−1, 1], i = 0, . . . , n Z −1+(k+1)h −1+kh Z 1 (f − Pp,k )(−1 + (k + s)h)ds f (x) − Pp,k (x)dx = h −1 (p+1) Z p f (y) 1 Y p+2 s − si,k ds ≤ Cp max f (p+1) (y)hp+2 . ≤h max y∈[−1,1] (p + 1)! y∈[−1,1] −1 i=0 de sorte que l’on peut majorer l’erreur pour une formule composite donnée par N intervalles : Z 1 −1 f (x)dx − N −1 Z −1+2(k+1)/N X k=0 −1+2k/N Pp,k (x)dx ≤ Cn max f (p+1) (y)hp+1 . y∈[−1,1] Exercice 15. Donner la formule composite dans le cas de la formule des trapèzes, de Simpson et de Boole. Compter le coût de ces méthodes, défini par la somme du nombre d’évaluations de la fonction et du nombre d’opérations élémentaires. Vue l’estimation de l’erreur trouvée, on cherche à mettre une formule de quadrature sous R1 la forme −1 Pp (x)dx, avec p le plus grand possible. Prenons l’exemple de la formule du point milieu Z 1 Z 1 Z 1 f (0) + (f (1) − f (0))xdx. f (0)dx = f (x)dx ≃ 2f (0) = −1 −1 −1 On peut donc appliquer l’estimation précédente pour p = 1, alors qu’à priori, on n’aurait pensé qu’ à l’appliquer avec p = 0. 17 2.4. FORMULES DE GAUSS P On part donc maintenant d’une formule de quadrature à n + 1 points ni=0 ωi f (xi ), en supposant que les ωi sont tous non nuls, et on cherche un polynôme Pp interpolant f en p + 1 points tel que Z 1 n X Pp (x)dx. ωi f (xi ) = −1 i=0 Dans le cas où f est un polynôme de degré ≤ p, on a Pp = f , ce qui veut dire que la formule doit être exacte pour tous les polynômes de degré ≤ p. Si p < n, il est possible que Pp n’existe pas, mais on peut néanmoins borner l’erreur en considérant Z 1 n n X X |ωi ||(f − Pp )(xi )|. ωi f (xi ) − Pp (x)dx ≤ −1 i=0 i=0 Si maintenant p = n, on peut prendre pour Pp , le polynôme d’interpolation de f en les points xi et on a une formule de quadrature de Qntype interpolation. k Si p > n, on a alors pour P = Pn + x i=0 (x − xi ), k = 0, . . . , p − n Z 1 P (x)dx = −1 Z 1 Pn (x)dx, −1 et donc la formule de quadrature de type interpolation est exacte pour tous les polynômes de degré ≤ p, ssi on a Z 1 n Y (x − xi )dx = 0, k = 0, . . . , p − n. xk −1 i=0 Définition 1. On dit qu’une formule de quadrature est d’ordre p, si la formule est exacte pour tous les polynômes de degré ≤ p et n’est plus vraie pour un polynôme de degré p + 1. Exercice 16. Trouver l’ordre des formules de Newton Cotes. 2.4 Formules de Gauss Etant donnée une formule de quadrature à n + 1 points,R x0Q , . . . , xn , on cherche à avoir 1 une formule de d’ordre le plus grand possible. Comme on a −1 ni=0 (x − xi )2 dx 6= 0, on en déduit que la formule ne pourra pas être d’ordre ≥ 2n + 1. D’où la question, peut-on avoir une formule de quadrature d’ordre R 1 2n + 1 ? •Le cas n = 0. On doit avoir −1 (x − x0 )dx = 0 et donc on en déduit que x0 = 0. •Le cas n = 1. On doit avoir Z 1 Z 1 x(x − x0 )(x − x1 )dx = 0. (x − x0 )(x − x1 )dx = 0 et −1 −1 R1 De la deuxième équation, on obtient x1 = −x0 et on a donc 0 x2 dx = x20 , ce qui donne √ √ x0 = −1/ 3 et x1 = 1/ 3. •Le cas n = 2. On doit avoir Z 1 xi (x − x0 )(x − x1 )(x − x2 )dx = 0 i = 0, 1, 2. −1 18 CHAPITRE 2. INTÉGRATION NUMÉRIQUE En posant X = x0 x1 x2 et Y = x0 + x1 + x2 , on tire du cas i = 0 et i = 2 : (1/3)Y + X = 0, (1/5)Y + (1/3)X = 0 et donc X = Y = 0, on prend alors xp 0 = −α, x1 = 0 et x2 = α, l’équation pour i = 2 donne 2 alors 1/5 − (1/3)α = 0 et donc α = 3/5. Q •Le cas n = k. On cherche un polynôme Pk = ki=0 (x − xi ) de degré k + 1 ayant toutes ses racines dans l’intervalle [−1, 1] et tel que Z 1 ti Pk (t)dt = 0, i = 0, . . . , k. −1 Pour cela, on prend Pk (t) = (t − ak )Pk−1 (t) − bk Pk−2 (t) et il suffit de trouver ak et bk tels que Z 1 Pk (t)Pk−1 (t)dt = 0 et Z 1 Pk (t)Pk−2 (t)dt = 0. −1 −1 On obtient alors ak = R1 2 −1 tPk−1 (t) dt R1 2 −1 Pk−1 (t) dt et bk = R1 −1 tPk−1 (t)Pk−2 (t)dt . R1 2 dt P (t) k−2 −1 Exercice 17. Vérifier que la construction de Pk est unique si l’on suppose que le terme de plus haut degré est tk+1 . Il reste alors à voir que toutes les racines sont distinctes et bien dans l’intervalle [−1, Q 1]. Pour cela on considère les racines de multiplicité impaire a0 , . . . , aj . On a alors Pk = Qk ji=0 (t−ai ) et QkR est deQsigne constant sur l’intervalle [−1, 1]. Supposons maintenant que j ≤ k, on a 1 alors −1 Qk ji=0 (t − ai )2 dt = 0, ce qui est impossible. Donc on a bien k + 1 racines distinctes de Pk dans l’intervalle [−1, 1]. Q i Notons aussi que les poids sont cette fois-ci positifs. En effet, en prenant ℓj (t) = ki=0,i6=j xt−x , j −xi R1 2 on a 0 < −1 ℓj (t) dt = ωj . 2.5 Quelques exercices Exercice 18. Soit I = Z +∞ −x2 e dx et In = Z 0 0 nlm: −x2 e dx. On a alors In = In−1 + Une table de valeurs donne I2 = 0.88208139076242. 1. Considérons la formule d’intégration suivante : Z 1 1 2 f (x) dx = αf (0) + βf + γf + δf (1). 3 3 0 Z n 2 e−x dx. n−1 Trouvez α, β, γ, δ, tels que cette formule soit exacte sur l’espace vectoriel des polynômes de degré le plus élevé possible. Par un changement de variables, donnez la formule sur l’intervalle quelconque [a, b] . Z 3 Z 4 2 −x2 2. Calculez dx et e e−x dx par la formule précédente. En déduire I3 et I4 . 2 3 19 2.5. QUELQUES EXERCICES 1 = In . On a alors lim In = f (0) = I. Interpolez f par le polynôme P sur n→+∞ n les données 1 1 1 1 1 1 ,f ,f ,f , , 2 2 3 3 4 4 3. On pose f et calculez P (0). Exercice 19. 1. Déterminez A0 , A1 , A2 tels que la relation : Z 2π f (x) √ dx = (2h)1/2 (A0 f (0) + A1 f (h) + A2 f (2h)) + R(f ) x 0 soit exacte (i.e. R(f ) = 0) sur l’espace vectoriel des polynômes de degré le plus élevé possible. On précisera ce degré. Z 1 ln(1 + x) √ 2. Calculez exactement dx, en intégrant d’abord par partie, puis par changement x 0 de variable. Calculez approximativement cette intégrale par la méthode qui précède. Comparer ln(1 + x) √ ce résultat à celui que l’on obtient par la méthode de Simpson (on calculera lim ). x→0 x 3. Expliquez pourquoi le résultat obtenu par la méthode de Simpson est mauvais (Thomas Simpson, anglais, 1710-1761). Z 1 ln(x) Exercice 20. On veut évaluer I = dx par une formule d’intégration numérique 2 0 x −1 X du type Ai f (xi ) où f (x) = xln(x) 2 −1 . 1. Montrez que xi = 1 est une valeur possible mais pas xi = 0. 2. Construire la formule de quadrature suivante, de type interpolation : Z 1 1 f (x) dx = af + bf (1) + R(f ). 2 0 Déterminez R(f ). Appliquez cette formule à I. 3. On rappelle la formule de Gauss-Legendre à deux points : Z 1 1 1 1 (4) f (x) dx = f √ f (ξ) + f −√ + 135 3 3 −1 Z 1 f (x) dx et l’appliquer à I. pour ξ ∈ [−1, 1] . En déduire l’approximation de 0 (Johann Carl Friedrich Gauss, allemand, 1777-1855 et Adrien-Marie Legendre, français, 1752-1833) π2 . 4. Comparez les résultats précédents à la valeur exacte 8 Z +1 2 e−x (1 + x2 ) dx. Exercice 21. On veut évaluer I = −1 1. Calculez une approximation de I par la méthode des trapèzes à 3 points. 2. Construire une méthode d’approximation du type : Z +1 f (x)(1 + x2 ) dx = A1 f (x1 ) + A2 f (x2 ) + R(f ) −1 20 CHAPITRE 2. INTÉGRATION NUMÉRIQUE où x1 , x2 et A1 , A2 sont des nombres distincts non nuls. En supposant R(f ) = Kf (4) (ξ), ξ ∈ [−1, 1] . Déterminez K à l’aide de f (x) = x4 . Exercice 22. On considère la formule suivante : Z 1 f (x) dx = −1 3 X ak f (xk ) + k=1 3 X bk f ′ (xk ) + R(f ). k=1 où les xk sont donnés par : x1 = −1, x2 = 0, x3 = 1 et les ak et les bk sont à déterminer pour que la formule soit exacte sur l’espace vectoriel des polynômes de degré le plus grand possible. Quel est ce degré ? Z 1 1. Montrez que, si p est impair, xp dx = 0. Appliquer ce résultat à p = 1, 3, 5. En déduire −1 que : a1 = a3 , b2 = 0, b1 = −b3 . 2. Montrez alors que : Z 1 1 f (x) dx = [7f (−1) + 7f (1) + 16f (0) + f ′ (−1) − f ′ (1)] + R(f ). 15 −1 (2.1) 3. Vérifiez que la formule (2.1) n’est pas exacte pour f (x) = x6 . En admettant que le reste soit de la forme : R(f ) = Kf (6) (θ) avec θ ∈ [−1, 1], déterminez la constante K. 4. Par changement de variable dans (2.1), montrez que : Z b a h g(t) dt = [7g(a) + 7g(b) + 16g 15 a+b 2 + h(g′ (a) − g′ (b))] + E(g), (2.2) b−a . 2 5. Déterminez E(g) à partir Z π de R(f ). 6. Application Soit I = sin(x) dx. Trouvez la valeur approchée de I par la formule (2.2) avec h = 0 et comparez-la à la valeur exacte. Evaluez l’erreur théorique E(g). 7. Montrez que l’on a la formule composite suivante : Z a b g(t) dt ≈ où h = h {7g(a) + 7g(b) 15 + 16[g(a + h) + g(a + 3h) + · · · + g(a + (2n − 1)h)] + 14[g(a + 2h) + g(a + 4h) + · · · + g(a + (2n − 2)h)] + h[g′ (a) − g′ (b)]} , b−a . Evaluez l’erreur. 2n Chapitre 3 Résolution numérique d’équations différentielles 3.1 Motivation : le problème du pendule Le mouvement d’un pendule de masse m, suspendu à un point O par un fil non pesant de longueur ℓ, en rotation d’angle θ(t) autour de O est gouverné par l’équation θ”(t) = −g sin(θ(t))/ℓ. L’angle θ(t) est mesuré par rapport à une verticale passant par O. On s’intéresse au mouvement entre l’instant 0 et l’instant T > 0. On se donne des conditions initiales : θ ′ (0) = 0. θ(0) = π/3, De manière générale une équation différentielle s’écrit u′ (t) = f (t, u(t)), u(0) = u0 . (3.1) Exercice 23. Mettre l’équation du pendule sous la forme (3.1) 3.2 Schémas à un pas explicites On fait tout d’abord une discrétisation de l’intervalle [0, T ] : tn = n∆t, n = 0, . . . , N, ∆t = T /N. On veut approcher la solution u(tn ) par une valeur approchée un que l’on peut calculer par un algorithme. On souhaite en outre avoir une estimation de l’erreur commise de la forme en = |u(tn ) − un | ≤ C∆tα. Le schéma d’Euler explicite On écrit u(t n+1 n ) − u(t ) = Z tn+1 tn 21 f (s, u(s))ds. 22 CHAPITRE 3. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES On utilise alors la formule des rectangles pour approcher l’intégrale : Z tn+1 tn f (s, u(s))ds ≃ ∆tf (tn , u(tn )). On obtient donc le schéma u0 = u(0), un+1 = un + ∆tf (tn , un ), n = 0, . . . , N − 1. Schéma de Runge explicite Une autre manière de faire est d’utiliser la formule du point milieu. On a alors Z tn+1 tn f (s, u(s))ds ≃ ∆t(f (tn + ∆t/2, u(tn + ∆t/2)). On remarque alors que l’on a besoin d’une approximation de u(tn + ∆t/2) que l’on peut obtenir justement avec le schéma d’Euler explicite précédent : u(tn + ∆t/2) ≃ u(tn ) + ∆t/2f (tn , u(tn )). Le schéma s’écrit alors k1 = f (tn , un ), k2 = f (tn + ∆t/2, un + (∆t/2)k1 ), un+1 = un + ∆tk2 . On peut écrire un+1 = un + ∆tφ(tn , un , ∆t), φ(tn , un , ∆t) = f (tn + ∆t/2, un + (∆t/2)f (tn , un )). Schémas de Runge-Kutta à s étages Une méthode de Runge-Kutta à s étages est donnée par k1 = f (tn , un ), k2 = f (tn + c2 ∆t, un + ∆ta2,1 k1 ), . . . , ks = f (tn + cs ∆t, un + ∆t(as,1 k1 + . . . as,s−1 ks )), un+1 = un + ∆t(b1 k1 + . . . bs ks ). On représente habituellement la méthode par l’écriture matricielle 0| c2 |a2,1 cs |as,1 , . . . , as,s−1 |b1 , . . . , bs . Exercice 24. Représenter les schémas d’Euler et de Runge par leur écriture matricielle. Par la suite, on supposera toujours que ci = Cela signifie que l’on a Pi−1 j=1 ai,j pour i = 2, . . . , s. ki = f (tn + ci ∆t, u(tn + ci ∆t)) + O(∆t2 ). 3.3. CONSISTANCE, STABILITÉ ET CONVERGENCE 23 La méthode la plus célèbre est la méthode de Runge-Kutta d’ordre 4 (RK4) donnée par l’écriture matricielle 0| 1/2|1/2 1/2|0 1/2 1|0 0 1 |1/6 1/3 1/3 1/6 Ecriture générale De manière générale, on écrit un schéma à un pas sous la forme u0 = u(t0 ), un+1 = un + ∆tφ(tn , un , ∆t). (3.2) φ est une fonction de R+ × Rd × R+ à valeurs dans Rd et est sensée être une approximation de f (tn , u(tn )). L’algorithme sera alors satisfaisant lorsque l’erreur en = |un − u(tn )| converge vers 0 pour n = 0, . . . , N lorsque le pas de temps ∆t tend vers 0. Pour cela, nous allons introduire plusieurs notions : la consistance et la stabilité qui conduiront ensuite à la convergence de l’approximation vers la solution exacte. Exercice 25. Réécrire les schémas précédents sous la forme (3.2). 3.3 Consistance, stabilité et convergence On définit l’erreur en (∆t) = u(tn ) − un , n = 0, . . . , N, ∆t = T /N. Définition 2. On dit que le schéma est convergent sur l’intervalle [0, T ], si l’on a lim max ken (∆t)k = 0. N →∞ n=0,...,N Pour p ∈ N, on dit que que le schéma est convergent d’ordre p s’il existe une constante C ne dépendant que de f, T et u0 tel que max ken (∆t)k ≤ C∆tp . n=0,...,N Erreur de consistance On définit l’erreur de consistance du schéma au temps t par u(t + ∆t) − u(t) − φ(t, u(t), ∆t). ∆t Définition 3. On dit que le schéma est consistant, si l’on a R(t, u, ∆t) = lim kR(t, u, ∆t)k = 0, ∆t→0 pour tout t ≥ 0 et toute solution u. Pour p ∈ N, on dit que que le schéma est consistant d’ordre p s’il existe une constante C ne dépendant que de f, T et u0 tel que kR(t, u, ∆t)k ≤ C∆tp , pour tout t ≥ 0 et toute solution u. 24 CHAPITRE 3. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES On a alors Proposition 1. (Caractérisation de la consistance) Si la fonction φ ∈ C(R+ × Rd × R+ , Rd ) et si φ(t, u, 0) = f (t, u), t ∈ [0, T ], u ∈ Rd , alors le schéma est consistant. Démonstration. Soit u ∈ C 1 ([0, T ], Rd ) la solution exacte de (3.1). On a alors 1 R(t, u(t), ∆t) = ∆t Z t+∆t t (φ(s, u(s), 0) − φ(t, u(t), ∆t))ds, qui tend vers 0 lorsque ∆t tend vers 0. Exercice 26. Etudier la consistance des schémas d’Euler explicite, de Heun et de Runge. On a le théorème suivant Théorème 2. (Stabilité+consistance ⇔ Convergence) (consistance) Supposons que le schéma est consistant d’ordre p : il existe une constante C > 0 dépendant de f, T et u0 telle que R(t, u, ∆t) ≤ C∆tp, t ≥ 0. (stabilité) Supposons aussi que φ est continu et Lipschitzienne par rapport à la variable u ∈ Rd . kφ(t, u, ∆t) − φ(t, v, ∆t)k ≤ Γku − vk, pour tout t ≥ 0, ∆t ≥ 0. Alors la solution est convergente et on a l’estimation ken (∆t)k ≤ C (exp(Γtn ) − 1)∆tp + ke0 (∆t)k exp(Γtn ), n = 0, . . . , N. Γ Démonstration. On a en+1 (∆t) = en (∆t) + ∆t(φ(tn , u(tn ), ∆t) − φ(tn , un , ∆t) + R(tn , u(tn ), ∆t)), et donc ken+1 (∆t)k ≤ ken (∆t)k(1 + Γ∆t) + C∆tp+1 . On a alors en+1 + C∆tp C∆tp ≤ (1 + Γ∆t)(en + ) Γ Γ Exercice 27. Etudier la convergence des schémas d’Euler explicite, de Runge explicite et le schéma RK4. 25 3.4. SCHÉMAS IMPLICITES 3.4 Schémas implicites Le schéma d’Euler implicite On écrit à nouveau u(tn+1 ) − u(tn ) = Z tn+1 f (s, u(s))ds. tn On utilise cette fois-ci la formule des rectangles à droite pour approcher l’intégrale : Z tn+1 f (s, u(s))ds ≃ ∆tf (tn+1 , u(tn+1 )). tn On obtient donc le schéma u0 = u(0), un+1 = un + ∆tf (tn+1 , un+1 ), n = 0, . . . , N − 1. Théorème 3. Si f : R+ × Rd → Rd est une fonction continue et Lipschitzienne en x ∈ Rd , i. e., il existe L > 0 tel que pour tout (x, y) ∈ Rd kf (t, y) − f (t, x)k ≤ Lkx − yk, alors il existe une unique solution un+1 satisfaisant un+1 = un + ∆tf (tn+1 , un+1 ), dès lors que le pas de temps vérifie ∆t < 1/L. Lemme 1. (Admis) Soit g : Rd → Rd une fonction satisfaisant kg(x) − g(y)k ≤ Lkx − yk, x, y ∈ Rd , avec un nombre 0 < L < 1, alors g admet un unique point fixe, i. e., il existe un unique ℓ ∈ R tel que g(ℓ) = ℓ. Le schéma de Crank-Nicolson On utilise cette fois-ci la méthode des rectangles ∆t (f (tn , un ) + f (tn+1 , un+1 )). 2 Méthodes de Runge Kutta implicites On reprend la notation matricielle, mais cette fois-ci, on admet d’avoir plus de coefficients un+1 = un + c1 |a1,1 , . . . , a1,s c2 |a2,1 , . . . , a2,s cs |as,1 , . . . , as,s |b1 , . . . , bs . Méthodes de Runge Kutta semi-implicites Un compromis est de n’avoir que s équations non linéaires indépendantes à résoudre en considérant c1 |a1,1 c2 |a2,1 , a2,2 cs |as,1 , . . . , as,s |b1 , . . . , bs . 26 3.5 CHAPITRE 3. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES Stabilité absolue On peut se demander quel est l’intérêt d’utiliser des méthodes implicites, sachant que leur résolution est plus difficile. On considère ici le problème test y ′ (t) = λy(t), y(0) = 1, (3.3) dont la solution explicite est donnée par y(t) = exp(λt). Définition 4. Une méthode approchant le problème (3.3) est absolument stable si kun k → 0, lorsque tn → 0. (3.4) La région de stabilité est alors définie par A = {z = hλ : (3.4) est vérifié} Enfin une méthode est dite A-stable si pour tout λ tel que ℜ(λ) < 0 on a (3.4). Exercice 28. Etudier la stabilité absolue et la zone de stabilité des méthodes d’Euler implicite, de Crank Nicholson, d’Euler explicite et de Runge. 3.6 Méthodes multi-pas Définition 5. Une méthode à k-pas est une méthode qui s’écrit ous la forme αk uj+k + αk−1 uj+k−1 + . . . α0 uj = h(βk fj+k + · · · + β0 fj ), αk 6= 0, où l’on a posé fj = f (tj , uj ). Si βk = 0, la méthode est explcite et implcite sinon. Pour définir les méthodes à pas multiples, on utilise des formules d’intégration numérique, de différentiation ou d’interpolation (cf Exercices). Schéma saute-mouton (leap-frog) un+1 = un−1 + 2∆tf (tn , un ). Méthode de Simpson ∆t (f (tn−1 , un−1 ) + 4f (tn , un ) + f (tn+1 , un+1 )). 3 Schéma d’ordre 2 d’Adams-Balsforth ∆t un+1 = un−1 + (3f (tn , un ) − f (tn−1 , un−1 )). 3 Schémas prédicteurs-correcteurs Supposons u0 et u1 donnés. On peut alors prédire par une formule explicite une première approximation un0 , n = 1, . . . , N − 1 un+1 = un−1 + ∆t (3f (tn , un ) − f (tn−1 , un−1 )). 2 On fait ensuite une deuxième étape de correction un+1 = un + 0 ∆t )), (f (tn , un ) + f (tn−1 , un+1 k 2 avec k = 0, . . . , K, le nombre d’itérations K est choisi suffisament grand pour que la suite ne varie plus beaucoup par rapport à k. un+1 k n un+1 k+1 = u + 27 3.7. EXERCICES 3.7 Exercices Exercice 29. Soit la formule de quadrature suivante : Z 1 g(t) dt = a1 g(−2) + a2 g(−1) + a3 g(0) + R(g). −1 1. Déterminer les coefficients ai pour i variant de 1 à 3, de sorte que R(g) = 0, quel que soit g appartenant à l’espace vectoriel des polynômes de degré inférieur ou égal à n, où n est le plus grand possible. Que vaut n ? 2. En supposant que R(g) = Kgn+1 (ξ), déterminer K. 3. Déduire des questions précédentes, la formule et l’erreur de quadrature pour Z xn+3 f (x) dx, xn+1 en posant xn = a + nh. 4. Pour résoudre l’équation différentielle suivante ′ y (x) = f (x, y(x)) x ∈ [a, b] y(a) = y0 où f possède les propriétés nécessaires pour assurer l’existence et l’unicité de la solution y, on considère le schéma suivant : yn+3 − yn+1 = h (7fn+2 − 2fn+1 + fn ), 3 où h est le pas, xn = a + nh, yn est la valeur approchée de y(xn ) et fn = f (xn , yn ). (i) Comment a-t-on obtenu ce schéma ? (ii) A combien de pas est ce schéma ? Est-il implicite ou explicite ? Quelles valeurs de démarrage faut-il ? Comment les obtenir ? (iii) On démontre qu’un schéma multi-pas αk yn+k + αk−1 yn+k−1 + · · · + α0 yn = h[βk fn+k + · · · + β0 fn ] est stable si le polynôme α(λ) = α0 + α1 λ + · · · + αk λk vérifie les deux conditions suivantes : (a) Toutes les racines sont de module inférieur ou égal à 1. (b) Les éventuelles racines de module égal à 1 sont simples. Etudier la stabilité de ce schéma. (iv) On dit qu’un schéma multi-pas αk yn+k + αk−1 yn+k−1 + · · · + α0 yn = h[βk fn+k + · · · + β0 fn ] est d’ordre p s’il existe une constante C telle que : 1 (αk y(xn+k ) + · · · + α0 y(xn )) − ( βk f (xn+k , y(xn+k )) + · · · + β0 f (xn , y(xn )) ) ≤ C hp h Etudier l’ordre de ce schéma. 28 CHAPITRE 3. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES Exercice 30. Pour résoudre l’équation différentielle suivante ′ y (x) = f (x, y(x)) x ∈ [a; b] y(a) = y0 où f possède les propriétés nécessaires pour assurer l’existence et l’unicité de la solution y, on considère le schéma suivant : yn+3 − yn = 3h (fn+2 + fn+1 ) , 2 où h est le pas, xn = a + nh, yn est la valeur approchée de y(xn ) et fn = f (xn , yn ). A combien de pas est ce schéma ? Est-il implicite ou explicite ? Quelles valeurs de démarrage faut-il ? Comment les obtenir ? On cherche à résoudre numériquement l’équation différentielle suivante : ′ y (x) = f (x, y(x)) x ∈ [a; b] y(a) = ya On divise l’intervalle [a; b] en N + 1 points xi = a + i ∗ h, i = 0..N avec h = donne la formule d’intégration numérique suivante : Z 1 1 1 2 3 3 1 f (x) dx = f (0) + f + f + f (1) + R(f ). 8 8 3 8 3 8 0 b−a et on se N 1. Par un changement de variable adéquat, déduire la formule d’intégration sur [xn , xn+3 ]. 2. On propose pour résoudre l’équation différentielle, le schéma suivant : 3 3 1 1 fn + fn+1 + fn+2 + fn+3 yn+3 − yn = 3h 8 8 8 8 où yi est une approximation de y(xi ) et fi = f (xi , yi ). Comment a-t-on obtenu ce schéma ? A combien de pas est ce schéma ? Est-il implicite ou explicite ? 3. Quelle valeurs de démarrage faut-il ? Comment les obtenir ? 4. Etudier l’ordre de ce schéma (on pourra utiliser la méthode de la question 2.c de la première partie en cherchant l’erreur de la formule d’intégration sur [0, 3h]). Rappel : On dit qu’un schéma multi-pas αk yn+k + αk−1 yn+k−1 + · · · + α0 yn = h[βk fn+k + · · · + β0 fn ] est d’ordre p s’il existe une constante C telle que : 1 (αk y(xn+k ) + · · · + α0 y(xn )) − ( βk f (xn+k , y(xn+k )) + · · · + β0 f (xn , y(xn )) ) ≤ C hp h Exercice 31. On cherche à résoudre numériquement l’équation différentielle suivante : ′ y (x) = f (x, y(x)) x ∈ [a; b] (3.5) y(a) = ya 3.7. EXERCICES 29 b−a On divise l’intervalle [a; b] en N +1 points xi = a+ih, i = 0..N avec h = . On considère N le schéma suivant : 4 1 1 fn−1 + fn + fn+1 yn+1 = yn−1 + h 3 3 3 où yn = y(xn ) et fn = f (xn , y(xn )). 1. Comment a-t-on obtenu ce schéma ? 2. Que pouvez-vous dire sur ce schéma (implicite ou explicite, combien de pas, éventuellement son ordre) ? 3. Déterminer le polynôme d’interpolation de Newton Q vérifiant : Q(xn−1 ) = y(xn−1 ) = yn−1 , Q(xn ) = y(xn ) = yn , Q(xn+1 ) = y(xn+1 ) = yn+1 . Dériver ce polynôme Q et calculer Q′ (xn+1 ). En déduire un schéma numérique pour résoudre (3.5). Exercice 32. Méthodes de Taylor et de Runge-Kutta Soit t dans [0, T ] et une fonction y : [0, T ] → R continuement dérivable solution de l’équation différentielle suivante : ′ y (t) = f (t, y(t)) (3.6) y(0) = Y0 . On cherche à approcher cette solution y en des points tj = 0 + j Tn . (i) Ecrire le développement de Taylor à l’ordre 2 de y(ti+1 ). (ii) A partir de l’équation différentielle, calculer y ′′ (t). (iii) En déduire une méthode pour résoudre (3.6). Cette méthode s’appelle méthode de Taylor d’ordre 2. (iv) La méthode de Runge-Kutta d’ordre 2 s’obtient à partir de la précédente en remplaçant : ∂f h ∂f (ti , yi ) + (ti , yi ).f (ti , yi ) (3.7) f (ti , yi ) + 2 ∂x ∂y par A.f (ti + α, yi + β). Ecrire le développement de Taylor à l’ordre 2 de A.f (ti + α, yi + β). Identifier avec (3.7) et en déduire la méthode de Runge-Kutta d’ordre 2. (v) Ecrire l’algorithme correspondant. (vi) La méthode de Runge-Kutta d’ordre 4 s’obtient par le même principe mais les calculs sont beaucoup plus lourds : yi+1 = yi + hφ(ti , yi , h) 1 [k1 (ti , yi , h) + k2 (ti , yi , h) + k3 (ti , yi , h) + k4 (ti , yi , h)] φ(ti , yi , h) = 6 k1 (ti , yi , h) = f (ti , yi ) h h k2 (ti , yi , h) = f (ti + , yi + k1 (ti , yi , h)) 2 2 h h k3 (ti , yi , h) = f (ti + , yi + k2 (ti , yi , h)) 2 2 h k4 (ti , yi , h) = f (ti + h, yi + k3 (ti , yi , h)) 2 Ecrire l’algorithme correspondant à cette méthode. 30 CHAPITRE 3. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES Chapitre 4 Résolution d’équations non linéaires Soit f : R → R une fonction continue. On herche les zéros de f , i. e. les points x ∈ R tels que f (x) = 0. 4.1 Quelques méthodes Théorème 4 (Théorème des valeurs intermédiaires). Supposons que f [a, b] → R est continue et f (a)f (b) < 0. Alors f admet au moins un zéro sur l’intervalle ]a, b[. La méthode de dichotomie On se place d’abord sur un intervalle [a, b] tel que f (a)f (b) < 0. On définit c = a+b 2 . Si f (c) = 0, on a trouvé une racine et on s’arrête. Si f (a)f (c) < 0, on pose b = c ; sinon on a forcément f (c)f (b) < 0 et on pose a = c. On itère cette procédure n fois ; on est alors assuré d’avoir localisé une racine de f dans un intervalle dont la longueur est divisée par 2n . La méthode de la corde (a) (c − a) = 0. Si f (c) = 0, on On suppose que f (a)f (b) < 0. On définit c par f (a) + f (b)−f b−a (a) a trouvé la racine et on arrête. Sinon, on définit x par f (c) + f (b)−f (x − c) = 0 et on pose b−a c = x. On recommence alors avec la nouvelle valeur de c. Une autre méthode de corde (a) (c − a) = 0. Si f (c) = 0, on On suppose que f (a)f (b) < 0. On définit c par f (a) + f (b)−f b−a f (c)−f (a) (x − a) = 0 c−a f (c)−f (b) (x − b) = 0 et on c−b a trouvé la racine et on arrête. Si f (a)f (c) < 0, on définit x par f (a) + et on pose c = x. Sinon, on a f (b)f (c) < 0, on définit x par f (b) + pose c = x. On recommence alors avec la nouvelle valeur de c. La méthode de la fausse position (Regula Falsi) (a) On suppose que f (a)f (b) < 0. On définit c par f (a) + f (b)−f (c − a) = 0. Si f (c) = 0, on a b−a trouvé la racine et on arrête. Si f (a)f (c) < 0, on pose b = c. Sinon, on a f (b)f (c) < 0 et on pose a = c et on recommence avec les nouvelles valeurs de a et b. La méthode de la sécante (a) (c−a) = On suppose que a et b sont assez proches de la racine. On définit c par f (a)+ f (b)−f b−a 0. Si f (c) = 0, on a trouvé la racine et on arrête. Sinon, on pose d = b, puis b = c et a = d et on recommence avec les nouvelles valeurs de a et b. La méthode de Newton On suppose que a est assez proche de la racine et que f ′ (a) 6= 0. On définit c par f (a) + 31 32 CHAPITRE 4. RÉSOLUTION D’ÉQUATIONS NON LINÉAIRES f ′ (a)(c − a) = 0. Si f (c) = 0, on a trouvé la racine et on arrête. Sinon, on pose a = c et on recommence avec la nouvelle valeur de a. Une combinaison de méthodes On suppose que f (a)f (b) < 0. On définit c par f (a) + f ′ (a)(c − a) = 0 Si f (c) = 0, on a trouvé la racine et on arrête. Si f (a)f (c) < 0, on pose b = c. Si, on a f (b)f (c) < 0 et on pose a = c. Sinon, c se trouve en dehors de l’intervalle [a, b] et dans ce cas, on remplace c par a+b 2 . On recommence ensuite avec les nouvelles valeurs de a et b. 4.2 Méthode du point fixe Dans de nombreux cas, pour résoudre f (x) = 0, on se ramène à une suite x0 , xn+1 = g(xn ), n = 0, 1, . . . , où g est une fonction continue. Si xn converge vers une solution ℓ telle que f (ℓ) = 0, alors on a ℓ = g(ℓ), comme g est continue. Théorème 5. Soit g : [a, b] → [a, b] strictement contractante, i.e. il existe 0 ≤ L < 1 tel que |g(x) − g(y)| ≤ L|x − y|, alors pour tout x0 ∈ [a, b], la suite (xn ) définie par xn+1 = g(xn ), ℓ unique solution de l’équation g(ℓ) = ℓ. n = 0, . . . converge vers La méthode de Newton peut se réecrire sous la forme x0 ∈ [a, b], xn+1 = xn − f (xn ) , f ′ (xn ) n = 0, . . . (4.1) Théorème 6. Soit f ∈ C 2 ([a, b]) telle que f (a)f (b) < 0, f ′ (x) 6= 0, f ”(x) 6= 0, x ∈ [a, b]. Alors pour tout x0 ∈ [a, b] tel que f (x0 )f ”(x0 ) > 0, la suite (xn ) définie par (4.1) converge vers l’unique solution ℓ de f (x) = 0 dans [a, b]. Ordre d’une méthode On dit qu’une suite (xn ) définie par une méthode converge vers ℓ à l’ordre p ≥ 1, s’il existe C > 0 tel que |xn+1 − ℓ| ≤ C, k ≥ k0 , |xn − ℓ|p où k0 est choisi convenablement. Dans le cas où g est p fois dérivable, on a xn+1 − ℓ = g(xn ) − g(ℓ) = (xn − ℓ)g′ (ℓ) + · · · + (xn − ℓ)p (p) g (ℓ) + o(xn − ℓ)p p! La méthode est alors dite d’ordre p si on a g′ (ℓ) = 0, . . . , g(p−1) (ℓ) = 0, g(p) (ℓ) 6= 0. Si ℓ est un zéro simple de f , alors la méthode de Newton est d’ordre 2 au moins. Si ℓ est un zéro de f de multiplicité m, alors on se ramène à un zéro simple en considérant |f (x)|1/m . Test d’arrêt des itérations On a deux solutions : 33 4.3. EXERCICES 1. |xn+1 − xn | ≤ ǫ (Attention il se peut que |xn+1 − xn | soit petit sans qu’il y ait de solution au point fixe) 2. |f (xn )| ≤ η, avec η valeur fixée mais qui dépend de |f ′ (ℓ)|. Cas particulier des polynômes Théorème 7. Soit P un polynôme à coefficients réels de degré ≥ 2 admettant n racines réelles ξ1 > ξ2 > · · · > ξn . Alors pour toute valeur initiale x0 > ξ1 , la suite de Newton est strictement décroissante et converge vers ξ1 . 4.3 Exercices Exercice 33. a) Montrez que l’équation x − cos(x) = 0 a une unique solution s sur R. b) Montrez que la suite définie par : xn+1 = cos(xn ) converge vers s, quel que soit x0 dans R. Exercice 34. a) Discutez selon les valeurs de α (α > 0), le nombre de points d’intersection des deux courbes d’équations : √ g(x) = α x et h(x) = ln(x). √ On pourra pour cela étudier la fonction √ f (x) = α x − ln(x). x 1 b) On prend α = . Montrez que f (x) = − ln(x) s’annule deux fois sur R+ . 2 2 Localisez chaque racine entre deux entiers successifs. Montrez que chacune des itérations suivantes : √ xn (1) xn+1 = exp , 2 (2) xn+1 = 4(ln(xn ))2 permet de n’approcher qu’une seule des deux racines (on justifiera la convergence ou la divergence). Exercice 35. a) Enoncer le théorème des valeurs intermédiaires pour une fonction strictement monotone. b) Montrer que l’équation 3 − 2x = ex possède une unique solution α dans R. Vérifier que 0 ≤ α ≤ 1. Est-ce que 21 ≤ α ≤ 1 ? Exercice 36. a) Enoncer le théorème de Rolle. Interprétation géométrique ? 34 CHAPITRE 4. RÉSOLUTION D’ÉQUATIONS NON LINÉAIRES b) Soit f une fonction n fois dérivable sur ]a, b[ s’annulant en n+1 points de ]a, b[. Montrer que si f (n) est continue, il existe un point x0 de ]a, b[ tel que f (n) (x0 ) = 0. c) Montrer que le polynôme Pn défini par Pn (t) = [(1 − t2 )n ](n) est un polynôme de degré n dont les racines sont réelles, simples et appartiennent à [−1, 1]. Exercice 37. a) Utiliser le théorème de Rolle pour démontrer le théorème des accroissements finis (in(a) (x − a)). Interprétation géométrique ? dication : on introduira ϕ(x) = f (x) − f (b)−f b−a b) Montrer que pour tout x > 0, 1 1 < ln(x + 1) − ln(x) < . x+1 x c) Une fonction f est dite strictement contractante sur I s’il existe une constante 0 < k < 1 telle que |f (x) − f (y)| ≤ k|x − y| pour tous x, y ∈ I. Montrer que f (x) = e−(1+x) est strictement contractante sur R+ . Problème 1. On considère la fonction f (x) = ln((x + 1) exp(−2x) + 1 − x). Le but de ce problème est de déterminer le domaine de définition de f . 1. On pose u(x) = (x + 1) exp(−2x) + 1 − x. Calculez u′ et u′′ . Montrez que u′ s’annule pour une valeur de γ qu’on localisera entre deux entiers successifs. Montrez que u s’annule en deux valeurs α et β (on notera α la valeur positive). Montrez que α = −β. Localisez α et β entre deux entiers successifs. 2. En déduire le domaine de définition de f en fonction de α et le graphe de f. 3. Ecrire la méthode de Newton pour l’approximation effective de α. Choisir une valeur x0 qui assure la convergence de la suite vers α et calculez x1 et x2 . à l’aide du théorème des accroissements finis, calculez une majoration de l’erreur |x2 − α|. Problème 2. On veut résoudre : f (x) = x + 1 − x x e 3 (4.2) 35 4.3. EXERCICES 1. Calculer f ′ (x) et f ′′ (x). En déduire le tableau de variations de f . Quel est le nombre de solutions de (4.2) ? Localiser chaque solution entre deux entiers consécutifs. 2. On considère les méthodes itératives suivantes : xn x n xn+1 = e −1 3 (4.3) xn+1 = 3e−xn (xn + 1) (4.4) a) Vérifier que, si ces méthodes convergent, elles convergent bien vers une solution de (4.2). b) Montrer que chaque méthode ne converge que vers une seule solution de (4.2). Préciser alors l’intervalle sur lequel le théorème du point fixe s’applique, et, dans ce cas, déterminer combien d’itérations seront, a priori, nécessaires pour obtenir une erreur absolue inférieure à 5.10−7 . Calculer dans chaque cas deux itérés à partir d’un x0 admissible. 3. Ecrire la méthode de Newton pour résoudre (4.2). Pour chaque solution, justifier le choix de x0 et calculer deux itérés. A partir des valeurs approchées obtenues, donner, si possible, une estimation des solutions. 4. Ecrire la méthode de Newton pour trouver une approximation de la valeur µ où f admet un maximum. Calculer une estimation de ce maximum. Exercice 38. Méthode d’accélération d’Aitken Soit (xn ) une suite définie par : x0 ∈ [a; b] xn+1 = g(xn ) et convergente vers l solution de f (x) = 0. On suppose que l’ordre de cette méthode est 1 soit : en+1 = (A + ǫn )en , où en = xn − l, A = g′ (l), 0 < A < 1 et lim ǫn = 0 n→∞ 1. Montrer que en+2 − 2en+1 + en s’écrit ((A − 1)2 + θn )en avec limn→∞ θn = 0 2. Soit x′n = xn − (xn+1 − xn )2 . Montrer que xn+2 − 2xn+1 + xn θn − 2ǫn (A − 1) − ǫ2n x′n − l = . xn − l ((A − 1)2 + θn ) x′n − l ? n→∞ xn − l Que vaut lim Exercice 39. Méthode de la sécante 36 CHAPITRE 4. RÉSOLUTION D’ÉQUATIONS NON LINÉAIRES L’inconvénient de la méthode de Newton est l’utilisation de f ′ (x) qui peut être difficile à évaluer. On remplace alors f ′ (xn ) par l’approximation suivante : f (xn ) − f (xn−1 ) . xn − xn−1 1. Ecrire la méthode correspondante. Justifier l’approximation de la dérivée. Sachant l’ordre des méthodes de la corde et de Newton, que pouvez-vous dire de l’ordre de cette nouvelle méthode ? 2. On suppose que f ′ (l) 6= 0 et f ′′ (l) 6= 0. a) Que vaut en+1 en fonction de en−1 et en ? (xn − l)2 ′′ f (l) + (xn − l)2 ǫn (xn − l) avec b) Sachant que f (xn ) = (xn − l)f ′ (l) + 2 limn→∞ ǫn = 0, montrer que en+1 ∼ Ken en−1 avec K à déterminer. c) Soit p l’ordre de la méthode : lim n→∞ |en+1 | = C, avec C 6= 0. |en |p Montrer que p vérifie p2 − p − 1 = 0. Exercice 40. Méthode de Newton : exemples Ecrire la méthode de Newton correspondant aux fonctions suivantes. Regarder l’évolution des itérés, qu’en pensez-vous ? 4 x2 − 10, f2 (x) = ex/10 − 10−5 , f3 (x) = ln(x + 2)ex , f4 (x) = x3 − 2x + 1. f1 (x) = 100 Exercice 41. Suite de Sturm Soit P un polynôme de degré n supposé n’avoir que des racines simples. On définit une suite de polynômes Pk par : P0 (x) = P (x) P1 (x) = −P ′ (x) Pk+1 = QPk − Pk−1 (Pk+1 est l’opposé du reste de la division euclidienne de Pk−1 par Pk ). On note Pm le dernier terme de la suite. 1. Que peut-on dire de Pk+1 (r)Pk−1 (r) si r est racine de Pk ? 2. Si r est une racine de P , examiner les signes possibles de P0 (x) et P1 (x) au voisinage de r. 3. Si s est une racine de Pk , montrer qu’il y a 4 cas possibles pour les signes de Pk−1 (x), Pk (x), Pk+1 (x) au voisinage de s. 4. On définit V (a) le nombre de changements de signes dans la suite P0 (a), P1 (a), . . . , Pm (a). Montrer que pour h suffisamment petit, V (s + h) = V (s − h) + 1. 5. Conclure que V (b) − V (a) est le nombre de racines réelles de P dans [a; b]. 6. Application : Quel est le nombre de racines réelles de P (x) = X 5 −5x3 +4x dans [−3; 3] ? Trouver la plus grande en module. Chapitre 5 Résolution de systèmes linéaires 5.1 Position du problème On cherche à résoudre un système linéaire d’équations, ie on cherche le vecteur x ∈ RN tel que Ax = b où A ∈ RN ×N est une matrice carrée, supposée inversible (detA 6= 0) et b ∈ RN un vecteur donné. Ce problème est un des plus importants de l’analyse numérique, nous allons voir une méthode pour le résoudre mais il en existe beaucoup d’autres. 5.2 Cas des matrices triangulaires Soit le système suivant à résoudre : a11 x1 = b1 a21 x1 + a22 x2 = b2 . .. . . . . . . an1 x1 + an2 x2 + · · · + ann xn = bn Ce système équivaut à trouver x vecteur de RN tel que Ax = b avec : b1 x1 a11 x2 b2 a21 a22 Ax = . .. = .. .. .. . . . bn xn an1 an2 . . . ann Comme la matrice est triangulaire inférieure, detA = Πni=1 aii , cette matrice est inversible si et seulement si aii 6= 0, ∀i ∈ 1, 2, . . . , n. Le vecteur x s’obtient facilement par une descente : x1 = x2 = .. . xi .. . = b1 /a11 (b2 − a21 x1 )/a22 (bi − xn = (bn − Pi−1 j=1 aij xj )/aii Pn−1 j=1 37 aij xj )/ann 38 CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES Comptons le nombre d’opérations nécessaires à une descente : pour le calcul de xi : (i − 1)⊗, (i − 2) + 1⊕, 1/, donc au total n X i=1 2(i − 1) + n = 2 n−1 X i=0 i + n = n(n − 1) + n ≈ n2 opérations. Soit maintenant le système suivant à résoudre : a11 x1 + a12 x2 + · · · + a1n xn = b1 a22 x2 + · · · + a2n xn = b2 .. .. .. . . . ann xn = bn Ce système équivaut à trouver x vecteur de RN tel que Ax = b avec : a11 a12 . . . a22 . . . Ax = .. . a1n a2n .. . ann x1 x2 .. . xn = b1 b2 .. . bn Comme la matrice est triangulaire supérieure, detA = Πni=1 aii , cette matrice est inversible si et seulement si aii 6= 0, ∀i ∈ 1, 2, . . . , n. Le vecteur x s’obtient facilement par une remontée : x1 = x2 = .. . xi .. . P (b1 − nj=2 aij xj )/a11 P (b2 − nj=3 aij xj )/a22 = (bi − xn = Pn j=i+1 aij xj )/aii bn /ann Comptons le nombre d’opérations nécessaires à une remontée : pour le calcul de xi : n − (i + 1) + 1 = (n − i)⊗, (n − i)⊕, 1/, donc au total n X i=1 5.3 2(n − i) + n = 2 n X i=1 n− n X i=1 i + n = 2n2 − n(n + 1) + n ≈ n2 opérations. Méthode de Gauss (Gauss1 ) Comme les systèmes triangulaires sont faciles et économiques à résoudre, l’objectif est de transformer tout système linéaire en système triangulaire équivalent. 1 Johann Carl Friedrich Gauss, allemand, 1777-1855 39 5.3. MÉTHODE DE GAUSS Soit à résoudre le système Ax = b, on suppose a11 x1 + a12 x2 + · · · + a1n xn = a21 x1 + a22 x2 + · · · + a2n xn = .. . an1 x1 + an2 x2 + · · · + ann xn = où pour 2 ≤ i ≤ n : que a11 6= 0 : b1 b2 .. . L1 ← L2 ← .. . L1 21 L2 − aa11 L1 bn Ln ← Ln − an1 a11 L1 a11 x1 + a12 x2 + · · · + a1n xn = b1 (2) (2) (2) a22 x2 + · · · + a2n xn = b2 .. .. . . (2) (2) (2) an2 x2 + · · · + ann xn = bn (2) ai1 a1j , a11 ai1 (1) b1 , = bi − a11 aij = aij − (2) bi Interprétation matricielle Soit la matrice L(1) telle que : L(1) = 1 a21 − a11 a31 − a11 .. . an1 − a11 0 ... 1 .. . 0 .. . 0 ... alors le calcul de L(1) b et L(1) A donne : L(1) b = 0 .. . 0 0 1 b1 a21 − b1 + b2 a11 .. . ai1 − b1 + bi a11 .. . an1 − b1 + bn a11 a11 a12 0 a22 − a21 a12 a11 0 a − a31 a (1) 32 12 L A= a11 . .. .. . an1 0 an2 − a12 a11 ... ... ... ... = b(2) a1n a21 a2n − a1n a11 a31 a3n − a1n a11 .. . an1 ann − a1n a11 = A(2) 40 CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES Donc on a : Ax = b ⇐⇒ L(1) Ax = L(1) b ⇐⇒ A(2) x = b(2) . A l’étape (r) On a éliminé x1 des équations 2 à n, x2 des équations 3 à n et xr−1 des équations r à n. On (r) suppose que arr , que l’on appelle le pivot, est non nul. (1) (1) a11 x1 + a12 x2 + ... .. . (r−1) (r−1) ar−1r−1 xr−1 + ar−1r xr + . . . (r) arr xr + . . . (r) ar+1r xr + . . . .. . (r) anr xr + . . . (1) + a1n xn = + + + (r−1) ar−1n xn (r) arn xn (r) ar+1n xn + ann xn (r) (1) b1 .. . = (r−1) = br−1 (r) = br .. = . .. = . (r) = bn L1 ← L1 .. . Lr−1 ← Lr−1 Lr ← Lr Ln ← Ln − On obtient alors la matrice A(r+1) et le vecteur b(r+1) tels que : pour r + 1 ≤ i ≤ n et r+1≤j ≤n : (r) (r) air (r) air (r+1) = aij − (r+1) = bi − aij bi (r) a , (r) rj arr (r) b(r) , (r) r arr Interprétation matricielle Soit la matrice L(r) telle que : L(r) = 1 0 ... ... ... 0 1 .. . 0 .. .. . . .. .. . . .. .. . . .. .. . . ... ... 0 0 .. . ... 1 ... (r) − ar+1r (r) arr .. . ... ... ... (r) nr − a(r) arr ... 0 .. . .. . .. . .. . .. . .. . 0 0 1 (r) Lr+1 ← Lr+1 − .. . ar+1r (r) arr (r) anr (r) Lr arr Lr 41 5.3. MÉTHODE DE GAUSS alors le calcul de L(r) b(r) et L(r) A(r) donne : (1) b1 (2) b2 .. . (r−1) br L(r) b(r) = a(r) (r) − r+1r br + b(r) (r) r+1 arr .. . (r) (r) anr (r) − (r) br + bn arr L(r) A(r) Donc on a : (1) (1) a11 a12 . . . . . . (2) 0 a22 . . . . . . (3) 0 0 a33 . . . .. .. .. . . . 0 . . .. .. ... 0 = .. .. .. . . ... . .. .. .. . . . . . . . . .. .. .. ... . 0 0 0 0 = b(r+1) (1) ... ... ... ... ... ... ... ... ... ... ... ... a1n (2) a2n (3) a3n .. . (r) arr (r) arr+1 (r+1) ar+1r+1 ... arn ... ar+1n ... ar+2n .. . 0 .. . .. . 0 .. . .. . (r+1) anr+1 ... ... (r) (r+1) (r+1) (r)+1 ann = A(r+1) Ax = b ⇐⇒ L(r) A(r) x = L(r) b(r) ⇐⇒ A(r+1) x = b(r+1) . Au bout de (n − 1) étapes, le système est triangulaire supérieur. De plus, la matrice est inversible (donc le système (i) soluble) si et seulement si det(A(n) ) = Πni=1 aii 6= 0 ie si aucun des pivots n’est nul ! La méthode de Gauss est donc possible si aucun des pivots rencontrés n’est nul. On a alors que Ax = b ⇐⇒ A(n) x = b(n) ⇐⇒ L(n−1) A(n−1) x = L(n−1) b(n) ⇐⇒ L(n−1) L(n−2) . . . L(1) Ax = L(n−1) L(n−2) . . . L(1) b. e (pour Notons U (pour upper) la matrice A(n) puisqu’elle est triangulaire supérieure et L (n−1) (n−2) (1) lower) la matrice L L . . . L puisqu’elle est triangulaire inférieure comme produit de matrices elles-mêmes triangulaires inférieures, on a alors : e U x = Lb Comme, quel que soit r, detL(r) = 1, les matrices L(r) sont toutes inversibles donc leur produit e −1 = L(1)−1 L(2)−1 . . . L(n−1)−1 qui est aussi triangulaire inférieure. aussi. Notons L = L Ax = b ⇐⇒ LU x = b. 42 CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES On a donc factorisé la matrice A en un produit d’une matrice triangulaire inférieure et d’une matrice triangulaire supérieure. D’où l’autre nom de la méthode de Gauss : la factorisation LU . Pour résoudre le système, il suffit maintenant de faire une descente pour résoudre Ly = b puis une remontée pour résoudre U x = y. Proposition 2. L’inverse d’une matrice L(r) 1 0 ... ... 0 1 ... . .. . . . 0 . . . . 1 . . . . (r) ar+1r . . . . (r) arr . . .. .. .. . .. .. . . (r) anr 0 0 (r) arr est donnée par : ... 0 .. ... . .. ... . .. ... . .. . ... .. . ... .. . 0 ... ... 0 1 Proposition 3. Le produit d’une matrice L(r) par une matrice L(r+1) 1 0 ... ... ... 0 .. 0 1 . . . . . . . .. .. .. . 0 . . . . . .. .. .. . . 1 ... . (r) .. .. .. ar+1r . . 1 ... . (r) arr . . (r+1) . . a .. .. r+2r+1 .. .. ... (r+1) ar+1r+1 . . .. .. .. . 0 . . . . . . (r+1) (r) anr+1 anr . . . 0 1 0 0 (r) (r+1) arr ar+1r+1 Corollaire 1. La matrice L est donnée par : 1 0 ... ... ... a(1) 21 (1) 1 0 ... ... a11 (1) .. a31 a(2) . ... ... a(1) a32 (2) 11 22 .. .. . . 1 0 (r) .. . a r+1r . . . 1 (r) arr . (r+1) .. .. ar+2r+1 . . . . (r+1) ar+1r+1 . .. .. . ... (1) (r+1) (2) (r) a an1 an2 a11 a22 (1) (2) anr (r) arr −1 −1 nr+1 (r+1) ar+1r+1 ... ... ... ... 0 .. . ... ... .. . (n−1) ann−1 (n−1) an−1n−1 0 .. . .. . .. . .. . .. . 0 1 est donné par : 43 5.4. STRATÉGIE DE PIVOT 5.4 Stratégie de pivot La méthode suppose qu’à chaque étape, le pivot est non nul. Que se passe-t-il lorsqu’on rencontre un pivot nul ? (r) Supposons que arr = 0, comme A est inversible, on peut toujours trouver dans la sous(r) colonne r un terme air (i > r) non nul. Dans ce cas on permute les lignes i et r de la matrice (attention de ne pas oublier de faire la même manipulation sur le second membre pour garder l’équivalence des systèmes). Erreurs d’arrondi Soit à résoudre le système : ε 1 1 1 x1 x2 = 1 2 1 1 − 2ε et x2 = , ce qui donne pour ε = 0, x1 = x2 = 1. 1−ε 1−ε Or en résolvant ce système par la méthode de Gauss avec ε = 10−9 où 10−9 est la précision de la machine, on obtient : −9 10 1 1 x1 = , 0 1 − 109 x2 2 − 109 La solution est donnée par x1 = or, 1 − 109 ≈ −109 et 2 − 109 ≈ −109 sur la machine d’où la solution x2 = 1 et x1 = 0 qui n’est pas la solution ! Si par contre, on permute les lignes 1 et 2, on obtient : 1 1 2 x1 = , 0 1 − 10−9 x2 1 − 2 ∗ 10−9 or, 1 − 10−9 ≈ 1 et 1 − 2 ∗ 10−9 ≈ 1 sur la machine d’où la solution x2 = 1 et x1 = 1 qui est la solution du système ! Conclusion il ne faut pas utiliser des pivots trop petits car les erreurs d’arrondi peuvent donner des solutions fausses. On cherche alors dans la sous-colonne r, le plus grand pivot ajr = maxr≤i≤n |air | et on permute les lignes j et r. C’est ce qu’on appelle une stratégie de pivot partiel. La méthode de Gauss n’est jamais programmée sans au moins une stratégie de pivot partiel. Remarque 1. • Les pivots petits ne disparaissent pas, ils sont juste rejetés à la fin de l’algorithme où leur influence est moins grande. • Si on cherche le plus grand pivot dans la sous-matrice r ≤ i ≤ n et r ≤ j ≤ n et qu’on permute alors à la fois les lignes et les colonnes, c’est une stratégie de pivot total. 5.5 Coût de la méthode Coût de l’étape r : (r+1) (r) (r) pour i = r + 1 à n et j = r + 1 à n, aij = aij − mir arj , r + 1 ≤ j ≤ n. 44 CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES (r+1) soit (n − r)/ et (n − r)2 fois (1⊗, 1⊕) pour le calcul de aij (r+1) bi (r) bi et (r) mir br . pour i = r + 1 à n, = − (r+1) soit (n − r) fois (1⊗, 1⊕) pour le calcul de bi , soit au total n−1 X r=1 2 n−1 X r=1 [(n−r)2 +(n−r)] = 2 (n − r) = n−1 X r=1 r= n(n − 1) divisions, 2 n(n − 1)(2n − 1) n(n − 1) n(n2 − 1) +2 =2 additions et multiplications, 6 2 3 2n3 opérations. Il faut rajouter le coût d’une descente et d’une 3 remontée ie 2n2 qui devient vite négligeable dès que n est grand. soit au total de l’ordre de 5.6 Existence de la factorisation LU Théorème 8. Soit A une matrice carrée d’ordre n ayant toutes ses sous-matrices prinfk = (aij )1≤i,j≤k régulières ( ie inversibles). Alors la matrice A admet une unique cipales A factorisation LU où L est triangulaire inférieure avec des 1 sur la diagonale et U triangulaire supérieure. preuve Unicité Soit A = L1 U1 = L2 U2 d’où = L−1 L2 = D. U1 U −1 | 1{z } | {z2 } triangulaire supérieure triangulaire inférieure Comme D a des 1 sur la diagonale, D = I, donc U1 = U2 et L1 = L2 . (r) Existence il suffit de montrer que arr 6= 0 pour 1 ≤ r ≤ n − 1. On le démontre par récurrence. f1 qui est régulière par Le premier pivot est forcément non nul car c’est la sous-matrice A hypothèse. −1 −1 −1 (r) Si arr 6= 0 pour 1 ≤ r ≤ k − 1, on a alors A = L(1) L(2) . . . L(k−1) A(k) soit par blocs : g (k) , or d’une part par hypothèse detA fk = L fk A fk est différent de 0 et d’autre part detA fk = A k (r) (k) (k) (1) (2) (k−1) a11 a22 . . . ak−1k−1 akk . Par hypothèse de récurrence arr 6= 0 pour 1 ≤ r ≤ k − 1, donc akk est aussi différent de 0· Remarque 2. C’est la valeur sur la diagonale de L qui donne l’unicité. Cette valeur doit donc toujours être fixée. 5.7 Cas particulier des matrices symétriques définies positives Rappel Soit A une matrice symétrique (A = TA) réelle définie positive (∀x ∈ RN \ {0} , (Ax/x) > 0) alors A est inversible et toutes ses valeurs propres sont réelles et strictement positives. preuve Soit x ∈ Ker(A), Ax = 0 donc (Ax/x) = 0 ⇐⇒ x = 0 soit A inversible. Soit x ∈ Cn vecteur propre de A associé à la valeur propre λ ∈ C, alors Ax = λx et Ax = Ax = λx. 5.7. CAS PARTICULIER DES MATRICES SYMÉTRIQUES DÉFINIES POSITIVES 45 On fait le produit scalaire de la première égalité par x et de la deuxième par x, on obtient : (Ax/x) = (λx/x) = λkxk2 et (Ax/x) = (λx/x) = λkxk2 . Comme (Ax/x) = (Ax/x) car A est symétrique, on a : λkxk2 = λkxk2 , soit λ est réel. Enfin, 0 < (Ax/x) = (λx/x) = λkxk2 . Théorème 9. Toute matrice symétrique définie positive admet une unique factorisation LU . preuve fk , sous-matrice principale d’ordre k de A. Alors A fk est définie positive car Soit A fk T(x1 x2 . . . xk ) = (x1 x2 . . . xk 0 . . . 0)AT(x1 x2 . . . xk 0 . . . 0) ≥ 0. (x1 x2 . . . xk )A fk est inversible et d’après le théorème (8), A possède une factorisation LU unique. Donc A Factorisation de Cholesky2 T T Comme A est symétrique, on a LU = T(LU ) = U L soit 1/u11 0 0 1/u 22 T −1 T −1 = = .. . |U{z L} {z } |LU .. . triangulaire inférieure triangulaire supérieure 0 .. . 1/unn . 0 ... √ u11 √ 0 u22 Posons D = . (ce qui est possible car A est définie positive et que .. .. .. . . √ unn 0 ... les uii > 0). Alors TLU −1 = D −2 , d’où DTL = DD−2 U = D −1 U , et donc A = LD.D−1 U = LD.DTL = e TL e avec L e = LD. L Corollaire 2. Toute matrice symétrique définie positive admet une unique factorisation LTL, appelée factorisation de Cholesky. Factorisation de Crout3 e TL e = LD.DD−1T(LD) = LD.DD−1TDTL = LD.DD−1 DTL = LD2TL. Comme A = L Corollaire 3. Toute matrice symétrique définie positive admet une unique factorisation LDTL, appelée factorisation de Crout. Remarque 3. Pour des raisons numériques, on préfère utiliser la factorisation de Crout à celle de Cholesky car il n’y a pas d’extraction de racines carrées. 2 3 André Louis Cholesky,français, 1875-1918 Prescott Durand ( ?) Crout, américain ( ?) 46 CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES 5.8 Exercices Exercice 42. −1 −1 −1 Trouver L−1 1 , L2 et L = L1 × L2 1 0 L1 = −l21 1 −l31 0 Appliquer la méthode de Gauss 4 A= 3 2 Exercice 43. pour 0 1 0 0 0 et L2 = 0 1 0 , 1 0 −l32 1 sans permutation au système Ax = b, 8 12 4 8 13 b= 5 9 18 11 Utiliser la méthode de Gauss pour résoudre le système suivant : z = 4 2x + 3y + −x + my + 2z = 5 7x + 3y + (m − 5)z = 7 Discuter suivant les valeurs de m. Exercice 44. Soient A une matrice n × n et u et v deux vecteurs colonnes de longueur n. Vérifier que : (A − uv t )−1 = A−1 + αA−1 uv t A−1 avec α = 1 . 1 − v t A−1 u Quelle est la condition d’existence de cette inverse ? On considère la matrice 1 1 1 A= 1 2 2 1 2 3 1. Quelle est la décomposition LU de A ? 2. Résoudre, en utilisant la question précédente, les systèmes AXi = ei où les ei sont les vecteurs de la base canonique usuelle de R3 . En déduire A−1 . Exercice 45. Matrices 1. Soit A la matrice 3 2 1 A= 6 6 3 9 10 6 Trouver une matrice triangulaire inférieure L avec des 1 sur la diagonale et une matrice triangulaire supérieure U telles que A = LU . Soit b = (b1 , b2 , b3 )t un vecteur colonne. Trouver 47 5.8. EXERCICES un vecteur colonne x = (x1 , x2 , x3 )t tel que Ax = b, en utilisant les matrices L et U . En déduire l’inverse de la matrice A. 2. Soit n ≥ 2 un entier. Soient a1 , . . . , an , b1 , . . . , bn et α, β des nombres réels. On considère une matrice M = (mi,j ) de taille n avec mi,i = ai pour i = 1, . . . , n, mn,1 = α, m1,n = β et mi,j = 0 sinon. Donner une condition les nombres ai , α et β pour que M soit inversible. Résoudre le système M x = b, avec b = (b1 , . . . , bn )t , en utilisant la méthode de Gauss, et calculer le nombre d’opérations effectuées en fonction de n. 3. Soit a un nombre réel et C la matrice a 2 1 C= 0 1 1 1 0 0 La matrice C est-elle inversible ? Montrer que si a est différent de 0, on peut appliquer la méthode de Gauss sans stratégie de pivot. Dans le cas où a = 0, trouver x = (x1 , x2 , x3 )t tel que Cx = (1, 2, 3)t , en utilisant une stratégie de pivot. Exercice 46. Résolution numérique d’équations différentielles On considère le problème suivant : trouver u : (0, 1) → R tel que : −u”(x) = f (x), 0 < x < 1, u(0) = u(1) = 0, (5.1) où f est une fonction continue donnée dans [0, 1]. 1. Soit v la fonction définie par Z 1 Z x (1 − y)f (y)dy. yf (y)dy + x v(x) = (1 − x) 0 x On admettra que v est 2 fois continûment dérivable. Calculer v ′ (x) puis v”(x). En déduire que v est solution du problème (5.1). 2. Soient u1 et u2 deux solutions du problème (5.1). On définit u = u1 − u2 . On suppose que u1 et u2 sont 2 fois continûment dérivables. 2.a Montrer que u”(x) = 0. 2.b En déduire que u est un polynôme de degré inférieur ou égal à 1. 2.c Montrer que u(0) = u(1) = 0. 2.d En déduire que u(x) = 0 pour 0 ≤ x ≤ 1. 3. On se propose de chercher une solution approchée du problème (5.1). Pour cela, on se donne une subdivision de l’intervalle [0, 1] en N sous-intervalles (xi−1 , xi ) de même longueur h : xi = ih, i = 0, . . . , N, h = 1/N. N On cherche alors une suite de valeurs (ui )N i=0 approchant les valeurs u(xi )i=0 . On considère alors le schéma suivant −ui+1 +2ui −ui−1 = f (xi ), i = 1, . . . , N − 1, h2 (5.2) u0 = uN = 0. 3.a Montrer que l’on peut écrire le problème (5.2) sous la forme Au = b, où u = (u1 , . . . , uN −1 )T , b = (f (x1 ), . . . , f (xN −1 ))T et A est une matrice carrée de taille N − 1 que l’on précisera. 48 CHAPITRE 5. RÉSOLUTION DE SYSTÈMES LINÉAIRES 3.b Montrer que A est définie positive. 3.c Peut-on appliquer la méthode de Gauss ? (on justifiera). Si oui, écrire la méthode de Gauss et compter le nombre d’opérations. 3.d Soit u ∈ C 4 ([0, 1]). On note εih = Montrer que |εhi | ≤ h2 12 −u(xi+1 ) + 2u(xi ) − u(xi−1 ) − f (xi ). h2 sup0<x<1 |u(4) (x)|. On utilisera deux développements de Taylor.