13.07.2015 Views

ANALYSE NUMERIQUE NON-LINEAIRE

ANALYSE NUMERIQUE NON-LINEAIRE

ANALYSE NUMERIQUE NON-LINEAIRE

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Université de MetzLicence de Mathématiques - 3ème année1er semestre<strong>ANALYSE</strong> <strong>NUMERIQUE</strong> <strong>NON</strong>-<strong>LINEAIRE</strong>par Ralph ChillLaboratoire de Mathématiques et Applications de MetzAnnée 2010/111


Table des matièresChapitre 1. Représentation des nombres 5Chapitre 2. Interpolation et approximation 91. Interpolation selon Lagrange 92. Etude de l’erreur d’interpolation 113. L’algorithme de Newton 124. Approximation hilbertienne 155. Approximation uniforme 19Chapitre 3. Intégration et différentiation numérique 211. Intégration approchée 212. Etude de l’erreur d’intégration approchée 243. La formule d’intégration approchée de Gauss 264. Différentiation numérique 27Chapitre 4. Résolution numérique d’équations non-linéaires dans R N 311. Résolution numérique d’une équation d’une variable par dichotomie ouregula falsi 312. Approximations successives 323. Méthode de Newton 324. Méthode de plus grande descente 32Chapitre 5. Résolution numérique d’équations différentielles ordinaires 331. Le schéma d’Euler explicite ou implicite 343


CHAPITRE 1Représentation des nombresPROPOSITION 1.1. Soit β ≥ 2 un entier donné (la base). Alors tout nombre réelx ∈ R s’écrit de la formek∑x = (−1) s · a j β javec s ∈ {0, 1}, k ∈ Z, a j ∈ N, 0 ≤ a j ≤ β − 1. Si on exige que a k 0, alors lareprésentation ci-dessus est unique. On écrit aussij=−∞(1.1) x = a k a k−1 . . . a 0 , a −1 a −2 a −3 . . . .Si β = 10, alors la représentation (1.1) est exactement la représentation décimalede x. Autres bases fréquentes: β = 2 (représentation binaire), β = 8 ou β = 16(représentation hexadécimale). Pour les ordinateurs, on a typiquement β = 2.Dans l’écriture (1.1), déplacer la virgule d’une position à droite (ou à gauche)correspond à une multiplication (ou une division) par β. Tout nombre x ∈ R admetdonc une unique représentation sous la forme(1.2) x = (−1) s a k , a k−1 a k−2 a k−3 · · · · β kavec s ∈ {0, 1}, k ∈ Z, a j ∈ N, 0 ≤ a j ≤ β − 1, a k 0. C’est cette représentationscientifique (ou: représentation en virgule flottante) que l’on va utiliser dans la suite.Dans cette représentation on appelle s ou (−1) s le signe, la suite a k , a k−1 a k−2 a k−3 . . .la mantisse et k ∈ Z l’exposant de x. Ces trois variables caractérisent le nombre réelx.0.1. Représentation binaire. Nombres machine. Dans la représentation binaire(c.à.d. β = 2) on as ∈ {0, 1},k ∈ Z,a j ∈ {0, 1}a k = 1.( j ≤ k), etComme la mémoire d’un ordinateur est limité, on ne peut coder qu’un nombre fini denombres réels. Ainsi, la mantisse d’un nombre machine est toujours une suite finie,et l’ensemble des exposants k est un ensemble fini. Par exemple, avec b bits (binary5


6 1. REPRÉSENTATION DES NOMBRESdigits) on ne peut coder que 2 b nombres réels. Pour la compatibilité entre ordinateurs,on utilise le standard IEEE (Institute of Electrical and Electronics Engineers)suivant.0.1.1. Simple précision (32 bits). Avec 32 bits on peut coder 2 32 ≈ 4, 29 milliardsde nombres réels. Selon le standard IEEE on utilise1 bit pour le signe23 bits pour la mantisse, et8 bits pour l’exposant k qui varie entre − 126 et 127.On remarque que pour un nombre réel non-nul, on a toujours a k = 1 et qu’il suffitdonc de coder les 23 bits de la mantisse qui suivent aprés la virgule. L’exposant estdécalé de 2 7 − 1 = 127. Pour les nombres machine non-nuls on a donc}{{} S 1, }{{}MMM . . . MMM }{{}EEEEEEEE .signe (1 bit) mantisse (23 bits) exposant (8 bits)L’exposant 00000000 avec la mantisse 00000000000000000000000 représente lenombre x = 0. L’exposant 11111111 avec la mantisse 00000000000000000000000représente l’infini. Le plus petit nombre machine positif, non-nul est0 1, 00000000000000000000000 00000001=1 · 2 −126≈1, 175 · 10 −38 .On appelle précision machine le plus petit nombre machine positif eps tel que 1 ⊞eps > 1 (addition en virgule flottante, c.à.d. le résultat 1 ⊞ eps est de nouveau unnombre machine). En simple précision, on aEn général, on aeps = 2 −23 ≈ 1, 2 · 10 −7 .x · y = (x ⊙ y)(1 + r)pour deux nombres machine x, y. Ici, x · y est la multiplication exacte, x ⊙ y est lamultiplication en virgule flottante, et l’erreur relatif r vérifie |r| ≤ eps.0.1.2. Double précision (64 bits). Avec 64 bits on peut coder 2 64 ≈ 1, 8 · 10 19nombres réels. Selon le standard IEEE on utilise1 bit pour le signe52 bits pour la mantisse, et11 bits pour l’exposant k qui varie entre − 1022 et 1023.On remarque qu’on a toujours a k = 1 et qu’il suffit donc de coder les 52 bits de lamantisse qui suivent aprés la virgule. L’exposant est décalé de 2 11 − 1 = 1023.}{{} S 1, }{{}MMM . . . MMM }{{}EEEEEEEEEEE .signe (1 bit) mantisse (52 bits) exposant (11 bits)


1. REPRÉSENTATION DES NOMBRES 7Le plus petit nombre machine positif, non-nulle est donc0 1, 00000000000000000000000 . . . 00000000001=1 · 2 −1022 .En double précision, on aeps = 2 −52 ≈ 2, 2 · 10 −16 .


CHAPITRE 2Interpolation et approximation1. Interpolation selon LagrangeOn considère le problème d’interpolation polynômiale suivant: étant donnéx 0 , . . . , x n ∈ Ry 0 , . . . , y n ∈ R(les noeuds) et(les abscisses),on cherche un polynôme p : R → R de degré ≤ n tel quep(x i ) = y i pour tout 0 ≤ i ≤ n.Bien sur, au lieu de chercher un polynôme classique de degré ≤ n, on peut aussichercher un polynôme trigonométrique, une fonction spline (une fonction de classeC 2 qui est un polynôme par morceaux), un élément fini ... l’important étant qu’oncherche une fonction interpolante dans un espace vectoriel donné et de dimensionfinie. Par exemple, l’espaceR n [X] = {p : R → R : p est polynôme de degré ≤ n}des polynômes de degré ≤ n est un espace de dimension n + 1. Une base vectorielleest constitué des monômes x i (0 ≤ i ≤ n) et tout polynôme p ∈ R n [X] admet unereprésentation unique de la formeavec a i ∈ R.p(x) = a 0 + a 1 x + · · · + a n x nPROPOSITION 2.1. Etant donné des noeuds x 0 < · · · < x n , et étant donné deaabscisses y 0 , . . . , y n ∈ R, il existe un et un seul polynôme p n ∈ R n [X] tel que p(x i ) =y i pour tout 0 ≤ i ≤ n. En d’autres mots, le problème d’interpolation polynômialeadmet une unique solution.PREMIÈRE DÉMONSTRATION DE LA PROPOSITION 2.1 (COMPLIQUÉE?) Si on représente lespolynômes comme combinaisons linéaires de la base vectorielle des monômes, alorsle problème d’interpolation est le problème de montrer existence et unicité d’unefamille de coefficients a 0 , . . . , a n tel que p(x) = a 0 +a 1 x+· · ·+a n x n vérifie p(x i ) = y i(0 ≤ i ≤ n). Ceci est équivalent à résoudre le système linéairea 0 + a 1 x 0 + · · · + a n x n 0 = y 0a 0 + a 1 x n + · · · + a n x n n = y n ,9..


10 2. INTERPOLATION ET APPROXIMATIONc.à.d. le système⎛1 x 0 · · · x n ⎞ ⎛ ⎛0a 0 y 01 x 1 · · · x n 1a 1 y 1.. . ..=. . .⎜⎝⎟⎠ ⎜⎝⎞⎟⎠ ⎜⎝⎞⎟⎠1 x n · · · xnn a n y nCe système admet une unique solution (a 0 , a 1 , . . . , a n ) si et seulement si la matricede Vandermonde⎛1 x 0 · · · x n ⎞01 x 1 · · · x n 1A =. ... . .⎜⎝⎟⎠1 x n · · · xnnest inversible. Autrement dit, le problème d’interpolation admet une unique solutionsi et seulement si det A 0.Pour calculer le determinant det A, on constate que, en développant par exemplepar la dernière ligne, que det A = f (x 0 , . . . , x n ) est un polynôme de degré ≤ nen la variable x n . En remplaçant x n par x j (avec 0 ≤ j ≤ n − 1) on voit quef (x 0 , . . . , x n−1 , x j ) = 0, c.à.d. chaque noeud x j (0 ≤ j ≤ n − 1) est une racine dece polynôme. Ainsif (x 0 , ·, x n ) = C · (x n − x 0 ) · · · · · (x n − x n−1 )pour une constante C ∈ R. Cette constante est le coefficient principal du polynômef (x 0 , . . . , x n ), et en revenant au développement de det A par la dernière ligne, on voitque C = f (x 0 , . . . , x n−1 ), le déterminant de la matrice de Vandermonde associé aux nnoeuds x 0 , . . . , x n−1 . Par récurrence, on trouve alors∏det A = (x j − x i ),0≤i< j≤net comme les noeuds sont tous distincts, det A 0.DEUXIÈME DÉMONSTRATION DE LA PROPOSITION 2.1 (PLUS ÉLÉGANTE?) L’idée principalede la démonstration est d’utiliser une autre base vectorielle de l’espace R n [X]. Pourtout i ∈ {0, . . . , n} on définit le polynômen∏ x − x jl i (x) =(x ∈ R).j=0jix i − x jAlors l i est un polynôme de degré n avec la propriété importante que⎧⎪⎨ 0 si i j,l i (x j ) =⎪⎩ 1 si i = j.En conséquence, la famille (l i ) 0≤i≤n est linéairement indépendante. Mais comme ladimension de R n [X] est n+1, c.à.d. exactement le nombre d’élement de cette famille,on obtient que (l i ) 0≤i≤n est une base vectorielle de R n [X].□


2. ETUDE DE L’ERREUR D’INTERPOLATION 11Existence d’un polynôme d’interpolation. Il suffit maintenant de poser(2.1) p n (x) =n∑y i l i (x)i=0(x ∈ R).Comme combinaison linéaire des l i , p n est un polynôme de degré ≤ n. En plus,p n (x j ) =n∑y i l i (x j ) = y j pour tout 0 ≤ j ≤ n.i=0Donc, le polynôme p n est un polynôme d’interpolation. D’où l’existence d’un polynômed’interpolation.Unicité. Soit p ∈ R n [X] un polynôme d’interpolation. Alors, comme (l i ) 0≤i≤n estune base vectorielle de R n [X],n∑p(x) = z i l i (x) (x ∈ R)pour des z i ∈ R. Alors, quelque soit j ∈ {0, . . . , n},z j =i=0n∑z i l i (x j ) (propriété des l i )i=0= p(x j )= y j (p est polynôme d’interpolation),et doncn∑n∑p(x) = z i l i (x) = y i l i (x) = p n (x),i=0i=0où p n est le polynôme de (2.1). D’où l’unicité.□On appelle le polynôme l i le i-iéme polynôme de Lagrange. D’après la Proposition2.1 nous pouvons (et nous allons) parler du polynôme d’interpolation. Lareprésentation (2.1) est la représentation de Lagrange du polynôme d’interpolationassocié aux noeuds x i et aux abscisses y i . Cette représentation est simple, mais il fautnoter que pour calculer le i-iéme polynôme de Lagrange il faut faire 2n additions,n divisions et n multiplications. Eventuellement on divise par des nombres petits siles noeuds sont proches l’un de l’autre; ceci peut engendrer des erreurs d’arrondisimportants. Dans la suite nous verrons d’autres représentations de ce polynôme, ouau moins d’autres algorithmes pour calculer p n (x) en un point x donné.2. Etude de l’erreur d’interpolationOn suppose dans cette section que les abscisses y i = f (x i ) pour une fonctionf : [a, b] → R donnée, et que les noeuds vérifient a ≤ x 0 < · · · < x n ≤ b.


12 2. INTERPOLATION ET APPROXIMATIONPROPOSITION 2.2. Soit p n le polynôme d’interpolation de Lagrange associé auxnoeuds a ≤ x 0 < · · · < x n ≤ b et aux abscisses f (x 0 ), . . . , f (x n ), où f ∈ C n+1 ([a, b])est une fonction donnée. Alors pour tout x ∈ [a, b] il existe ξ x ∈]a, b[ tel quef (x) − p n (x) = f (n+1) (ξ x )(n + 1)!n∏(x − x i ).DÉMONSTRATION. Par définition du polynôme d’interpolation, f (x) − p n (x) = 0si x = x i pour un i ∈ {0, . . . , n}. On peut alors supposer que x x i pour touti ∈ {0, . . . , n}. On poseQ(t) := p n (t) − f (t) + f (x) − p n(x)∏ ni=0(x − x i )Alors Q ∈ C n+1 ([a, b]) eti=0n∏(t − x i ) (t ∈ [a, b]).i=0Q(x i ) = 0 pour tout i, et Q(x) = 0.Le théorème de Rolle implique que la dérivée Q ′ s’annulle en n + 1 points distinctsdans l’intervalle ]a, b[. En appliquant le théorème de Rolle encore une fois, on voitque Q ′′ s’annulle en n points distincts dans l’intervalle ]a, b[, et finalement, qu’ilexiste ξ x ∈]a, b[ tel que Q (n+1) (ξ x ) = 0. La proposition s’en déduit facilement. □COROLLAIRE 2.3. Soit ‖ f (n+1) ‖ ∞ := sup x∈[a,b] | f (n+1) (x)|. Alors| f (x) − p n (x)| ≤ ‖ f (n+1) ‖ ∞n∏(x − x i ) (x ∈ [a, b]).(n + 1)!La proposition et le corollaire montrent que l’erreur d’interpolation dépend aussidu choix des noeuds x i . En fait,| f (x) − p n (x)| ≤ ‖ f (n+1) ‖ ∞n∏sup∣ (t − x i ) ∣ ∣ (x ∈ [a, b]).(n + 1)!t∈[a,b]On verra plus loin qu’un choix optimal est le choix des noeuds de Tchebychev, c.à.d.,sur l’intervalle [a, b] = [−1, 1], le choix des noeuds(2i + 1)πx i = cos (0 ≤ i ≤ n).2n + 2i=0i=03. L’algorithme de NewtonL’algorithme de Newton est une méthode efficace pour calculer le polynômed’interpolation associé à des noeuds x 0 , . . . , x n donnés et à des abscisses y 0 , . . . ,y n donnés (on suppose toujours que x i x j si i j). Il est particulierement pratiquedans les situations où on veut rajouter des noeuds. L’idée est de représenter lepolynôme d’interpolation dans la forme(2.2) p(x) = c 0 + c 1 (x − x 0 ) + · · · + c n (x − x 0 ) · · · · · (x − x n−1 )avec des coefficients c 0 , . . . , c n à determiner. On remarque ici que les polynômes 1,x − x 0 , . . . , (x − x 0 ) · · · · · (x − x n−1 ) forment une base de l’espace R n [X] (exercice!)


3. L’ALGORITHME DE NEWTON 13et que les coefficients c 0 , . . . , c n existent et sont uniques.Dans la suite, pour tout i, j ∈ {0, . . . , n}, j ≤ i, on notep i, j = le polynôme d’interpolation de degré ≤ jassocié aux noeuds x i− j , . . . , x iet aux abscisses y i− j , . . . , y i .Le polynôme que l’on recherche est le polynôme p n,n . On note ensuitec i, j = le coefficient principal du polynôme p i, j , c.à.d. le coefficientcorrespondant au monôme x j dans la représentationp i, j (x) = c i, j x j + polynôme de degré < j.On rappelle que, étant donné des noeuds x 0 , . . . , x n et des abscisses y 0 , . . . , y n ,le polynôme d’interpolation p de degré ≤ n existe et est unique (Proposition 2.1).Ainsi, le coefficient principal est déterminé de manière unique en fonction des noeudset des abscisses.REMARQUE 2.4. Le coefficient principal du polynôme d’interpolation correspondant auxnoeuds x 0 , . . . , x n et aux abscisses y 0 , . . . , y n est dans la littérature aussi noté f [x 0 , . . . , x n ](la notation avec le f s’explique si les abscisses y 0 , . . . , y n sont de la forme f (x 0 ), . . . , f (x n )pour une fonction f donnée). Avec cette notation, on auraitc i, j = f [x i− j , . . . , x i ].LEMME 2.5. Soit p = p n,n le polynôme d’interpolation correspondant aux noeudsx 0 , . . . , x n et aux noeuds y 0 , . . . , y n . On représente p dans la forme (2.2), c.à.d.p(x) = c 0 + c 1 (x − x 0 ) + · · · + c n (x − x 0 ) · · · · · (x − x n−1 )(x ∈ R).Alors c i = c i,i (le coefficient principal du polynôme p i,i ).DÉMONSTRATION. Exercice.□Afin de calculer des coefficients c i, j , on note d’abord que(2.3) c i,0 = y i (0 ≤ i ≤ n).En fait, c i,0 est, par définition, le coefficient principal du polynôme p i,0 de degré ≤ 0(c.à.d. p i,0 est constant!) tel que p i,0 (x i ) = y i . Ainsi, p i,0 (x) = y i = y i · x 0 , d’où(2.3). Afin de calculer les autres coefficients c i, j avec j ≥ 1 on utilise le lemme et lecorollaire suivant.LEMME 2.6 (Différences divisées). Pour tout i, j ∈ {1, . . . , n} avec i ≥ j on ap i, j (x) = p i, j−1(x)(x − x i− j ) − p i−1, j−1 (x)(x − x i )x i − x i− j(x ∈ R).


14 2. INTERPOLATION ET APPROXIMATIONDÉMONSTRATION. Soit q(x) := p i, j−1(x)(x−x i− j )−p i−1, j−1 (x)(x−x i )x i −x i− j(x ∈ R). Par définition,p i, j−1 et p i−1, j−1 sont des polynômes de degré ≤ j − 1. Ainsi, q est un polynôme dedegré ≤ j. Ensuite, on calculq(x i− j ) = 0 − p i−1, j−1(x i− j )(x i− j − x i )x i − x i− j= y i− j ,car p i−1, j−1 (x i− j ) = y i− j par définition de p i−1, j−1 . De manière similaireq(x i ) = p i, j−1(x i )(x i − x i− j ) − 0x i − x i− j= y i ,car p i, j−1 (x i ) = y i par définition de p i, j−1 . Finalement, pour tout k avec i − j < k < ion a p i, j−1 (x k ) = y k et p i−1, j−1 (x k ) = y k . Ainsi,q(x k ) = p i, j−1(x k )(x k − x i− j ) − p i−1, j−1 (x k )(x k − x i )x i − x i− j= y k(x k − x i− j ) − y k (x k − x i )x i − x i− j= y k .On a donc montré que q est un polynôme d’interpolation de degré ≤ j associéaux noeuds x i− j , . . . , x i et aux abscisses y i− j , . . . , y i . Par unicité du polynômed’interpolation, q = p i, j .□COROLLAIRE 2.7 (Différences divisées). Pour tout i, j ∈ {1, . . . , n} avec i ≥ j on a(2.4) c i, j = c i, j−1 − c i−1, j−1x i − x i− j.DÉMONSTRATION. Conséquence directe du Lemme 2.6 et de la définition des c i, j .□D’après les équations (2.3) et (2.4), on obtient le schéma suivant pour calculersuccessivement les c i, j (algorithme de Newton):x 0∣ ∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣ c 0,0 = y 0↘x 1 c 1,0 = y 1 → c 1,1↘ ↘x 2 c 2,0 = y 2 → c 2,1 → c 2,2.. .. . ..x n−1 c n−1,0 = y n−1 → c n−1,1 → c n−1,2 . . . c n−1,n−1↘ ↘ ↘x n c n,0 = y n → c n,1 → c n,2 . . . c n,n−1 → c n,nOn a finalementp n,n (x) = c 0,0 + c 1,1 (x − x 0 ) + · · · + c n,n (x − x 0 ) · · · · · (x − x n−1 )(x ∈ R).


4. APPROXIMATION HILBERTIENNE 15EXEMPLE 2.8. On cherche le polynôme d’interpolation de degré ≤ 3 associé auxnoeudsx 0 = −1, x 1 = 0, x 2 = 1, x 3 = 3et aux abscissesy 0 = 1, y 1 = −1, y 2 = 0, y 3 = 2.Avec l’algorithme de Newton on trouve∣x 0 = −1x 1 = 0x 2 = 1x 3 = 3∣c 0,0 = y 0 = 1↘c 1,0 = y 1 = −1 → c 1,1 = −2↘c 2,0 = y 2 = 0 → c 2,1 = 1 → c 2,2 = 3 2↘ ↘ ↘c 3,0 = y 3 = 2 → c 3,1 = 1 → c 3,2 = 0 → c 3,3 = − 3 8Ici, on a calculé successivement, colonne par colonne,On trouve alors↘c 1,1 = c 1,0 − c 0,0x 1 − x 0= −1 − 10 − (−1) = −2,c 2,1 = c 2,0 − c 1,0x 2 − x 1= 0 − (−1)1 − 0c 3,1 = c 3,0 − c 2,0x 3 − x 2= 2 − 03 − 1 = 1,c 2,2 = c 2,1 − c 1,1x 2 − x 0= 1,= 1 − (−2)1 − (−1) = 3 2 ,c 3,2 = c 3,1 − c 2,1x 3 − x 1= 1 − 13 − 0 = 0c 3,3 = c 3,2 − c 2,2x 3 − x 0= 0 − 3 23 − (−1) = −3 8 .p(x) = 1 − 2 (x − (−1)) + 3 2 (x − (−1)) (x − 0) − 3 (x − (−1)) (x − 0) (x − 1)8= 1 − 2 (x + 1) + 3 2 (x + 1) x − 3 (x + 1) x (x − 1)8= −1 − 1 8 x + 3 2 x2 − 3 8 x3 ,et il est facile a vérifier que c’est effectivement le polynôme d’interpolation recherché.4. Approximation hilbertienneSoit I ⊆ R un intervalle et soit w : I → R une fonction continue positive (unefonction poids). On considère l’espace∫C w (I) := { f ∈ C(I) : | f (x)| 2 w(x) dx < ∞},I


16 2. INTERPOLATION ET APPROXIMATIONoù C(I) est l’espace de toutes les fonctions continues de I dans R. L’espace C w (I)sera muni du produit scalaire 〈·, ·〉 w donné par∫〈 f, g〉 w := f (x)g(x)w(x) dx ( f, g ∈ C w (I)).ILa norme associée à ce produit scalaire est la norme ‖ · ‖ w donnée par‖ f ‖ w := √ (∫12〈 f, f 〉 w = | f (x)| 2 w(x) dx).Soit F ⊆ C w (I) un sous-espace vectoriel de dimension finie, et soit f ∈ C w (I) unefonction donnée. Le probléme de la meilleure approximation de f par un élément deF est le problème de trouver une fonction p ∈ F telle que‖ f − p‖ w = infq∈F ‖ f − q‖ w,c.à.d. de trouver une fonction p ∈ F telle que la distance ‖ f − p‖ w soit minimaleparmi toutes les distances ‖ f − q‖ w (q ∈ F).4.1. Solution théorique. La proposition suivante montre que le problème de lameilleure approximation de f admet une unique solution.PROPOSITION 2.9. Soit E un espace vectoriel réel muni d’un produit scalaire 〈·, ·〉.Soit f ∈ E et soit F ⊆ E un sous-espace vectoriel de dimension finie. Alors il existeun unique élément p ∈ F telle que ‖ f − p‖ = inf q∈F ‖ f − q‖ (ici: ‖g‖ := √ 〈g, g〉). Cetélément p est appelé la projection orthogonale de f sur F. Il est caractérisée par lefait que(2.5) 〈 f − p, q〉 w = 0 pour tout q ∈ F.DÉMONSTRATION. On démontre d’abord que p ∈ F est une meilleure approximationde f dans F si et seulement si la condition (2.5) est vérifiée. En fait, p ∈ F estune meilleure approximation de f dans F si et seulement si p ∈ F etce qui est équivalent à‖ f − p‖ 2 ≤ ‖ f − q‖ 2 pour tout q ∈ F,−2〈 f, p〉 + ‖p‖ 2 ≤ −2〈 f, q〉 + ‖q‖ 2 pour tout q ∈ F.En remplaçant q ∈ F par p + q ∈ F, ceci est équivalent à〈 f − p, q〉 ≤ ‖q‖ 2 pour tout q ∈ F.Ici, on remplace q par tq (t ∈ R, t > 0), on divise par t, et on fait t tendre vers 0 pourobtenir〈 f − p, q〉 ≤ 0 pour tout q ∈ F.Finalement, en remplaçant q par −q, on obtient que p ∈ F est une meilleure approximationde f dans F si et seulement si la condition (2.5) est vérifiée.Existence et unicité d’une meilleure approximation. Soit (p i ) 0≤i≤n une base vectoriellede l’espace F (on suppose donc qu’il est de dimension n + 1. Alors toutélément p ∈ F s’écrit de la forme p = ∑ ni=0 λ i p i avec des coefficients λ i ∈ R. EnI


4. APPROXIMATION HILBERTIENNE 17plus, come (p i ) est une base vectorielle de F, la condition (2.5) est équivalente à laconditionn∑(2.6) 〈 f, p i 〉 = λ j 〈p j , p i 〉 pour tout 0 ≤ i ≤ n,j=0ce qui est un système linéaire pour le vecteur (λ 0 , . . . , λ n ). Ce système linéaire admetune unique solution (λ 0 , . . . , λ n ) si et seulement si le système homogènen∑µ j 〈p j , p i 〉 = 0 pour tout 0 ≤ i ≤ nj=0admet (µ 0 , . . . , µ n ) = (0, . . . , 0) comme seule solution. Mais ce système impliquequen∑ n∑0 = µ i µ j 〈p j , p i 〉‖i=0j=0n∑µ i p i ‖ 2 ,i=0et donc ∑ i=0 µ i p i = 0. Comme la famille (p i ) est linéairement indépendante, ontrouve (µ 0 , . . . , µ n ) = (0, . . . , 0).□La démonstration de la proposition précédente montre que p = ∑ ni=0 λ i p i estmeilleure approximation de f dans F si et seulement si (λ 0 , . . . , λ n ) est solution de(2.6). Il suffit donc de choisir une base vectorielle (p i ) de F est de résoudre lesystème linéaire (2.6). On remarque que ce système linéaire devient particulièrementsimple à résoudre si (p i ) est une base orthogonale de F, c.à.d.⎧⎪⎨ ‖p i ‖ 2 si i = j,〈p j , p i 〉 =⎪⎩ 0 si i j.COROLLAIRE 2.10. Soit (p i ) 0≤i≤n une base orthogonale de F. Alors la meilleureapproximation p de f dans F est donné parn∑ 〈 f, p i 〉p =‖p i ‖ p i.2i=04.2. Le procédé d’orthogonalisation de Gram-Schmidt. Soit E un espacevectoriel réel muni d’un produit scalaire 〈·, ·〉. Soit (e i ) i≥0 ⊆ E une famille devecteurs linéairement indépendante. Alors le procédé suivant permet de construireune famille orthonormale (p i ) i≥0 .Procédé de Gram-Schmidt. On pose d’abordẽ 0 = e 0p 0 =etẽ0‖ẽ 0 ‖ .


18 2. INTERPOLATION ET APPROXIMATIONEnsuite, pour tout i ≥ 1 on définit de manière recursive∑i−1ẽ i = e i − 〈e i , p j 〉p j etp i =ẽi‖ẽ i ‖ .C’est un exercice de montrer que pour tout i, j ≥ 0 on a⎧⎪⎨ 1 si i = j,〈p i , p j 〉 =⎪⎩ 0 si i j,j=0c.à.d. que (p i ) est une famille orthonormale. En plus, si (e i ) était une base vectorielle,alors (p i ) est une base vectorielle normale.4.3. Les polynômes orthogonaux. Soit I ⊆ R un intervalle quelconque, et soitw : I → R une fonction poids (continue, strictement positive). On suppose que,quelque soit n ∈ N,∫x n w(x) dx est absolument convergente.IDans ce cas, l’espace C w (I) contient tous les polynômes. En appliquant le procédéde Gram-Schmidt aux monômes e n (x) = x n (n ≥ 0), on obtient une famille (p n ) n≥0de polynômes orthogonales.Intervalle Poids w(x) Polynômes[−1, 1] 1 Legendre[0, ∞[ e −x LaguerreR e −x2 Hermite1] − 1, 1[ √1−x 2Tchebychev .Par exemple, pour les polynômes de Legendre, on obtientp 0 (x) =p 1 (x) =p 2 (x) =LEMME 2.11. Les polynômes orthogonaux vérifient(a) p n est un polynôme de degré n,(b) la famille (p i ) 0≤i≤n est une base orthogonale de l’espace R n [X],(c) ∫ I p n(x)q(x)w(x) dx = 0 pour tout polynôme q de degré < n.THÉORÈME 2.12. Le polynôme p n possède n racines réelles. Elles sont simples etcontenues dans l’intérieur de l’intervalle I..


DÉMONSTRATION. On peut écrire5. APPROXIMATION UNIFORME 19p n (x) =k∏(x − r i ) m ir(x)i=1où les r i sont des racines réelles distincts de multiplicité m i , et le polynôme r n’apas de racines réelles (en particulier, r a un signe). Notons r i1 , . . . , r is les racinesde p n situées à l’intérieur de l’intervalle I et de multplicités m iα impairs. Alors lepolynômeq(x) = (x − r i1 ) · · · · · (x − r is )est un polynôme de degré s, toutes les racines de q sont simples et contenues dansl’intérieur de l’intervalle I. En plus, le produit p n (x)q(x) ne change pas de signe et estnon-nulle. Donc 〈p n , q〉 0. D’après le lemme précédent (plus précisément, Lemme2.11 (c), on obtient donc que degré p n = degré q, c.à.d. que q est un polynôme dedegré = n.□5. Approximation uniformeDans cette section, on suppose que I = [a, b] est un intervalle compact. L’espaceC([a, b]) de toutes les fonctions continues [a, b] → R muni de la norme ‖ f ‖ ∞ :=sup x∈[a,b] | f (x)| est un espace vectoriel normé. Etant donnée une fonction f ∈ C([a, b]),on considère de nouveau le problème de (meilleure) approximation, mais maintenantavec la norme ‖·‖ ∞ à la place de la norme hilbertienne ‖·‖ w du paragraphe précédent.On rappelle le théorème suivant.THÉORÈME 2.13 (Weierstrass). Pour toute fonction f ∈ C([a, b]) il existe une suite(p n ) de polynômes telle que lim n→∞ ‖ f − p n ‖ ∞ = 0.


CHAPITRE 3Intégration et différentiation numérique1. Intégration approchéeSoit f : [a, b] → R une fonction continue donnée, [a, b] ⊆ R étant un intervallecompacte. On considère le problème de calculer l’intégraleI( f ) =∫ baf (x) dx.En général on cherche à trouver une valeur approchée de l’intégrale sous la formeJ( f ) =n∑λ i f (x i ),i=0où a ≤ x 0 < · · · < x n ≤ b sont des noeuds donnés (ou à choisir) et où les coefficientsλ 0 , . . . , λ n sont donnés (ou à choisir), tous les deux indépendants de la fonction f .Supposons d’abord que les noeuds a ≤ x 0 < · · · < x n ≤ b sont donnés. Commentchoisir les coefficients λ 0 , . . . , λ n de telle manière que l’erreurE( f ) = I( f ) − J( f )soit 0 pour une certaine classe de fonctions? Par exemple, comment choisir lescoefficients λ 0 , . . . , λ n de telle manière que l’erreur E( f ) = 0 pour tout polynôme dedegré inférieur ou égal à n? C.à.d. telle que la formule d’intégration approchée J( f )soit exacte pour tout polynôme de degré inférieur ou égal à n?THÉORÈME 3.1. Etant donné des noeuds a ≤ x 0 < · · · < x n ≤ b, il existe uneet une seule formule d’intégration approchée J( f ) = ∑ ni=0 λ i f (x i ) telle que l’erreurE( f ) = I( f ) − J( f ) = 0 pour tout polynôme f ∈ R n [X].DÉMONSTRATION. Existence. On pose λ i = ∫ bl a i(x) dx, oú l i est le i-éme polynômed’interpolation de Lagrange associé aux noeuds x 0 , . . . , x n . Alors, pour tout polynômef ∈ R n [X] on af (x) =n∑f (x i ) l i (x),i=021


22 3. INTÉGRATION ET DIFFÉRENTIATION NUMÉRIQUEcar l’interpolation est exacte pour tout polynôme de degré ≤ n. Donc,I( f ) ====∫ ba∫ baf (x) dxn∑f (x i ) l i (x) dxi=0n∑f (x i )i=0∫ bn∑λ i f (x i )i=0= J( f ).al i (x) dxUnicité. Soient J( f ) = ∑ ni=0 λ i f (x i ) et J ′ ( f ) = ∑ ni=0 λ ′ i f (x i) deux formules d’intégrationapprochées qui sont exactes pour tous les polynômes f ∈ R n [X], c.à.d.n∑n∑J( f ) = λ i f (x i ) = I( f ) = λ ′ i f (x i ) pour tout f ∈ R n [X].Alorsi=0i=0n∑(λ i − λ ′ i) f (x i ) = 0 pour tout f ∈ R n [X].i=0En particulier, en choississant f = l i le i-ième polynôme d’interpolation de Lagrange(qui a la propriété que l i (x j ) = δ i j pour tout 1 ≤ i, j ≤ n), on trouve qued’où l’unicité.λ i = λ ′ i,DÉFINITION 3.2. Une formule d’intégration approchée est dite d’ordre m si I( f ) =J( f ) pour tout polynôme f ∈ R m [X] et s’il existe un polynôme f ∈ R m+1 [X] tel queI( f ) J( f ).D’après le Théorème 3.1, étant donné des noeuds a ≤ x 0 < · · · < x n ≤ b, ilexiste une et une seule formule d’intégration approchée d’ordre m ≥ n. On verra quel’ordre m peut être strictement supérieur à n. Par contre, on remarque d’abord quel’ordre est toujours inférieur ou égal à 2n + 1.LEMME 3.3. Soient a ≤ x 0 < · · · < x n ≤ b des noeuds donnés et soit J( f ) =∑ ni=0 λ i f (x i ) une méthode d’intégration approchée. Alors l’ordre de cette méthodeest inférieur ou égal à 2n + 1.DÉMONSTRATION. Soitf (x) =n∏(x − x i ) 2 .i=0□


1. INTÉGRATION APPROCHÉE 23Alors f est un polynôme positif, de degré 2n+2, tel que f (x i ) = 0 pour tout 0 ≤ i ≤ n.Doncn∑J( f ) = λ i f (x i ) = 0 < I( f ).i=0Ainsi, l’ordre de J est inférieur ou égal à 2n + 1.□EXEMPLE 3.4 (Méthode des rectangles). On prend n = 0 et x 0noeud, au milieu de l’intervalle [a, b]). Alors= a+b2(un seulet doncλ 0 =∫ bal 0 (x) dx =∫ badx = b − a,J( f ) = (b − a) f ( a + b2 ).Cette formule d’intégration approchée est exacte pour les polynômes constants f ∈R 0 [X] (Théorème 3.1), mais on a aussiPar contre,J(x) = (b − a) a + b2J(x 2 (a + b)2) = (b − a)4= b2 − a 22 b3 − a 33= I(x).= I(x 2 ).Donc, l’ordre de cette formule d’intégration approchée est m = 1.EXEMPLE 3.5 (Méthode des trapézes). On prend n = 1, x 0 = a, x 1 = b (deuxnoeuds, aux extrémités de l’intervalle [a, b]). On aetDonc,λ 0 =λ 1 =∫ ba∫ bal 0 (x) dx =l 1 (x) dx =∫ ba∫ bax − ba − b dx = b − a2x − ab − a dx = b − a2 .J( f ) = b − a ( f (a) + f (b)).2Cette formule d’intégration approchée est exacte pour les polynômes f ∈ R 1 [X](Théorème 3.1), maisJ(x 2 ) I(x 2 ).L’ordre de cette formule d’intégration approchée est m = 1.


24 3. INTÉGRATION ET DIFFÉRENTIATION NUMÉRIQUEEXEMPLE 3.6 (Méthode de Simpson). On prend n = 2, x 0 = a, x 1 = a+b,et x 2 2 = b(trois noeuds, aux extrémités et au milieu de l’intervalle [a, b]). On aλ 0 =λ 1 =λ 2 =∫ ba∫ ba∫ bal 0 (x) dx = b − a6 ,l 1 (x) dx = 4 b − a6 ,l 2 (x) dx = b − a6 .DoncJ( f ) = b − a ( f (a) + 4 f ( a + b62 ) + f (b)).L’ordre de cette formule d’intégration approchée est m = 3.2. Etude de l’erreur d’intégration approchéeOn rappelle la version suivante du théorème de Taylor, et aussi le théorème de lamoyenne.oùTHÉORÈME 3.7 (Taylor). Soit f ∈ C n+1 ([a, b]). Alors pour tout x ∈ [a, b] on an∑ (x − a) k ∫ bf (x) =f (k) (x − t) n +(a) +f (n+1) (t) dt,k!n!k=0⎧⎪⎨ t si t ≥ 0,t + =⎪⎩ 0 si t < 0.THÉORÈME 3.8 (Théorème de la moyenne). Soient f , g : [a, b] → R deux fonctionscontinues. On suppose que g(x) ≥ 0 pour tout x ∈ [a, b]. Alors il existe unξ ∈ [a, b] tel que∫ baf (x)g(x) dx = f (ξ)a∫ bag(x) dx.THÉORÈME 3.9. Soient a ≤ x 0 < · · · < x n ≤ b des noeuds donnés et soit J( f ) =∑ ni=0 λ i f (x i ) une méthode d’intégration approchée d’ordre m ≥ n. SoitK(t) =∫ ba(x − t) m + dx −n∑λ i (x i − t) m +Alors, pour toute fonction f ∈ C (m+1) ([a, b]) on ai=0E( f ) = I( f ) − J( f ) =∫ baK(t)m! f (m+1) (t) dt,(t ∈ [a, b]).


et si le noyau K est positif, alors2. ETUDE DE L’ERREUR D’INTÉGRATION APPROCHÉE 25E( f ) = f (m+1) (ξ)∫ baK(t)m!dt pour un ξ ∈ [a, b].DÉMONSTRATION. D’après le Théorème de Taylor (Théorème 3.7), on am∑ (x − a) k ∫ bf (x) =f (k) (x − t) m +(a) +f (m+1) (t) dt.k!m!k=0Comme J est d’ordre m, on obtient doncE( f ) = E(x ↦→===∫ b ∫ ba∫ ba∫ ba⎛⎜⎝a∫ ba∫ ba(x − t) m +m!(x − t) m +m!(x − t) m + dx −K(t)m! f (m+1) (t) dt.f (m+1) (t) dt)af (m+1) (t) dt dx −n∑ ∫ bλ ii=0a(x i − t) m +m!⎞n∑λ i (x i − t) m +) ⎟⎠ f (m+1) (t) dti=0f (m+1) (t) dtLa deuxième représentation de l’erreur est une conséquence directe de cette premièrereprésentation et du théorème de la moyenne (Théorème 3.8).□EXEMPLE 3.10 (L’erreur dans la méthode des rectangles). Cette méthode est d’ordre1. Donc,∫ b(∫ bE( f ) = (x − t) + dx − (b − a)( a + b )− t) + ) f ′′ (t) dt2=a∫ baaK(t) f ′′ (t) dtavec⎧(t−a)⎪⎨2si t ≤ a+b2K(t) =, 2⎪⎩ (t−b) 2si t ≥ a+b.2 2Ainsi, comme le noyau K est positif et par le théorème de la moyenne,E( f ) = f ′′ (b − a)3(ξ)24pour un certain ξ ∈ [a, b].EXEMPLE 3.11 (L’erreur dans la méthode de Simpson). Cette méthode est d’ordre3. Donc,E( f ) =∫ baK(t)3!f (4) (t) dt


26 3. INTÉGRATION ET DIFFÉRENTIATION NUMÉRIQUEavec∫ bK(t) =⎧⎪⎨=⎪⎩a(x − t) 3 + dx − b − a6(b−t) 3 (2b+a−3t)12si t ≤ a+b2 ,(a−t) 3 (b+2a−3t)12si t ≥ a+b2 .( (a − t)3+ + 4 ( a + b2− t) 3 + + (b − t) 3 )+Ainsi, comme le noyau K est négatif,E( f ) = − f (4) (b − a)5(ξ)2880pour un certain ξ ∈ [a, b].3. La formule d’intégration approchée de GaussOn rappelle du Lemme 3.3 que toute méthode d’intégration approchée est auplus d’ordre 2n + 1. On peut alors se demander s’il existe une méthode d’intégrationapprochée qui est exactement d’ordre m = 2n + 1. La réponse à cette question estoui, si on choisit bien les noeuds x 0 , . . . , x n .THÉORÈME 3.12 (Gauss). Soit [a, b] = [−1, 1], et soit n ≥ 0. Alors il existe desnoeuds a ≤ x 0 < · · · < x n ≤ b et une méthode d’intégration approchée J( f ) =∑ ni=0 λ i f (x i ) qui est d’ordre 2n + 1. Plus précisément, il suffit de prendre commenoeuds les racines du n + 1-ième polynôme de Legendre L n+1 et comme méthoded’intégration approchée celle du Théorème 3.1.DÉMONSTRATION. Soit L n+1 le n + 1-ième polynôme de Legendre. On rappelle quela suite des polynômes de Legendre est obtenue par le procédé de Gram-Schmidt appliquéà la suite des monômes, en utilisant le produit scalaire 〈 f, g〉 = ∫ 1f (x)g(x) dx.−1Le polynôme L n+1 est un polynôme de degré n + 1 qui est orthogonal à tous lespolynômes de degré ≤ n (Lemme 2.11). En plus, toutes les racines de L n+1 sontsimples et contenues dans l’intervalle [−1, 1] (Théorème 2.12)Soit maintenant p un polynôme de degré ≤ 2n + 1. Une division avec restemontre quep = q L n+1 + r


pour des polynômes de degré ≤ n. AlorsI(p) ======∫ 1−1∫ 1−1∫ 1−1p(x) dxq(x)L n+1 (x) dx +r(x) dx4. DIFFÉRENTIATION NUMÉRIQUE 27∫ 1−1r(x) dx(q et L n+1 sont orthogonaux)n∑λ i r(x i ) (J est d’ordre m ≥ n)i=0n∑λ i q(x i )L n+1 (x i ) +i=0n∑λ i p(x i )i=0= J(p).n∑λ i r(x i ) (x i sont racines de L n+1 )i=0Comme p ∈ R 2n+1 [X] était arbitraire, ceci montre que J est d’ordre m ≥ 2n + 1. Parle Lemme 3.3, m ≤ 2n + 1, et donc l’ordre m = 2n + 1.□4. Différentiation numériqueEtant donné une fonction f ∈ C 1 ([a, b]) et un point x ∈ [a, b], on souhaitecalculer la dérivée L( f ) = f ′ (x). On souhaite calculer cette dérivée à l’aide d’uneformule à deux noeudsΛ( f ) = λ 0 f (a) + λ 1 f (b),où λ 0 , λ 1 sont des constantes. On veut que la formule Λ( f ) soit exacte pour tous lespolynômes de degré ≤ 1. On choississant f (x) = 1 et f (x) = x on trouve alors lesdeux conditionset donc −λ 0 = λ 1 = 1b−a . Ainsi Λ( f ) =λ 0 + λ 1 = 0λ 0 a + λ 1 b = 1,etf (b) − f (a).b − a4.1. Schéma centré. Ici, on prend x = a+b2L( f ) = f ′ ( a+b2, c.à.d. on souhaite calculer la dérivée) au milieu de l’intervalle [a, b]. Par construction, l’erreurE( f ) = L( f ) − Λ( f ) = f ′ ( a + b f (b) − f (a)) −2 b − aest nulle pour tout polynôme f de degré ≤ 1. Mais on voit facilement que E(x 2 ) = 0aussi, et que E(x 3 ) 0. On dit que la méthode de différentiation Λ( f ) est d’ordre 2.


28 3. INTÉGRATION ET DIFFÉRENTIATION NUMÉRIQUEAfin d’estimer l’erreur commise, lorsque f ∈ C 3 ([a, b]), on utilise la formule deTaylor (Théorème 3.7):oùf (x) = f (a) + f ′ (a)(x − a) + 1 2 f ′′ (a)(x − a) 2 +⎧⎪⎨ t si t ≥ 0,t + =⎪⎩ 0 si t < 0.∫ ba(x − t) 2 +2Puisque la formule de différentiation Λ( f ) est d’ordre 2, on trouveavecAinsi,ouE( f ) = E(x ↦→= d dxa∫ b∫ ba∫ ba(x − t) 2 +2(x − t) 2 +2( ∫ b(b − t) 2 +2f (3) (t) dt)f (3) (t) dt∣∣ x= a+b2− 1f (3) (t) dt −b − a a∫ b= (x − t) + f (3) (t) dt∣=aK(t) f (3) (t) dt⎧⎪⎨K(t) =⎪⎩∣ x= a+b2− (a−t)22(b−a)− (b−t)22(b−a)−− 1b − a∫ ba∫ bf (3) (t) dt,(a − t) 2 +f (3) (t) dt )2asi t ≤ a+b,2si t ≥ a+b..2(b − t) 2f (3) (t) dt2∫ bE( f ) = f (3) (ξ) K(t) dt = − f (3) (b − a)2(ξ) ,a24|E( f )| ≤ ‖ f (3) (b − a) 2‖ ∞ .244.2. Schéma décentré. Ici, x ∈ [a, b] est arbitraire. Un simple calcul montreque E( f ) = f ′ f (b)− f (a)(x) − = 0 pour f (x) = x 2 si et seulement si x = a+b (schémab−a2centré), c.à.d. la formule de différentiation Λ( f ) est d’ordre 2 si et seulement six = a+ba+b. Dans le cas x , elle est d’ordre 1.2 2Afin d’estimer l’erreur commise dans ce cas et pour une fonction f ∈ C 2 ([a, b]),on utilise la formule de Taylor (Théorème 3.7)f (x) = f (a) + f ′ (a)(x − a) +∫ ba(x − t) + f ′′ (t) dt.


4. DIFFÉRENTIATION NUMÉRIQUE 29Puisque la formule de différentiation Λ( f ) est d’ordre 1, on trouveE( f ) = E(x ↦→∫ b∫ ba(x − t) + f ′′ (t) dt)= d (x − t) + f ′′ (t) dt∣ −dx ax− 1 ( ∫ b(b − t) + f ′′ (t) dt −b − a==∫ bx∫ baaf ′′ (t) dt − 1b − aK(t) f ′′ (t) dt∫ ba∫ ba(b − t) f ′′ (t) dt(a − t) + f ′′ (t) dt )avec⎧t−a⎪⎨ si t ≤ x,b−aK(t) =⎪⎩ t−bsi t ≥ a+b..b−a2Dans ce cas on a l’estimation∫ b|E( f )| ≤ ‖ f ′′ ‖ ∞ |K(t)| dt = ‖ f ′′ b − a‖ ∞2 .a


CHAPITRE 4Résolution numérique d’équations non-linéaires dans R NDans ce chapitre on s’intéresse à résoudre l’équationf (x) = ypour une fonction f : R N → R N donnée et un vecteur y ∈ R N donné, ou l’équationg(x) = xpour une fonction g : R N → R N donnée (en fait, les fonctions f et g peuvent êtredéfinies sur un domaine de définition inclus dans R N ).1. Résolution numérique d’une équation d’une variable par dichotomie ouregula falsiOn rappelle le résultat suivant d’analyse des fonctions d’une variable réelle.THÉORÈME 4.1 (Théorème de la valeur intermédiaire). Soit f : [a, b] → R unefonction continue sur un intervalle compact. Alors pour tout f (a) ≤ η ≤ f (b) (ouf (b) ≤ η ≤ f (a), si f (b) ≤ f (a)) il existe un c ∈ [a, b] tel que f (c) = η.Comme corollaire on obtient immédiatement qu’une fonction continue f : [a, b] →R vérifiant f (a) f (b) ≤ 0 admet une solution x ∈ [a, b] de l’équation f (x) = 0. Ceciest une motivation pour l’algorithme suivant.Algorithme. On suppose que f : [a, b] → R est une fonction continue telle quef (a) f (b) ≤ 0.1ère étape. On pose a 0 = a et b 0 = b. Alors f (a 0 ) f (b 0 ) ≤ 0 (par hypothèse sur f ). Sif (a 0 ) = 0 ou f (b 0 ) = 0, alors on a déjà trouvé une solution de l’équation f (x) = 0 etl’algorithme s’arrête. Sinon, on a f (a 0 ) f (b 0 ) < 0 et on continue avec la deuxièmeétape.2ème étape. Soit k ≥ 0. On suppose que f (a k ) f (b k ) < 0 et on choisit c k ∈]a k , b k [.Alors exactement un des trois cas suivants est vérifié.Cas 1: f (c k ) = 0.Cas 2: f (a k ) f (c k ) < 0.Cas 3: f (c k ) f (b k ) < 0.Si le premier cas est vérifié, alors x = c k est une solution du problème f (x) = 0 etl’algorithme s’arrête. Sinon, dans le deuxième cas on pose a k+1 = a k et b k+1 = c k .Dans le troisième cas, on pose a k+1 = c k et b k+1 = b k . Avec ces définitions on continueavec la deuxième étape, en remplaçant k par k + 1.31


32 4. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS <strong>NON</strong>-LINÉAIRES DANS R NSoit cet algorithme s’arrête en un nombre fini d’étapes (et dans ce cas on a trouvéune solution du problème f (x) = 0), soit cet algorithme construit trois suites (a k ),(b k ) et (x k ) telles que(i) lim k→∞ a k existe (car (a k ) est une suite croissante),(ii) lim k→∞ b k existe (car (b k ) est une suite décroissante),(iii) quelque soit k ≥ 0, l’intervalle [a k , b k ] contient une solution x = x k duproblème f (x) = 0.Silim b k − a k = 0,k→∞alorsx := lim a k = lim b k = lim x k et f (x) = 0.k→∞ k→∞ k→∞Dans ce cas, l’algorithme converge donc vers une solution du problème f (x) = 0.EXEMPLE 4.2. (a) A chaque étape on choisitc k = a k + b k.2Dans cet exemple on ab k − a k = 2 −k (b − a)et donc lim k→∞ b k − a k = 0. Dans cet exemple, l’algorithme converge vers unesolution du problème f (x) = 0.(b)2. Approximations successivesTHÉORÈME 4.3 (Théorème du point fixe de Banach).3. Méthode de Newton4. Méthode de plus grande descente


CHAPITRE 5Résolution numérique d’équations différentielles ordinairesDans ce chapitre, soit f : R × R N → R N , f = f (t, x), une fonction continuedonnée, soit t 0 ∈ R un temps initial et x 0 ∈ R N une donnée initiale. On cherche àrésoudre l’équation différentielle ordinaire⎧⎪⎨ ẋ(t) = f (t, x(t))(5.1)⎪⎩ x(t 0 ) = x 0 .On rappelle le thèoreme d’existence locale de Peano.THÉORÈME 5.1 (Peano). L’équation différentielle (5.1) admet toujours une solutionlocale, c.à.d. il existe un intervalle I ⊆ R qui est un voisinage de t 0 , et il existeune fonction x : I → R N de classe C 1 telle que ẋ(t) = f (t, x(t)) pour tout t ∈ I etx(t 0 ) = x 0 .DÉMONSTRATION CONSTRUCTIVE. On choisit τ > 0 et r > 0. Comme f est continue,on aM := sup ‖ f (t, x)‖ < +∞.|t−t 0 |≤τ‖x−x 0 ‖≤rEn choississant τ > 0 plus petit, si nécessaire, on peut supposer que τM ≤ r.Soit n ≥ 1. On pose t k := t 0 + kτ (k = 0, . . . , n). Ensuite, on définit une fonctionnx n : [t 0 , t 0 + τ] → R N en posant(5.2)x n (t 0 ) = x 0etx n (t k+1 ) = x n (t k ) + τ n f (t k, x n (t k )) pour k = 0, . . . , n − 1,et en prolongeant x n en une fonction affine par morceaux, c.à.d. affine sur les intervalles[t k , t k+1 ]:x n (t) = x n (t k ) + (x n (t k+1 ) − x n (t k ))(t − t 0 − kτ n )(5.3)= x n (t k ) + τ n f (t k, x n (t k ))(t − t 0 ) si t ∈ [t k , t k+1 ].On montre que pour tout n ≥ 1 et tout k = 0, . . . , n, on a(5.4) ‖x n (t k ) − x 0 ‖ ≤ k n r.33


34 5. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES ORDINAIRESPour cela, on fixe n ≥ 1. Par définition de x n , l’estimation (5.4) est vraie pour k = 0.On suppose alors qu’elle est vraie pour un k ∈ {0, . . . , n − 1}. Alors‖x n (t k+1 ) − x 0 ‖ ≤ ‖x n (t k ) − x 0 ‖ + ‖ τ n f (t k, x n (t k ))‖≤ k n r + τ n M≤ k n r + 1 n r≤ k + 1nOn a donc démontré (5.4) par récurrence.De l’estimation (5.4) on obtient que pour tout n ≥ 1 et tout t ∈ [t 0 , t 0 + τ]r.|t − t 0 | ≤ τ, ‖x(t) − x 0 ‖ ≤ r et ‖ f (t, x(t))‖ ≤ M.En particulier, la suite (x n ) est bornée dans C([t 0 , t 0 + τ]; R N ). On montre ensuite quepour tout n ≥ 1 et tout s, t ∈ [t 0 , t 0 + τ] (s ≤ t) on aoùAinsi,x n (t) = x n (s) +∫ tsˆx n (r) dr,ˆx n (t) = f (t k , x n (t k )) si t ∈ [t k , t k+1 ].‖x n (t) − x n (s)‖ ≤ M |t − s|pour tout s, t ∈ [t 0 , t 0 + τ],c.à.d. les x n sont lipschitziennes avec une constante de Lipschitz qui ne dépend pasde n.On montre finalement que (x n ) admet une sous-suite convergente et que la limitex de cette sous-suite est une solution de l’équation différentielle (5.1). □1. Le schéma d’Euler explicite ou impliciteLe schéma (5.2) est appelé le schéma d’Euler explicite. L’idée de ce schéma estsimple: on remplace dans l’équation différentielle ẋ(t) = f (t, x(t)) la dérivée ẋ en unpoint t k par la différence finie n τ (x n(t k+1 ) − x n (t k )), et on résoud l’équationnτ (x n(t k+1 ) − x n (t k )) = f (t k , x n (t k ))de manière récursive. La démonstration du Théorème de Peano montre que les solutionsapprochées x n ainsi construites convergent uniformément (après passage à unesous-suite) vers une solution exacte x de l’équation différentielle (5.1).On note, sans démonstration, que l’on peut remplacer dans la définition des solutionsapprochées les subdivisions équi-distantes par des subdivisions quelconques


1. LE SCHÉMA D’EULER EXPLICITE OU IMPLICITE 35σ : t 0 < t 1 < · · · < t n = t 0 + τ de l’intervalle [t 0 , t 0 + τ]. Pour une telle subdivision σla solution approchée associée est définie parx σ (t 0 ) = x 0 et(5.5)x σ (t k+1 ) = x σ (t k ) + h k f (t k , x σ (t k )) pour k = 0, . . . , n − 1,où h k est le pas :h k := t k+1 − t k (k = 0, . . . , n − 1).Le schéma (5.5) est aussi appelé schéma d’Euler explicite. On appelle |σ| := sup k h kla norme de la subdivision σ. Alors (x σ ) admet une “sous-suite” qui converge(lorsque |σ| → 0) vers une solution x du problème (5.1).On peut motiver le schéma d’Euler aussi en remarquant que pour toute solutionx du problème (5.1) et toute subdivision σ : t 0 < t 1 < · · · < t n = τ de l’intervalle[t 0 , t 0 + τ] on ax(t 0 ) = x 0 et(5.6)x(t k+1 ) = x(t k ) +∫ tk+1t kf (t, x(t)) dt pour k = 0, . . . , n − 1.Ensuite, en remplaçant l’intégrale ∫ t k+1f (t, x(t)) dt par ht k f (t k , x(t k )) (méthode deskrectangles à gauche), on trouve le schéma d’Euler explicite (5.5). Si on remplacel’intégrale ∫ t k+1f (t, x(t)) dt par ht k f (t k+1 , x(t k+1 )) (méthode des rectangles à droite),kon trouve le schéma d’Euler implicite :x σ (t 0 ) = x 0 et(5.7)x σ (t k+1 ) = x σ (t k ) + h k f (t k+1 , x σ (t k+1 )) pour k = 0, . . . , n − 1.Afin de trouver x σ (t k+1 ) dans ce schéma implicite, il faut dans chaque itérationrésoudre une équation non-linéaire. Ceci est à première vue plus difficile que seulementévaluer f (t k , x σ (t k )), mais il y a des situations où il est préferable d’utiliser unschéma implicite.Estimation de l’erreur. Dans la suite, on fixe une subdivision σ : t 0 < t 1 < · · ·


36 5. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES ORDINAIRESREMARQUE 5.2. Sous l’hypothèse (5.9) on peut montrer que la solution locale xconstruit dans le Théorème de Peano est (localement) unique dans le sens que siy : [t 0 , t 0 + τ ′ ] → R N est une deuxième solution de (5.1) et si τ ′ ≤ τ, alors y(t) = x(t)pour tout t ∈ [t 0 , t 0 + τ ′ ] (Théorème de Cauchy-Lipschitz).(5.10)On définit aussi l’erreur de troncatureε k+1 := 1 h k(x(tk+1 ) − x(t k ) − h k f (t k , x(t k )) )= 1 h k( ∫ t k+1t kf (t, x(t)) dt − h k f (t k , x(t k )) ) .Finalement, étan donné une fonction g ∈ C([t 0 , t 0 +τ]; R N ) et une constante δ > 0,on définit le module de continuitéω(g, δ) :=max ‖g(t) − g(s)‖.t,s∈[t 0 ,t 0 +τ]|t−s|≤δAvec cette définition, l’erreur de troncature peut être majoré par|ε k+1 | = ∣ ∫ 1tk+1∣ (ẋ(t) − ẋ(t k )) dt ∣ ∣ ≤ ω(ẋ, |σ|), k = 0, . . . , n − 1.h k t kComme ẋ est uniformément continue, on a lim |σ|→0 ω(ẋ, |σ|) = 0. Supposons en plusque f est de classe C 1 . Alors la solution x de (5.1) est de classe C 2 et on aẍ(t) = ∂ f ∂ f(t, x(t)) + (t, x(t)) f (t, x(t)).∂t ∂xEn utilisant la formule de Taylor, on en déduit|ε k+1 | = ∣ ∫1 ∣ t k+1 (t k+1 − t)ẍ(t) dt ∣ ∫ tk+1∣ ≤ |ẍ(t)| dt.h k t k t kAinsi,e k+1 = e k + h k ( f (t k , y(t k )) − f (t k , x σ (t k ))) + h k ε k+1 .Ceci implique, comme f est lipschitzienne,‖e k ‖ ≤

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!