Chap 2 : Interpolation polynomiale - Lama
Transcription
Chap 2 : Interpolation polynomiale - Lama
Université Savoie – Mont Blanc L3 MASS Chap 2 : Interpolation polynomiale But : Étant donnés n + 1 points {(xi , yi )}ni=0 , on cherche p telle que p(xi ) = yi Applications potentielles : • on se donne (xi , yi ) résultats de mesures expérimentales, on cherche une fonction p la plus simple possible telle que p(xi ) = yi pour pouvoir ensuite extrapoler à d’autres valeurs de x. • on se donne une application f "compliquée", on cherche une application p qui vérifie p(xi ) = f (xi ) et qui soit plus simple à manipuler, par exemple pour faire des calculs d’intégrales (c.f chapitre suivant). 1 Introduction, étude théorique de l’interpolation de Lagrange Définition : Soient n ∈ N, (xi , yi ) ∈ R2 pour tout 0 ≤ i ≤ n, avec xi 6= xj ∀i 6= j. On appelle polynôme d’interpolation de Lagrange aux points (xi , yi ) le polynôme p ∈ Rn [X] tel que : ∀i, p(xi ) = yi . Les points (xi , yi ) sont appelés points d’interpolation. Définition : Soient I un intervalle de R non vide, (xi )ni=0 n + 1 points distincts dans I et f une application sur I. On appelle polynôme d’interpolation de Lagrange de f aux points (xi ) le polynôme d’interpolation de Lagrange aux points (xi , f (xi )). Un peu d’algèbre linéaire : • on note E i avec i ∈ {0, . . . , n} les vecteurs de la base canonique de Rn+1 , i.e. 0 .. . i ∀i = 0, . . . , n, E = 1 ← ième position. . .. 0 1 • on note Rn [X] l’ensemble des polynômes à coefficients réels de degré inférieur ou égal à n. Muni de l’addition sur les polynômes et de la multiplication par des scalaires réels, (Rn [X], +, .) est un R-espace vectoriel de dimension n + 1. • une base de Rn [X] est donnée par (1, X, . . . , X n ) (cette base particulière est appelée base canonique de Rn [X]). 1.1 Existence et unicité d’une solution Théorème 1 Soient n ∈ N, n + 1 points distincts x0 < x1 < . . . < xn et y0 , y1 , . . . , yn (n + 1) autres réels. Alors il existe un unique polynôme de degré inférieur ou égal à n tel que ∀i ∈ {0, . . . , n}, p(xi ) = yi . Preuve. On pose ϕ : Rn [X] −→ Rn+1 p 7−→ ϕ(p) = (p(x0 ), . . . , p(xn )). L’existence d’un polynôme d’interpolation revient donc à montrer que ϕ est surjective tandis que l’unicité découle de l’injectivité de ϕ. Comme ϕ est une application linéaire entre deux espaces vectoriels de même dimension, on est alors ramené à étudier l’injectivité de ϕ. Montrons donc que kerϕ est réduit à {0} et pour cela considérons p ∈ kerϕ. p satisfait ainsi p(x0 ) = . . . = p(xn ) = 0 et on a trouvé n + 1 racines réelles distinctes du polynôme p qui est de degré au plus n. Ceci impose p ≡ 0, ϕ est donc injective. Calcul direct du polynôme d’interpolation de Lagrange Une méthode naïve pour calculer le polynôme d’interpolation de Lagrange p(x) = n X ak xk k=0 consiste à écrire les n + 1 conditions p(xi ) = yi et à résoudre le système linéaire de taille (n + 1)2 dont les n + 1 inconnues sont a0 , . . . , an . Ce système s’écrit sous forme matricielle 1 x0 . . . xn0 a0 y0 1 x1 . . . xn1 a1 y1 . . .. .. = .. . . . . . . . . . . . 1 xn . . . xnn La matrice an 1 x0 1 x1 V (x0 , x1 , . . . , xn ) = . . .. .. 1 xn 2 yn . . . xn0 . . . xn1 .. ... . . . . xnn est la matrice de Vandermonde aux points x0 , x1 , . . . , xn . On rappelle que c’est une matrice inversible pourvu que les xi soient deux à deux distincts. Exercice 1 Calculer par la méthode directe le polynôme d’interpolation de Lagrange qui en −1 vaut 2, en 0 vaut 2 et en 2 vaut −3. Remarque La méthode de Gauss nécessite (sauf structure particulière de la matrice) de 2(n + 1)3 opérations. l’ordre de 3 Par ailleurs les matrices de Vandermonde sont peu adaptées au calcul numérique (elles sont mal conditionnées). Exercice 2 On pose ψ : R3 [X] −→ R4 p 7−→ ψ(p) = (p(0), p0 (0), p(−1), p(1)). 1. Montrer que ψ est linéaire et bijective. 2. Déterminer la matrice A de ψ dans les bases canoniques B1 = (1, X, X 2 , X 3 ) de R3 [X] et B2 = (E 0 , E 1 , E 1 , E 3 ) de R4 . Retrouver le fait que ψ est bijective. 3. On pose q1 = x(x2 − 1), q2 = x2 (x − 1). (a) Calculer l’image par ψ de q1 et q2 . (b) Déterminer s0 , s1 , s2 , s3 tels que ψ(sj ) = E j ∀j = 0, . . . , 3. (c) Soit f : [−1, 1] → R de classe C 1 . Justifier l’existence d’un unique polynôme p ∈ R3 [X] tel que p(−1) = f (−1), p(0) = f (0), p(1) = f (1), p0 (0) = f 0 (0) et exprimer p en fonction de s0 , s1 , s2 et s3 . 1.2 Étude de l’erreur Théorème 2 (Erreur d’interpolation de Lagrange) Soit f : [a, b] → R une application continue sur [a, b] de classe C n+1 sur ]a, b[. Soient x0 < . . . < xn , n + 1 réels distincts dans [a, b]. Soient p le polynôme d’interpolation de Lagrange de f aux points (xi ) et e l’erreur qu’on définit par e(x) = f (x) − p(x). Alors pour tout x ∈ [a, b], il existe cx ∈ ] min{x, x0 }, max{x, xn }[ tel que e(x) = f (n+1) (cx ) π(x), (n + 1)! avec π(x) = Y (x − xi ). i 3 Rappel sur le théorème de Rolle Soit f une application continue sur [a, b] dérivable sur ]a, b[ avec f (a) = f (b). Alors il existe c ∈ [a, b] tel que f 0 (c) = 0. Preuve. • Supposons x = xi pour i ∈ {0, . . . , n} alors on a ( e(xi ) = 0 π(xi ) = 0 donc l’égalité est trivialement vérifiée pour tout cx ∈ I. • Si maintenant x ∈ I \ {x0 , . . . , xn }, on pose ax = min{x, x0 }, bx = max{x, xn } et Fx (y) = e(y) − e(x) π(y) , π(x) ∀y ∈]ax , bx [. Comme f est de classe C n+1 , Fx aussi par composition et e(x) (n+1) π (y) π(x) e(x) (n+1) π (y) = f (n+1) (y) − p(n+1) − π(x) e(x) = f (n+1) (y) − 0 − (n + 1)!. π(x) F (n+1) (y) = e(n+1) (y) − Dans la dernière égalité on a utilisé le fait que p était un polynôme de degré n et que π est de degré n + 1 avec un coefficient dominant égal à 1. Supposons que F (n+1) s’annule sur I en un point noté cx , on a Fx(n+1) (cx ) = 0 ⇐⇒ f (n+1) (cx ) − e(x) (n + 1)! = 0. π(x) (n+1) Le théorème est donc démontré si on arrive à prouver qu’il existe un zéro de Fx I. Montrons par récurrence que sur pour tout k ∈ {1, . . . , n + 1}, F (k) s’annule au moins n + 2 − k fois sur ]ax , bx [ – initialisation : on sait que pour tout i ∈ {0, . . . , n}, e(xi ) = π(xi ) = 0 donc Fx (xi ) = 0. On a déjà n + 1 zéros de Fx . De plus Fx (x) = e(x) − e(x) = 0, donc Fx s’annule au moins n + 2 fois sur I. On note c00 < c01 < . . . < c0n+1 ces n + 2 zéros. Appliquons le théorème de Rolle sur chaque intervalle [c0j , c0j+1 ] : il existe c1j ∈ [c0j , c0j+1 ] tel que Fx0 (c1j ) = 0. Ceci nous donne bien n + 1 zéros de Fx0 et la propriété au rang initial est bien démontrée. 4 – hérédité : on suppose que la propriété est satisfaite au rang k et on note ck0 < ck1 < . . . < ckn+1−k les n + 2 − k zéros de F (k) . On applique alors le théorème de Rolle sur chaque intervalle [ckj , ckj+1 ], j ∈ {0, n − k} : il existe ck+1 ∈ [ckj , ckj+1 ] tel que j k+1 F (k+1) (cj ) = 0. Au final ou trouve n − k + 1 zéros de F (k+1) et la propriété est satisfaite au rang k + 1. Ainsi par la propriété précédente, on assure qu’il existe au moins n + 2 − (n + 1) = 1 zéro de F (n+1) sur I ce qui achève la démonstration du théorème. Corollaire 1 Sous les hypothèses du théorème précédent on a l’estimation d’erreur suivante ∀x ∈ [a, b], Mn+1 (b − a)n+1 Mn+1 |π(x)| ≤ (n + 1)! (n + 1)! Mn+1 = max f (n+1) (x) |e(x)| ≤ où x∈[a,b] Remarque importante : Le corollaire précédent permet d’affirmer que si f est C ∞ alors en faisant tendre n vers +∞, p(x) converge vers f (x) pour tout x ∈ [a, b] pourvu que Mn+1 ne tende pas vers +∞ (ou au moins lentement). Pour le voir il suffit d’utiliser la formule de Stirling. Dans le cas général, la convergence n’est pas assurée ! Il n’y a pas convergence par exemple lorsqu’on interpole f (x) = 1/(x2 + 1) au voisinage de 0 avec des points régulièrement espacés. C’est ce qu’on appelle le phénomène de Runge. 1.2.1 Erreur pour des points régulièrement espacés Lorsque les points d’interpolation sont équidistants, une majoration de |π(x)| un peu plus fine conduit au résultat suivant. 5 Proposition 1 Pour n ≥ 1, sous les hypothèses du corollaire 1, si en outre les points d’interpolation sont équidistants i.e xi = a + ih alors ∀x ∈ [a, b], avec h = Mn+1 n+1 h (n + 1) |e(x)| ≤ b−a h avec Mn+1 = max f (n+1) (x) . x∈[a,b] Idée de la preuve. Soit x ∈ [a, b], il existe sx ∈ [0, n] tel que x = a + sx h et on a π(x) = Y Y (x − xi ) = hn+1 (sx − i). i i Donc n+1 |π(x)| ≤ h n Y max |sx − i|. i=0 Q On peut alors montrer que l’application s 7→ i |s − i| atteint son maximum sur [0, 1] ce qui implique que max |s − i| ≤ i pour tout i = 0, . . . , n. On obtient max |sx − i| ≤ n! ce qui au final donne l’estimation |e(x)| ≤ 1.2.2 Mn+1 Mn+1 n+1 × hn+1 n! = h . (n + 1)! (n + 1) Choix des points d’interpolation On se demande si, indépendamment de la fonction f , on peut réduire l’erreur en jouant sur le choix des n + 1 points d’interpolation. On va donc s’intéresser aux choix des (xi ) qui rendent minimale la quantité max |f (x) − p(x)|. x∈[a,b] Dans un premier temps, on pourrait penser que le meilleur choix est de répartir les points uniformément dans [a, b]. On verra en TP qu’il n’en est rien et qu’il est plus intéressant de mettre davantage de points d’interpolation sur le bord de l’intervalle et moins vers le centre. On arrive ainsi à une meilleurs répartition de l’erreur sur l’intervalle [a, b]. Définition On appelle points d’interpolation de Tchebytchev sur [a, b] les points xi donnés par a+b b−a 2i + 1 π xi = + cos . 2 2 n+1 2 6 Théorème 3 Soit n ∈ N. On note Pn+1 l’ensemble des polynômes de degré n + 1 admettant n + 1 racines distinctes dans l’intervalle [a, b] et dont le coefficient du monôme de degré n + 1 est égal à 1. Alors il existe un unique πT tel que ∀π ∈ Pn+1 , max |πT (x)| = 2 x∈[a,b] Ce polynôme est donné par πT (x) = b−a 4 n+1 ≤ max |π(x)|. x∈[a,b] n Y (x − xi ) i=0 où les xi sont les points d’interpolation de Tchebytchev. Comparaison des polynômes π en fonction des points d’interpolation 7 Exercice 3 Soient f une fonction de classe C 2 sur [−1, 1] et α ∈]0, 1]. On considère le polynôme d’interpolation de Lagrange de f aux points −α, α et on pose M2 = max |f 00 (x)|. x∈[−1,1] On note e(x) = f − p l’erreur d’interpolation. 1. Vérifier que ∀x ∈ [−1, 1], |e(x)| ≤ M2 2 |x − α2 |. 2 2. Montrer que M2 max{α2 , 1 − α2 } 2 x∈[−1,1] Z 1 1/2 1/2 M2 2 4α2 2 4 |e(x)| dx ≤ − + 2α 2 5 3 −1 Z 1 2 M2 8 3 2 α − 2α + |e(x)|dx ≤ 2 3 3 −1 max |e(x)| ≤ 3. Dans chacun de ces trois cas déterminer α tel que le majorant de l’erreur soit minimal. Préciser alors le majorant. 2 Méthodes efficaces pour calculer le polynôme d’interpolation de Lagrange 2.1 Polynômes de Lagrange Une autre méthode consiste à réutiliser l’isomorphisme ϕ ϕ : Rn [X] −→ Rn+1 (1) p 7−→ ϕ(p) = (p(x0 ), . . . , p(xn )). (2) défini pour montrer l’existence du polynôme interpolateur au théorème 1. Grâce à ϕ on va pouvoir construire une base de Rn [x] plus appropriée que la base canonique pour exprimer le polynôme d’interpolation de Lagrange p : étant donnés x0 < . . . < xn , et y0 , . . . , yn , le polynôme d’interpolation de Lagrange aux points (xi , yi ) est défini par p = ϕ−1 (y0 , · · · , yn ). Le vecteur (y0 , . . . , yn ) s’écrit dans la base canonique (E 0 , . . . , E n ) de Rn+1 (y0 , . . . , yn ) = n X yi E i . i=0 Par linéarité de l’application ϕ−1 on a n n X X p = ϕ−1 ( yi E i ) = yi ϕ−1 (E i ). i=0 i=0 8 Par définition de ϕ, chaque polynôme ϕ−1 (E i ) est l’unique polynôme de degré au plus n tel que ( 1 si j = i −1 i ∀j = 0, . . . , n, ϕ (E )(xj ) = 0 si j 6= i Définition : Les polynômes li = ϕ−1 (E i ) sont appelés polynômes de Lagrange aux points (xi ). Théorème 4 Soient x0 < . . . < xn , n + 1 réels distincts. Les polynômes de Lagrange aux points (xi ) s’écrivent n Y x − xj ∀i ∈ {0, . . . , n}, li (x) = . xi − xj j=0,j6=i La famille (l0 , . . . , ln ) formée par ces polynômes est une base de Rn [x], et pour tous réels y0 , . . . , yn , le polynôme d’interpolation de Lagrange aux points (xi , yi ) s’écrit p= n X yi li . i=0 Dans le cas de l’interpolation d’une fonction f aux points xi , cette formule devient p= n X f (xi )li . i=0 Les formules ci-dessus sont appelées formes de Lagrange du polynôme d’interpolation. Exemple : pour n = 2 le polynôme d’interpolation de Lagrange aux points (xi , yi )ni=0 s’écrit p(x) = y0 (x − x0 )(x − x2 ) (x − x0 )(x − x1 ) (x − x1 )(x − x2 ) + y1 + y2 . (x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 ) Exercice 4 Retrouver grâce à la méthode des polynômes de Lagrange le polynôme d’interpolation de Lagrange qui en −1 vaut 2, en 0 vaut 2 et en 2 vaut −3. Exercice 5 Construire le polynôme p qui interpole les points (0, 2), (1, 1), (2, 2), (3, 3) par la méthode directe puis la méthode de Lagrange. Nombre d’opérations nécessaires : on peut peut réécrire la forme de Lagrange du polynôme d’interpolation n X yi ci p(x) = π(x) x − xi i=0 où π(x) = n Y (x − xj ), 1 . j=0,j6=i (xi − xj ) ci = Qn j=0 9 Proposition 2 Le calcul du polynôme p d’interpolation de Lagrange aux points (xi , yi )ni=0 nécessite • de l’ordre de n2 opérations une fois pour toutes. • 4n opérations par évaluation de p. −→ c’est beaucoup mieux que la méthode directe ! 2.2 Différences divisées de Newton Par analogie avec l’écriture des polynôme de Rn [X] dans la base canonique (1, X, . . . , X n ), le principe est d’écrire le polynôme d’interpolation dans la base des (π0 , . . . , πn ) où πi (x) = i−1 Y (x − xj ). j=0 La méthode des différences divisées de Newton repose sur une construction par récurrence des polynômes d’interpolation, c’est un algorithme efficace de détermination des coefficients du polynôme d’interpolation dans cette base. 2.2.1 Principe Cas n = 2 : Regardons comment l’algorithme fonctionne pour une interpolation sur 3 points : (x0 , y0 ), (x1 , y1 ) et (x2 , y2 ) avec x0 , x1 , x2 deux à deux distincts. • Le polynôme d’interpolation de degré 1 pour les deux premiers points, noté p0,1 est tel que ( p0,1 (x0 ) = y0 . p0,1 (x1 ) = y1 p0,1 est donc une droite qui passe par (x0 , y0 ) et (x1 , y1 ) et s’écrit p0,1 (x) = y0 + y1 − y0 (x − x0 ) = y0 + y0,1 (x − x0 ). x1 − x0 • Cherchons à présent le polynôme p d’interpolation de degré 2 pour les trois points (xi , yi )i=0,...,2 sous la forme p0,1,2 (x) = p0,1 (x) + ax2 + bx + c avec a, b, c ∈ R. Comme on veut que p(x0 ) = y0 et p(x1 ) = y1 ceci impose ax20 + bx0 + c = 0 et ax21 + bx1 + c = 0. Donc p se réécrit sous la forme p0,1,2 (x) = p0,1 (x) + α(x − x0 )(x − x1 ) avec α ∈ R. • Il reste donc à déterminer α pour assurer la dernière condition p(x2 ) = y2 . En résolvant l’équation on trouve y1,2 − y1,0 1 y2 − y1 y1 − y0 α= − = . x2 − x0 x2 − x1 x1 − x0 x2 − x0 10 Cas général Lemme 1 Le polynôme d’interpolation aux points (xi , yi ) peut s’écrire p(x) = y0 + n X y0,...,i πi (x) où πi (x) = i=0 i−1 Y (x − xj ). j=0 Définition La famille (π0 , . . . , πn ) est appelée base de Newton. Lemme 2 Pour tous j, k ∈ {0, . . . , n} tels que j < k on a • pj,...,k (x) = • yj,...,k = 2.2.2 (x − xj )pj+1,...,k (x) − (x − xk )pj,...,k−1 pour tout x ∈ R. xk − xj yj+1,...,k − yj,...,k−1 . xk − xj Mise en pratique Définition : Les coefficients yj,...,k sont appelés différences divisées d’ordre k − j aux points (xi , yi )i=j,...,k . Lorsqu’on interpole une application f , on définit les différences divisées de la façon suivante Définition : Soient une application f , et x0 < . . . < xn n+1 réels dans l’ensemble de définition de f . Les différences divisées aux points d’interpolation (xi , f (xi ))i=j,...,k sont notées f [xj , . . . , xk ] = yj,...,k (où donc yi = f (xi )) et sont appelées différences divisées de f aux points d’interpolation (xi )j≤i≤k . Le calcul des différences divisées d’ordre k s’effectue des différences divisées d’ordre k − 1. Le lemme 2 permet de calculer par une récurrence finie les coefficients y0,1,...,k , 0 ≤ k ≤ n nécessaires au calcul de p pour i de 1 à n pour j de 0 à n − i yj+1,...,j+i − yj,...,j+i−1 . yj,...,j+i = xj+i − xj Une fois les y0,1,...,i calculés pour tout i ∈ {1, . . . , n}, le lemme 1 permet d’évaluer le polynôme d’interpolation. Pour diminuer le nombre de calculs, on ne calcule pas chaque πi (x) séparément, on tire partie du fait que x − xj se factorise dans chaque πi tel que i > j pour réécrire l’égalité du lemme 1 p(x) = y0 + (x − x0 )[y0,1 + (x − x1 )[y0,1,2 + (x − x2 )(. . .)]]. 11 Définition : Cette formule est appelée forme de Newton du polynôme d’interpolation. Mise en oeuvre sur un exemple on veut déterminer le polynôme d’interpolation de Lagrange aux points (0, 1), (1, 3), (2, −1), (4, 9). On commence par remplir le tableau avec les données i xi yi 0 1 2 3 0 1 2 4 1 3 −1 9 yi−1,i yi−2,i−1,i on calcule les différences divisées d’ordre 1 y0,1 = y1,2 = y2,3 = yi−3,i−2,i−1,i 3−1 =2 1−0 −1 − 3 = −4 2−1 9+1 =5 4−2 ce qui permet de remplir la troisième colonne du tableau i xi yi yi−1,i 0 1 2 3 0 1 2 4 1 3 −1 9 2 -4 5 yi−2,i−1,i yi−3,i−2,i−1,i on détermine alors les différences divisées d’ordre 2 −4 − 2 y0,1,2 = = −3 2−0 5+4 =3 y1,2,3 = 4−1 i xi yi yi−1,i yi−2,i−1,i 0 1 2 3 0 1 2 4 1 3 −1 9 2 −4 5 −3 3 enfin la différence divisée d’ordre 3 donne y0,1,2,3 = 3+3 3 = 4−0 2 12 yi−3,i−2,i−1,i i xi yi yi−1,i yi−2,i−1,i 0 1 2 0 1 2 1 3 −1 2 −4 −3 3 4 9 5 3 yi−3,i−2,i−1,i 3 2 Au final p(x) = 3 X y0,...,i πi (x) i=0 =y0 π0 (x) + y0,1 π1 (x) + y0,1,2 π2 (x) + y0,1,2,3 π3 (x) 3 =1 + 2x − 3x(x − 1) + x(x − 1)(x − 2). 2 Exercice 6 On veut calculer le polynôme d’interpolation de Lagrange de la fonction f (x) = π sin(x) en les trois points xi = i, i ∈ {0, 1, 2}. 2 1. Calculer le polynôme interpolateur par la méthode de Lagrange puis la méthode des différences divisées de Newton. 3π 2. On rajoute le point x3 = . Déterminer le nouveau polynôme interpolateur grâce à la 2 méthode des différences divisées de Newton. Commentaires • en nombre d’opérations la méthode des différences divisées de Newton est un tout petit peu plus avantageuse. • si les xi sont équirépartis,le calcul des différences divisées devient nettement plus rapide car on divise à chaque fois par la même quantité h. • ce qui rend plus intéressante la méthode des différences divisées de Newton par rapport aux polynômes de Lagrange est surtout le fait qu’on puisse rajouter des points d’interpolation supplémentaires pour créer un nouveau polynôme d’interpolation sans recalculer tous les coefficients. Exercice 7 1. Soit f : [0, 4] −→ R une application telle que f (0) = 1, f (1) = 4, f (3) = 0, f (4) = 4. Appliquer la méthode des différences divisées pour calculer le polynôme d’interpolation de Lagrange de f aux points 0, 1, 3, 4 sous forme de Newton. 13 2. On suppose que f est C ∞ et que ∗ ∀n ∈ N , ∀x ∈ [0, 4], (n) 1 f (x) ≤ . n Donner une majoration aussi précise que possible de l’erreur commise lorsqu’on approche f (2) par p(2). Exercice 8 Soient f (x) = cos(x) et g(x) = exp(3x) définies sur [0, 1]. Estimer le nombre minimum de points pour que l’erreur entre la fonction et son polynôme d’interpolation de Lagrange soit inférieure à 0, 1 puis 0, 01. Exercice 9 On pose f (x) = 1. Calculer la valeur exacte de Z 1 1−x 2/3 f (x) dx. I= 0 Dans la suite on souhaite donner une valeur approchée de I. 2. Calculer le polynôme interpolateur pl ∈ R2 [X] de Lagrange de f aux points 0, 1/3, 2/3. 3. Déterminer des coefficients c0 , c1 , c2 tels que pour tout polynôme de R2 [X] on ait l’égalité 2 Z p(x) dx = c0 p(0) + c1 p(1) + c2 p(2). 0 4. En déduire d0 , d1 , d2 tels que pour tout polynôme de R2 [X] on ait l’égalité Z 2/3 p(x) dx = d0 p(0) + d1 p(1/3) + d2 p(2/3). 0 5. Trouver une méthode pour approcher I se basant sur l’interpolation de f par pl . 3 Stabilité Soient f : I → R une fonction de classe C n+1 (I) et (xi )i=0,...,n n+1 point distincts de I. On suppose qu’en raison d’erreurs d’arrondis ou d’incertitude dans les mesures, les valeurs exactes f (xi ) sont perturbées. On se demande comment le polynôme d’interpolation de Lagrange p répercute ces perturbations. Plus précisément, on considère le polynôme p̃ qui interpole les points (xi , f˜(xi )), f˜(xi ) étant les valeurs perturbées des f (xi ) et on s’intéresse à l’écart entre p et p̃ sur l’intervalle I en espérant que des petits écarts |f (xi ) − f˜(xi )| engendrent des petites erreurs |p(x) − p̃(x)|. C’est ce qui définit la stabilité d’une méthode. 14 Proposition 3 On a l’estimation suivante n X max |p(x) − p̃(x)| = max f (xi ) − f˜(xi ) li (x) x∈I x∈I i=0 ≤ Λ max |f (xi ) − f˜(xi )| i=0,...,n où Λ = max x∈I n X |li (x)|. i=0 Λ est appelée constante de Lebesgue (elle dépend des noeuds d’interpolation). Cette estimation montre que des petites perturbations sur les valeurs nodales f (xi ) entraînent des petites variations sur le polynôme d’interpolation de Lagrange pourvu que la constante de Lebesgue Λ soit petite. La constante de Lebesgue mesure donc le conditionnement du problème d’interpolation. Pour des points équirépartis a 2n+1 Λ' (ln(n) + γ)ne où e ' 2, 72 et γ ' 0, 55 sont respectivement le nombre de Néper et la constante d’Euler. Quand le nombre de points n devient grand, l’interpolation de Lagrange sur des noeuds équirépartis peut donc être instable (Λ → +∞ quand n → +∞). 4 Interpolation par intervalles, interpolation composite On a mis en évidence le fait qu’on ne peut pas garantir la convergence uniforme du polynôme de Lagrange vers f quand les points d’interpolation sont équirépartis. L’interpolation de Lagrange de bas degré est cependant suffisamment précise quand elle est utilisée sur des intervalles assez petits, y compris avec des noeuds équi-répartis, ce qui est commode en pratique. Il est donc naturel d’introduire une partition [a, b] en N sous–intervalles [ai , ai+1 ] et d’utiliser l’interpolation de Lagrange sur chaque sous–intervalle [ai , ai+1 ] en utilisant m points équirépartis (par exemple m = 1 ou 3). Interpolation linéaire par morceaux Étant donnée une distribution (non nécessairement uniforme) de points a0 < . . . < aN , on approche f par une fonction continue qui, sur chaque intervalle [ai , ai+1 ], est définie par le segment joignant les deux points (ai , f (ai )) et (ai+1 , f (ai+1 )). Cette fonction, notée dans la suite l, est appelée interpolation linéaire par morceaux (ou parfois spline linéaire) et est définie par la formule l|[ai ,ai+1 ] (x) = f (ai ) + f (ai+1 ) − f (ai ) (x − ai ) ai+1 − ai 15 Proposition 4 (Estimation de l’erreur) Soit f : [a, b] → R de classe C 2 sur [a, b], on peut majorer l’erreur d’interpolation au point x ∈ [a, b] par max |f (x) − l(x)| ≤ x∈[a,b] où h = max h2 max |f 00 (x)| 8 x∈[a,b] |ai+1 − ai |. Par conséquent, pour tout x ∈ [a, b], l(x) tend vers f (x) quand i∈{0,...,n−1} n → +∞ à condition que f soit assez régulière. Exercice 10 On donne dans le tableau suivant l’évolution de l’espérance de vie dans un pays Année Espérance 1985 75, 8 1995 76, 6 2000 77, 2 2005 77, 4 Utiliser l’interpolation de Lagrange pour estimer l’espérance de vie en 1987, 1999 et 2001. La comparer avec une interpolation linéaire par morceaux. 16 5 Solutions 1 On écrit p sous la forme p(x) = a0 + a1 x + a − 2x2 . Les coefficients ai sont solutions du système linéaire 2 a0 + a1 × (−1) + a2 × (−1) = 2 a0 = 2 a0 + a1 × 2 + a2 × 22 = −3 On trouve facilement a0 = 2 5 a2 = − 6 5 a1 = a2 = − 6 2 Montrons que ψ est linéaire. Soient p, q ∈ R3 [X], λ ∈ R ψ(λp + q) = (λp + q)(0), (λp + q)0 (0), (λp + q)(−1), (λp + q)(1) = (λp)(0) + q(0), (λp)0 (0) + q 0 (0), (λp)(−1) + q(−1), (λp)(1) + q(1) =λ p(0), λp0 (0), p(−1), p(1) + q(0), q 0 (0), q(−1), q(1) =λψ(p) + ψ(q) donc ψ est linéaire. Montrons que ψ réalise un isomorphisme de R3 [X] vers R4 . Comme ce sont deux ev de dimension 4, on est ramené à étudier l’injectivité de ψ : soit p ∈ Ker ψ, on a p(0) = p(−1) = p0 (1), p0 (0) = 0. la première condition permet d’écrire p sous la forme p(x) = αx(x + 1)(x − 1) la deuxième montre par dérivation que α = 0, donc que p ≡ 0 et l’injectivité/bijectivité est démontrée. Déterminons l’image par ψ des vecteurs de la base canonique de R3 [X] : (1, X, X 2 , X 3 ) ψ(1) = (1, 0, 1, 1) 1 0 0 0 0 1 0 0 ψ(X) = (0, 1, −1, 1) =⇒ A= 2 1 −1 1 −1 ψ(X ) = (0, 0, 1, 1) 1 1 1 1 ψ(X 3 ) = (0, 0, −1, 1) ψ est bijective ssi A est inversible. Par des opérations sur les lignes (par ex. L3 ← L3 + L4 ) on se ramène à une matrice échelonnée avec des coefficients non nuls sur la diagonale, A est donc une matrice inversible (on peut aussi calculer le déterminant directement en dvp selon 17 une ligne ou une colonne). Calculons l’image par ψ de q1 et q2 en utilisant leur décomposition dans la base canonique q1 = −1 × X + 1 × X 3 =⇒ ψ(q1 ) = (0, −1, 0, 0) q2 = −1 × X 2 + 1 × X 3 =⇒ ψ(q2 ) = (0, 0, −2, 0). On définit les polynômes s0 , s1 , s2 , s3 ∈ R3 [X] tels que ψ(si ) = E i . D’après la question précédente on a déjà s1 = −q1 et s2 = −1/2 ∗ q2 . Écrivons les polynômes si (i = 0, 3) sous la forme ai0 + ai1 X + ai2 X 2 + ai3 X 3 , pour s0 le système à résoudre s’écrit a10 = 1 a1 = 0 1 =⇒ s1 = 1 − X 2 . 1 1 1 1 a0 − a1 + a2 − a3 = 0 a1 + a1 + a1 + a1 = 0 0 1 2 3 De la même manière on trouve 1 1 s3 = X 2 + X 3 . 2 2 (s0 , s1 , s2 , s3 ) comme image réciproque de la base (E 0 , E 1 , E 2 , E 3 ) par l’application bijective ψ forme une base de R3 [X]. Soit f de classe C 1 et p dans R3 [X] tels que ψ(p) = (f (0), f 0 (0), f (−1), f (1)) on sait qu’il tel p existe car ψ est bijective donc en particulier surjective. Déterminons les coordonnées de p dans la base (s0 , s1 , s2 , s3 ) : par linéarité de ψ on a directement p = f (0)s0 + f 0 (0)s1 + f (−1)s2 + f (1)s3 . 3 1. On applique l’estimation d’erreur d’interpolation donnée dans l cours avec n = 1 (cad 2 points d’interpolation) |e(x)| ≤ M2 M2 2 |(x + α)(x − α)| ≤ (x − α2 ). 2! 2 2. Estimons l’erreur pour différentes normes • Pour la norme L∞ c’est-à-dire la norme du max : pour tout x ∈ [−1, 1], on a −α2 ≤ x2 − α2 ≤ 1 − α2 . Donc max x2 − α2 = max{α2 , 1 − α2 } x∈[−1,1] qui vaut 1 si α2 ≥ 2 α2 (1 − α2 ) √ (i.e. α ≥ 2 ) 2 sinon Au final kek∞ := max |e(x)| ≤ x∈[−1,1] 18 M2 max{α2 , 1 − α2 }. 2 • Pour la norme L2 , on calcule Z 1 Z 2 2 2 x − α dx = −1 1 2 4α2 x4 − 2α2 x2 + α4 dx = − + 2α4 . 5 3 −1 Donc Z 1/2 1 2 kek2 := (e(x)) dx −1 • Pour la norme L1 Z 1 Z 2 x − α2 dx =2 −1 M2 ≤ 2 2 4α2 − + 2α4 5 3 1/2 . 1 x2 − α2 dx 0 α Z 2 Z 2 1 (α − x ) dx + 2 =2 0 (x2 − α2 ) dx α 2 8 = α3 − 2α2 + . 3 3 et Z 1 M2 kek1 := |e(x)| dx ≤ 2 −1 3. 8 3 2 α − 2α2 + 3 3 α2 . √ 1 2 = cad α = . La majoration 2 2 • Dans le premier cas, le majorant est minimal si d’erreur devient M2 max |e(x)| ≤ . 4 x∈[−1,1] • Dans le second cas, on pose A = α2 , pour déterminer le minimaum du majorant, on est ramené à étudier le minimum de la fonction 2 4 g(A) = 2A2 − A + 3 5 On trace le tableau de variations suivant A 0 g0 − 1/3 0 1 + & 8/45 % g √ 1 3 ceci montre que g est minimum pour A = = , ce qui correspond à α = . 3 3 La majoration d’erreur pour la norme 2 devient Z 1 1/2 √ 10 M2 2 kek2 := (e(x)) dx ≤ . 15 2 −1 α2 • Enfin pour la norme L1 , on doit trouver le minimum de la fonction 4 1 h(α) = α3 − α2 + . 3 3 Le tableau de variations de h s’écrit 19 α 0 1/2 g0 − 1 0 + & 1/4 % g 1 et on obtient dans la majoration d’erreur 2 le minimum est ainsi atteint en α = Z 1 |e(x)| dx ≤ kek1 := −1 M2 . 4 4 On a (x − 0)(x − 2) (x − (−1))(x − 2) (x − (−1))x +2 −3 (−1 − 0)(−1 − 2) (0 − (−1))(0 − 2) (2 − (−1))(2 − 0) 5 2 5 = − x − x + 2. 6 6 p(x) =2 On vérifie que p(−1) = 2, 5 On pose p(x) = a0 + a1 x + a2 x2 + a3 x3 . linéaire suivant 1 0 0 1 1 1 1 2 4 1 3 9 Par la méthode de Gauss on arrive 1 0 0 0 p(0) = 2, p(2) = −3. Par la méthode directe on doit résoudre le système a0 0 2 a 1 1 2 = 8 a2 2 a3 27 3 au système échelonné a0 2 0 0 0 a −1 1 1 1 1 = 0 2 6 a2 2 a3 0 0 6 −2 qu’on résout facilement pour obtenir 8 1 a3 = − , a2 = 2, a1 = − , 3 3 Par la méthode de Lagrange on écrit p sous la forme a0 = 2. p(x) = 2l0 (x) + l1 (x) + 2l2 (x) + 3l3 (x) ce qui donne, en remplaçant les li par leur expression (x − 1)(x − 2)(x − 3) (x − 0)(x − 2)(x − 3) (x − 0)(x − 1)(x − 3) + +2 (0 − 1)(0 − 2)(0 − 3) (1 − 0)(1 − 2)(1 − 3) (2 − 0)(2 − 1)(2 − 3) (x − 0)(x − 1)(x − 2) +3 (3 − 0)(3 − 1)(3 − 2) (x − 1)(x − 2)(x − 3) x(x − 2)(x − 3) x(x − 1)(x − 2) =− + − x(x − 1)(x − 3) + 3 2 2 1 3 8 2 = − x + 2x − x + 2 3 3 p(x) =2 20 6 On commence par calculer f (0) = 0, π f ( ) = 1, 2 f (π) = 0. Grâce à la méthode de Lagrange, le polynôme interpolateur de lagrange de f aux points xi s’écrit x(x − π) 4 p(x) = π π = − 2 x(x − π). π ( − π) 2 2 Pour retrouver ce résultat grâce à la méthode de Newton, on commence par construire le tableau des différences divisées i xi yi 0 0 π 2 0 π 0 1 2 f [xi−1 , xi ] f [xi−2 , xi−1 , xi ] 2 π 2 − π 1 − 4 π2 On a alors p2 (x) =f [x0 ]π0 (x) + f [x0 , x1 ]π1 (x) + f [x0 , x1 , x2 ]π2 (x) 2 4 π = x − 2x x − π π 2 4 = − 2 x(x − π) π Si on rajoute le point x3 on doit rajouter une ligne et une colonne au tableau i xi yi 0 0 π 2 0 2 π 0 3 3π 2 −1 1 1 f [xi−1 , xi ] f [xi−2 , xi−1 , xi ] 2 π 2 − π 2 − π − f [xi−3 , xi−2 , xi−1 , xi ] 4 π2 0 8 3π 3 le nouveau polynôme interpolateur s’écrit p3 (x) =p2 (x) + f [x0 , x1 , x2 , x3 ]π3 (x) 8 π 4 = − 2 x(x − π) + 3 x x − (x − π) π 3π 2 8 = 3 x(x2 − 3πx + 2π 2 ) 3π 7 1. On écrit le tableau des différences divisées 21 donc i xi yi yi−1,i yi−2,i−1,i 0 1 0 1 1 4 3 2 3 0 −2 − 53 3 4 4 4 2 yi−3,i−2,i−1,i 11 12 5 11 p(x) = 1 + 3x − x(x − 1) + x(x − 1)(x − 3). 3 12 2. D’après le cours, l’estimation d’erreur s’écrit |f (2) − p(2)| ≤ max |f (4) (x)| |π(2)| 4! avec π(x) = x(x − 1)(x − 3)(x − 4). On calcule π(2) = 4 et max |f (4) (x)| ≤ 1/4 donc |f (2) − p(2)| ≤ 8 1 1 = . 4! 24 • On a π f (n+1) (x) = cos(n+1) (x) = cos x + (n + 1) 2 donc l’estimation d’erreur s’écrit π max cos x + (n + 1) 1 2 ≤ |f (x) − pn (x)| ≤ . (n + 1)! (n + 1)! Pour assurer une erreur inférieure à ε on doit ainsi prendre 1 (n + 1)! ≥ . ε On rappelle que 3! = 6, 4! = 24 et 5! = 120 donc pour avoir une erreur inférieure à 0, 1 on doit prendre n ≥ 3 et pour ε = 0, 01 n ≥ 4. • Pour g, la dérivée n + 1-ième s’écrit g (n+1) (x) = 3n+1 exp(3x). On obtient |g(x) − pn (x)| ≤ Pour n = 9 on trouve 3n+1 exp(3) . (n + 1)! 3n+1 exp(3) ' 0, 33 (n + 1)! pour n = 10 ' 0, 089 22 Donc pour avoir une erreur inférieure à 0, 1 il faut n ≥ 10. De même pour n = 11 le majorant vaut ' 0, 022 et pour n = 12 ' 0, 0051 donc pour assurer une erreur inférieure à 0, 01 on prend n ≥ 12. 9 1. On trouve I = ln 3. 2. Le polynôme de interpolateur de Lagrange de f aux points 0, 1/3, 2/3 s’écrit dans la base des polynômes de Lagrange pl (x) = f (0)l0 (x) + f (1/3)l1/3 (x) + f (2/3)l2/3 (x) où 1 2 x− x− 3 3 2 l1/3 (x) = −9x x − 3 9 1 l2/3 (x) = x x − 2 3 9 l0 (x) = 2 et f (0) = 1 f (1/3) = 3/2 f (2/3) = 3 9 pl (x) = 2 1 2 27 2 27 1 x− x− − x x− + x x− . 3 3 2 3 2 3 3. On écrit p(x) = a0 + a1 x + a2 x2 et 2 Z 0 8 p(x) dx = 2a0 + 2a1 + a2 . 3 L’égalité demandée impose 8 2a0 + 2a1 + a2 =c0 p(0) + c1 p(1) + c2 p(2) 3 =c0 a0 + c1 (a0 + a1 + a2 ) + c2 (a0 + 2a1 + 4a2 ) =(c0 + c1 + c2 )a0 + (c1 + 2c2 )a1 + (c1 + 4c2 )a2 On trouve 1 c0 = , 3 4 c1 = , 3 23 1 c2 = . 3 4. On fait un changement de variable sous l’intégrale Z 2/3 q(s) ds = 0 d’où d0 = 1 3 Z 2 q 0 t 1 dt = (c0 q(0) + c1 q(1/3) + c2 q(2/3)) 3 3 1 c0 = , 3 9 d1 = c1 4 = , 3 9 d2 = c2 1 = . 3 9 5. Pour donner une valeur approchée de I, on remplace sous l’intégrale f par pl , la question précédente donne I =d0 pl (0) + d1 pl (1/3) + d2 pl (2/3) =d0 f (0) + d1 f (1/3) + d2 f (2/3) 10 1 2 1 ' 1, 11 = + + = 9 3 3 9 on vérifie que ln 3 ' 1, 09 est proche de cette valeur. 10 24