Exercice 3 (méthode des différences divisées) Soient un intervalle [a, b] ⊂ R, (xi )i∈N une suite de points deux à deux distincts de [a, b], et soit (fi )i∈N un suite de nombres réels. Pour n ∈ N∗ (i ≥ 1), on appelle pn le polynôme de degré n qui interpole les n + 1 points du plan (xi , fi )i∈[0:n] . 1. On pose p0 (x) = 1 et a0 = f0 . a. Soit p1 le polynôme de d’interpolation des couples de points (x0 , f0 ) et (x1 , f1 ). Montrer que p1 (t) = a0 p0 (t) + a1 (t − x0 ) avec a1 = f1 − f0 x1 − x0 b. Soit p2 le polynôme de d’interpolation des couples de points (x0 , f0 ), (x1 , f1 ) et (x2 , f2 ). Montrer qu’il existe une constante a2 telle que, p2 (t) = p1 (t) + a2 (t − x0 )(t − x1 ). c. En déduire que le polynôme d’interpolation pn des couples de points points (xi , fi )i∈[0:n] peut s’écrire sous la forme pn (t) = a0 + a1 (t − x0 ) + a2 (t − x0 )(t − x1 ) + · · · + an n−1 Y (t − xk ) (1) k=0 d- Montrer que la famille composée des n + 1 polynômes 1, t − x0 , (t − x0 )(t − x1 ), · · · , n−1 Y (t − xk ) k=0 est une base de Pn [R]. L’expression (1) du polynôme d’interpolation s’appelle forme de Newton du polynôme d’interpolation. Il s’agit maintenant de calculer les coefficients aj en fonction des couples de points (xk , fk )k∈[0:n] . C’est l’objet des questions suivantes. 2. On introduit la notation générale aj = f [x0 , x1 , · · · xj ] moyennant quoi la formule (1) se réécrit : pn (t) = f [x0 ] + f [x0 , x1 ](t − x0 ) + · · · + f [x0 , x1 , · · · , xn ] n−1 Y (t − xj ). (2) k=0 On appelle f [x0 , x1 , · · · , xj ] j-ième différence divisée des points (xk , fk )k∈[0:j] . Soit σ une permutation des r + 1 entiers {k, k + 1, · · · , k + r}. Montrer que f [xk , · · · , xk+r ] = f [xσ(k) , · · · , xσ(k+r) ]. 3. Montrer la relation de récurrence : f [x0 , · · · , xn ] = f [x0 , · · · , xn−1 ] − f [x1 , · · · , xn ] . x0 − xn 4. En déduire une méthode pratique pour le calcul du polynôme d’interpolation. 1. a. Nous introduisons le polynôme de degré 1 q = p1 − a0 p0 . Comme p1 interpole (x0 , f0 ), p1 (x0 ) = f0 . De plus a0 = f0 . Donc q(x0 ) = 0 si bien que x0 est racine de q. Par conséquent (t − x0 ) divise q. Puisque q est de degré 1 on en déduit qu’il existe une constante réelle a1 telle que q(t) = a1 (t − x0 ). On a donc bien montré que p1 = a0 p0 + a1 (t − x0 ). Il reste à calculer la constante a1 pour que p1 interpole (x1 , f1 ). On a f1 = p1 (x1 ) = f0 + a1 (x1 − x0 ). Comme les points x1 et x0 sont distincts, on en déduit que a1 = 1 f1 − f0 . x1 − x0 b. Comme pour p1 , introduisons le polynôme de degré 2, q = p2 − p1 Alors, comme p1 er p2 interpolent (x0 , f0 ) et (x1 , f1 ), p(x0 ) = p(x1 ) = 0 si bien que q est divisible par (t−x0 )(t−x1 ). Comme de plus x0 et x1 sont distincts et que q est de degré 2, il existe une constante réelle a2 telle que q(t) = a2 (t − x0 )(t − x1 ). On a donc bien montré que p2 (t) = p1 (t) + a2 (t − x0 )(t − x1 ). Autrement dit, si on a déjà calculé le polynôme p1 d’interpolation des points (x0 , f0 ) et (x1 , f1 ), alors le polynôme p2 d’interpolation des trois points (x0 , f0 ), (x1 , f1 ) et (x2 , f2 ) peut être calculé directement en calculant a2 . c. La démonstration se fait par récurrence, l’initialisation ayant été faite aux questions 1.a et (1.b). On introduit le polynôme q = pn+1 − pn q est un polynôme de degré n + 1. De plus, pour tout i ∈ [0 : n], q(xi ) = 0. On en déduit donc qu’il existe une constante réelle an+1 telle que Y q(t) = an+1 (t − xi ). i∈[0:n] Ainsi, en utilisant l’hypothèse de récurrence, pn+1 (t) = pn (t) + an+1 Y (t − xi ) = a0 + n+1 X ak k=1 i∈[0:n] Y (t − xi ) i∈[0:k−1] d. On montre le résultat pas récurrence : Pn : En = {1, (t − x0 ), (t − x0 )(t − x1 ), · · · , n−1 Y (t − xk )}est une base de Pn [R]. (3) k=0 L’initialisation pour n = 0 est triviale. Supposons Pn vraie et montrons que Pn+1 est vraie. La famille En+1 = {1, (t − x0 ), (t − x0 )(t − x1 ), · · · , n Y (t − xk )} k=0 comporte n + 2 éléments. Pour montrer que c’est une base de Pn+1 [R] (qui est de dimension n + 2), il suffit de montrer que c’est une famille génératrice. Pour cela, il suffit de montrer que les monômes (tk )k∈[0:n+1] peuvent être généré par les fonctions de En+1 . En utilisant l’hypothèse de récurrence, on sait déjà que les monômes (tk )k∈[0:n] peuvent être générés par En ⊂ En+1 . Il reste juste à montrer que tn+1 peut être générée par En+1 . Mais, on peut voir que tn+1 = n Y (t − xk ) + w où w ∈ Pn [R]. k=0 Qn En effet, le coefficient associé au monôme tn+1 dans k=0 (t − xk ) est égal à 1. Comme w ∈ Pn [R], l’hypothèse de récurrence garantit que w peut être généré par les fonctions de En . Ceci termine la preuve de Pn+1 . 2. Soit σ : [0 : n] 7→ [0 : n], une permutation (c’est à dire une application bijective de [0 : n] dans [0 : n]). Ecrivons la forme de Newton du polynôme d’interpolation pn des points (xi , fi )i∈[0:n] : pn (t) = f [x0 ] + f [x0 , x1 ](t − x0 ) + · · · + f [x0 , x1 , · · · , xn−1 ] n−2 Y n−1 Y k=0 k=0 (t − xk ) + f [x0 , x1 , · · · , xn ] (t − xk ). (4) Bien, sur comme l’ensemble des points (xi , fi )i∈[0:n] est égal à l’ensemble des points (xσ(i) , fσ(i) )i∈[0:n] , pn est aussi le polynôme d’interpolation des points (xσ(i) , fσ(i) )i∈[0:n] . Il peut donc également s’écrire sous la forme pn (t) = f [xσ(0) ] + f [xσ(0) , xσ(1) ](t − xσ(0) ) + · · · + f [xσ(0) , xσ(1) , · · · , xσ(n−1) ] n−2 Y n−1 Y k=0 k=0 (t − xσ(k) ) + f [xσ(0) , xσ(1) , · · · , xσ(n) ] 2 (t − xσ(k) ). (5) Le terme de plus haut degré (associé au monôme tn+1 ) dans l’expression (4) est f [x0 , x1 , · · · , xn ]. De même le terme de plus haut degré (associé au monôme tn+1 ) dans (5) est f [xσ(0) , xσ(1) ]. Donc, f [x0 , x1 , · · · , xn ] = f [xσ(0) , xσ(1) , · · · , xσ(n) ], ce qui signifie que le nombre f [x0 , x1 , · · · , xn ] est indépendant de l’ordre des points (xk )k∈[0:n] . 3. Considérons maintenant la permutation σ : [0 : n] 7→ [0 : n] donnée par σ(i) = n − i et écrivons la forme de Newton (5) du polynôme d’interpolation des points (xσ(i) , fσ(i) )i∈[0:n] pour cette permutation particulière : pn = f [xn ] + f [xn , xn−1 ](t − xn ) + · · · + f [xn , xn−1 , · · · , x1 ] n Y (t − xk ) + f [xn , xn−1 , · · · , x0 ] k=2 n Y (t − xk ). (6) k=1 Identifions les termes de degré n − 1 dans (6) et (4) : ! n−1 X f [x0 , x1 , · · · , xn−1 ] − xk f [x0 , x1 , · · · , xn ] = f [x1 , x2 , · · · , xn ] − n X k=0 ! xk f [x0 , x1 , · · · , xn ] k=1 Donc, f [x0 , x1 , · · · , xn−1 ] − f [x1 , x2 , · · · , xn ] = f [x0 , x1 , · · · , xn ] n−1 X k=0 xk − n X ! xk = f [x0 , x1 , · · · , xn ](x0 − xn ). k=1 On retrouve bien la formule f [x0 , x1 , · · · , xn ] = f [x1 , x2 , · · · , xn ] − f [x0 , x1 , · · · , xn−1 ] . xn − x0 4. On résume souvent le calcul du polynôme d’interpolation par la méthode des différences divisées par le tableau représenté sur la figure (1) (dans le cas particulier de 4 points) : x0 f [x0 ] x1 f [x1 ] f [x0 , x1 ] f [x0 , x1 , x2 ] f [x1 , x2 ] x2 f [x2 ] f [x0 , x1 , x2 , x3 ] f [x1 , x2 , x3 ] f [x2 , x3 ] x3 f [x3 ] F IGURE 1 – Tableau des différences divisées associées aux 4 points (xi , fi )i∈[0:3] Ainsi, pour calculer le polynôme d’interpolation des points (xi , fi )i∈[0:n] à partir du polynôme d’interpolation des points (xi , fi )i∈[0:n−1] (i.e. ajouter le point d’interpolation (xn , fn )) , il suffit de calculer les n + 1 différences divisées (n + 1 soustractions et n + 1 divisions) f [xn ], f [xn−1 , xn ], · · · , f [x0 , x1 , · · · , xn ]. 3