Agrégation Externe de Mathématiques UPS - 2015/2016 Option B : Examen du 5 Janv

Agrégation Externe de Mathématiques UPS - 2015/2016 Option B : Examen du 5 Janvier Splines cubiques Il est important de rédiger de façon claire ET synthétique. On peut bien entendu admettre le résultat de n’importe quelle question pour passer à la suivante. PARTIE THÉORIQUE 1 A propos de l’interpolation de Hermite On se donne deux points distincts xg < xd ainsi que quatre réels yg, yd, zg et zd. 1. Montrer que l’application linéaire Φ : R3[X] 7→     p(xg) p′(xg) p(xd) p′(xd)    , est bijective, où on rappelle que R3[X] est l’ensemble des polynômes à coefficients réels de degré inférieur ou égal à 3. En déduire qu’il existe un unique polynôme de degré inférieur ou égal à 3 vérifiant          p(xg) = yg, p(xd) = yd, p′(xg) = zg, p′(xd) = zd. Ce polynôme est appelé le polynôme d’interpolation de Hermite pour ces données. 2. Donner une expression explicite de p en fonction des données. On pourra chercher p sous la forme p(x) = q0(x) + (x −xg)(x −xd)q1(x), où q0 et q1 sont des polynômes de degré inférieur ou égal à 1 que l’on déterminera, par exemple, dans la base des polynômes x −xg et x −xd. 3. Montrer qu’il existe une constante universelle C > 0 (i.e. indépendante des x•, y• et z•) telle qu’on ait sup x∈[xg,xd] |p(x)| ≤C(|yg| + |yd|) + C|xd −xg|(|zg| + |zd|). 4. Calculer p′′(xg) et p′′(xd) en fonction de xg, xd, yg, yd, zg, zd. 5. Soit maintenant f une fonction de classe C4. On suppose que les données d’interpolation sont définies par yg = f(xg), yd = f(xd), zg = f ′(xg), et zd = f ′(xd). Montrer que dans ces conditions, le polynôme de Hermite p vérifie l’estimation d’erreur suivante ∀x ∈[xg, xd], ∃ξ ∈]xg, xd[, tel que f(x) −p(x) = (x −xg)2(x −xd)2 f (4)(ξ) 4! . 6. En déduire que sup [xg,xd] |f −p| ≤|xd −xg|4 ∥f (4)∥∞ 384 . Page 1/12 Agrégation Externe de Mathématiques UPS - 2015/2016 2 Existence et unicité de la spline cubique contrainte interpolante On se donne des points x1 < ... < xn équi-distants ainsi que n valeurs y1, ..., yn, et deux autres réels zd et zn. On notera h le pas de la subdivision, i.e. xi+1 −xi = h pour tout i. Le but de cette partie est de démontrer le résultat suivant : il existe une unique fonction π : [x1, xn] →R vérifiant π est de classe C2 sur [x1, xn], (P1) π interpole les valeurs données, i.e. π(xi) = yi, ∀i = 1, ..., n. (P2) La restriction de π à chaque intervalle [xi, xi+1] est un polynôme de degré inférieur ou égal à 3. (P3) π′(x1) = z1, et π′(xn) = zn. (P4) Une fonction vérifiant (P1),(P2) et (P3) est appelée une spline cubique interpolante. Si de plus, elle vérifie une condition du type (P4), elle est dite contrainte. 1. Montrer qu’une telle fonction π est complètement déterminée par la connaissance des (π(xi))1≤i≤n et des (π′(xi))1≤i≤n. Par hypothèse, les valeurs de π aux noeuds sont connues, on va donc chercher dans la suite à déterminer les valeurs que π′ doit prendre en ces noeuds pour vérifier toutes les conditions demandées. 2. Soient donc z1, z2, ..., zn−1, zn les valeurs de π′ aux noeuds à déterminer (la première et la dernière sont en fait des données du problème). Ecrire les équations (dépendant de h) que doivent vérifier les (yi)i et les (zi)i pour que la fonction π associée soit de classe C2. 3. Ecrire ces équations sous la forme d’un système linéaire carré de taille n −2 noté AZ = G où Z = (z2, ..., zn−1) et où G est un second membre dépendant des données y1, ..., yn et z1, zn que l’on explicitera. 4. Montrer que si ce système admet une solution alors on a l’estimation ∥Z∥∞= max 2≤i≤n−1 |zi| ≤|z1| 2 + |zn| 2 + 3 max 2≤i≤n−1 yi+1 −yi−1 2h . On pourra s’intéresser à un indice 2 ≤i ≤n −1 pour lequel |zi| = ∥Z∥∞, et regarder l’équation correspondante du système AZ = G. 5. En déduire que le problème AZ = G admet une unique solution et que celle-ci vérifie ∥Z∥∞≤4∥f ′∥L∞(]a,b[). Conclure enfin à l’existence et unicité de la spline cubique contrainte interpolante pour f. Page 2/12 Agrégation Externe de Mathématiques UPS - 2015/2016 PARTIE NUMÉRIQUE 3 Mise en oeuvre et expérimentations numériques On reprend ici les notations précédentes. On se donne un intervalle [a, b] de R et une fonction f de classe C4 sur [a, b]. On suppose que la discrétisation est choisie de sorte que x1 = a et xn = b, et donc que h = b −a n −1. On pose maintenant yi = f(xi), ∀i ∈{1, ..., n}, et z1 = f ′(x1), zn = f ′(xn). On souhaite calculer en Scilab la spline cubique interpolante π correspondant à ces données et évaluer numérique- ment l’erreur d’interpolation entre f et π (resp. en f ′ et π′) en fonction du pas de la discrétisation. Plus précisément, on admet qu’on peut démontrer (ce n’est pas demandé ici) que l’on a les estimations sui- vantes (pour un C > 0 indépendant de h, donc de n) max 1≤i≤n |f ′(xi) −π′(xi)| ≤Ch4, (E1) ∥f ′ −π′∥L∞(]a,b[) ≤Ch3, (E2) ∥f −π∥L∞(]a,b[) ≤Ch4. (E3) 1. Ecrire une fonction Scilab function [Y,Z]= parametres_spline (a,b,n,f,f_prime) .... endfunction qui, à partir de la donnée de a, b, f, f ′ et n calcule les valeurs (π(xi))1≤i≤n et (π′(xi))1≤i≤n de la spline cubique interpolante π et de sa dérivée aux points d’interpolation équirépartis sur [a, b]. On utilisera la méthode décrite dans la question II.3. 2. Illustrer numériquement sur un exemple, à l’aide d’une courbe en échelle logarithmique, l’estimation (E1). On pourra par exemple choisir a = 0, b = 1 et f(x) = sin(10x + 1), mais tout autre exemple (non trivial) peut tout à fait convenir. 3. Ecrire une fonction Scilab function [i]= indice (a,b,n,x) .... endfunction qui pour a, b, n et x ∈]a, b[ donnés, calcule l’unique indice i ∈{1, ..., n −1} tel que x ∈[xi, xi+1[. 4. Ecrire deux fonctions Scilab function [val_pi]= valeur_spline (a,b,n,Y,Z,x) .... endfunction function [val_pi_prime]= valeur_derivee_spline (a,b,n,Y,Z,x) .... endfunction qui pour a, b, n, Y, Z et x ∈]a, b[ donnés, calculent respectivement les valeurs π(x) et π′(x) de la spline cubique pour les données d’interpolation Y = (y1, ..., yn) et Z = (z1, ..., zn) et de sa dérivée au point x. 5. Pour tester numériquement les estimations (E2), (E3) on est confrontés à la difficulté de l’estimation de la norme L∞de la différence de deux fonctions. Pour ce faire on utilise la méthode aléatoire suivante — Choisir un entier M > 0 suffisamment grand. Page 3/12 Agrégation Externe de Mathématiques UPS - 2015/2016 — Tirer aléatoirement 1 M points choisis selon la loi uniforme sur [a, b] et notés ¯ xk, k = 1, ..., M (ne pas confondre avec les points d’interpolation x1, ..., xn). — On décide alors d’estimer la norme infinie d’une fonction g par ∥g∥∞∼ max 1≤k≤M |g(¯ xk)|. Programmer deux fonctions Scilab function [erreur]= erreur_spline (a,b,f,f_prime,n,M) .... endfunction function [erreur]= erreur_derivee_spline (a,b,f,f_prime,n,M) .... endfunction qui pour a, b, f, f ′, n et M donnés, renvoient respectivement une estimation de ∥f −π∥∞et de ∥f ′ −π′∥∞ calculées par la méthode précédente. Illustrer à l’aide de courbes logarithmiques les estimations d’erreur (E2),(E3). On fixera par exemple M = 5000, ce qui suffira pour des valeurs de n inférieures à 100 par exemple. 1. La commande Scilab a+(b-a)*rand([1:M]) permet de faire cela Page 4/12 Agrégation Externe de Mathématiques UPS - 2015/2016 Corrigé 1 A propos de l’interpolation de Hermite 1. Comme R3[X] et R4 ont la même dimension, et comme Φ est linéaire, il suffit de vérifier que son noyau est réduit à 0. Or, si un polynôme p ∈R3[X] est dans le noyau de Φ, cela signifie que p(xg) = p′(xg) = 0, p(xd) = p′(xd) = 0. Ceci montre que xg et xd sont deux racines doubles distinctes de p, donc le polynôme (x −xg)2(x −xd)2 doit diviser p. Comme deg(p) ≤3, ceci n’est possible que si p est nul, ce qui conclut la preuve. 2. On adopte l’écriture proposée p(x) = q0(x) + (x −xg)(x −xd)q1(x), avec q0(x) = a(x −xg) + b(x −xd), q1(x) = α(x −xg) + β(x −xd). En évaluant p en xg et xd, on trouve de suite p(xg) = b(xg −xd), et p(xd) = a(xd −xg), ce qui donne b = yg xg −xd , et a = yd xd −xg . On évalue maintenant p′ en xg et xd et on trouve p′(xg) = (a + b) + (xg −xd)q1(xg) = (a + b) + β(xd −xg)2, p′(xd) = (a + b) + (xd −xg)q1(xd) = (a + b) + α(xd −xg)2. Ce qui donne β = 1 (xd −xg)2 uploads/s3/ devoir-splines-pdf.pdf

  • 28
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager