Beruflich Dokumente
Kultur Dokumente
Interpolation
P (xi ) = f (xi ), 0 ! i ! n.
Si une telle fonction f existe, on dira que P est le polynôme d’interpolation de f (ou
qu’il interpole f ) aux points (ou nœuds) {x0 , x1 , . . . , xn }.
Exemple 1.
Regardons un exemple d’interpolation simple sur 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 suivante :
T 10 15 20 25 30 35 40
9
De façon plus précise, à partir de f (x) connue seulement en (n + 1) points de la forme
(xi , f (xi )), pour i = 0, 1, 2 . . . , n, peut-on construire une approximation de f (x) (ou bien
trouver une fonction polynôme P de degré au plus n), et ce, pour tout x ?
Si une telle fonction f existe, on dira que P est le polynôme d’interpolation de f (ou
qu’il interpole f ) aux points (ou nœuds) {x0 , x1 , . . . , xn }.
Une des solutions les plus simples consiste à faire passer par les points (xi , f (xi )) un
polynôme de degré m
m
!
Pm (x) = ak xk , a0 , . . . , ak ∈ R
k=0
Preuve. Pour qu’il existe un et un seul P ∈ Pn qui interpole f , il faut et il suffit que le
système de (n + 1) équations linéaires à (n + 1) inconnues ai :
n
!
∀ x ∈ R, p(xi ) = aj xji = f (xi ), 0!i!n
j=0
10
Par conséquent, ce déterminant est différent de zéro si et seulement si toutes les abscisses
xi pour i = 0, . . . , n sont distinctes. !
Exemple 2.
(b) Pour obtenir la droite d’interpolation qui passe par les deux points (0, 1) et (2, 50),
il faut résoudre, en posant y = a0 + a1 x, le système de Vandermonde
, -, - , -
1 0 a0 1
=
1 2 a1 50
49
qui donne y = 1 + x.
2
(b) Le polynôme degré 4 passant par les points (xi , fi ) suivants :
*
i ** 0 1 2 3 4
xi **−2 −1 1 4 6
fi * 96 21 −3 186 1512
est donné par
P4 (x) = 2x4 − 5x3 + x2 − 7x + 6.
"
Mais, que doit-on faire, si on dispose de plus de (n + 1) points par lequel on veut
faire passer un polynôme de degré inférieur ou égal à n ? Le calcul numérique de P (x)
à l’aide de la méthode précédente est impraticable car le calcul par permutation d’un
déterminant nécessite n×n! multiplications. C’est pour cela nous allons voir des méthodes
différentes et plus efficaces pour calculer le polynôme de collocation. En fait, pour obtenir
le polynôme P , il y a plusieurs possibilités.
• La première est d’utiliser le polynôme d’interpolation de Lagrange. Mais, si la
méthode de Lagrange est une méthode simple pour construire des polynômes, elle
n’est cependant guère utilisée aujourd’hui en raison de son coût en temps de calcul.
• La deuxième possibilité est d’utiliser le schéma de Neville-Aitken, qui permet la
construction du polynôme d’interpolation par récurence.
• Une autre possibilité est d’utiliser le polynôme de Newton, dans le cas où les abs-
cisses sont equidistantes et montrer que le polynôme d’interpolation peut également
s’exprimer à l’aide des différences divisées.
Toutes ces méthodes donnent formellement le même résultat, mais leur utilité pratique
varie considérablement (temps de calcul, sensibilité aux erreurs d’arrondi).
Définition 1.
Considérons pour toute la suite une fonction f définie sur [a, b] ⊂ R et (n + 1) points
distincts de I notés x0 , . . . , xn .
Nous désignerons par support d’interpolation l’ensemble des points xi
(i = 0, . . . , n) où la fonction est connue et base d’interpolation l’ensemble des fonc-
tions suivant lesquelles f (x) est développée.
Soit Pn l’espace vectoriel des polynôme de degré inférieur ou égal à n. On dit
qu’une fonction polynôme P de Pn interpole f aux points x0 , . . . , xn (ou sur les
points du support {x0 , . . . , xn }) si et seulement si
∀ i ∈ {0, . . . , n}, P (xi ) = f (xi ).
11
2.2 Polynôme d’interpolation de Lagrange
L’interpolation de Lagrange est une façon simple et systématique de construire un
polynôme de collocation ; Etant donné (n + 1) points (xi , f (xi )) pour i = 0, 1, 2, . . . , n,
on suppose que l’on sait construire (n + 1) polynômes Li (x) de degré n et vérifiant les
conditions suivantes
Li (xi ) = 1, ∀ i
(2.1)
Li (xj ) = 0, ∀ j &= i
Ceci signifie que le polynôme Li (x) de degré n prend la valeur 1 en xi et s’annule à tous
les autres points de collocation. Dans ces conditions, la fonction L(x) est définies par
n
!
L(x) = f (xi )Li (x),
i=0
est un polynôme de degré n, car chacun des Li (x) est de degré n. De plus, ce polynôme
passe par les (n + 1) points de collocation et est donc le polynôme recherché. En effet,
d’après (2.1),
!
L(xj ) = f (xj )Lj (xj ) + f (xi )Li (xj )
i=0
i!=j
= f (xj ) + 0 = f (xj ), ∀ j.
L(x) passe donc par tous les points de collocation et puisque ce polynôme est unique,
L(x) est bien le plynôme recherché. Reste maintenant à voir comment construire les
fonctions Li (x).
Polynôme de degré 1.
Déterminons un polynôme de degré 1 dont la courbe (une droite) passe par les deux
points (x0 , f (x0 )) et (x1 , f (x1 )). Nous devons construire deux polynômes L0 (x) et L1 (x)
de degré 1 qui vérifient les relations :
1 1
L0 (x0 ) = 1 L1 (x0 ) = 0
L0 (x1 ) = 0, L1 (x1 ) = 1.
(x − x1 )
L1 (x) = .
(x1 − x0 )
Le polynôme degré 1 recherché est donc
Polynôme de degré 2.
12
Si on cherche un polynôme de degré 2 passant par les trois points (x0 , f (x0 )),
(x1 , f (x1 )) et (x2 , f (x2 )), on doit construire trois fonctions Li (x). En utilisant le même
raisonnement comme ci-dessus, cette fois-ci, L0 (x) s’annulant en x = x1 et en x = x2 .
On doit forcément avoir
(x − x1 )(x − x2 )
qui vaut (x0 − x1 )(x0 − x2 ) en x = x0 et pour satisfaire L0 (x) = 1, il suffit alors de diviser
le coefficient par cette valeur et de poser
(x − x1 )(x − x2 )
L0 (x) = .
(x0 − x1 )(x0 − x2 )
(x − x0 )(x − x2 ) (x − x0 )(x − x1 )
L1 (x) = , L2 (x) = .
(x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Polynôme de degré n.
Construisons maintenant un polynôme degré n en utilisant toujours la même
procédure. La fonction L0 (x) doit s’annuler en x = x1 , x2 , . . . , xn . Il faut donc introu-
duire
(x − x1 )(x − x2 )(x − x3 ) . . . (x − xn )
qui vaut
(x0 − x1 )(x0 − x2 )(x0 − x3 ) . . . (x0 − xn )
(x − x1 )(x − x2 )(x − x3 ) . . . (x − xn )
L0 (x) =
(x0 − x1 )(x0 − x2 )(x0 − x3 ) . . . (x0 − xn )
(x − x1 )(x − x2 )(x − x3 ) . . . (x − xn )
L1 (x) = .
(x1 − x0 )(x1 − x2 )(x1 − x3 ) . . . (x1 − xn )
Il est maintenant temps de mettre un peu d’ordre dans nos idées. Nous avons la
définition.
Définition 2.
13
On appelle base de Lagrange associée au support {x0 , . . . , xn }, la famille des fonc-
(n)
tions polynômes (Li )0!i!n (que nous noterons tout simplement Li s’il n’y a pas
de confusion) définies par
+n
(x − xj )
Li (x) = , ∀ i ∈ {0, . . . , n}. (2.3)
j=0
(xi − xj )
j!=i
Proposition 2.2.
On considère la base de Lagrange (Li )0!i!n associée au support {x0 , . . . , xn }.
Alors,
(a) Pour tout i de {0, . . . , n}, Li est de degré n.
(b) ∀ i ∈ {0, . . . , n} ∀ j ∈ {0, . . . , n} Li (xj ) = δij ,
1
1 si i = j
où δij désigne le symbole de Kronecker, soit encore δij =
0 si i =& j.
(c) La famille (Li )0!i!n est libre, c’est donc effectivement une base de Pn .
où les (n + 1) fonctions Li sont définies par la relation (2.3). C’est la formule de
Lagrange.
Preuve. La fonction polynôme Pn est degré au plus n, mais pas nécessairement exacte-
ment n, puisqu’il est combinaison des Li qui sont des polynômes de degré n par rapport
à la variable x.
Montrons que l’on a bien Pn (xi ) = f (xi ) pour i = 0, . . . , n. Il est évident que
Li (xi ) = 1. On a Li (xj ) = 0 pour j &= i, car il existe un indice i égal à j dans le pro-
duit et le numérateur de Li (xj ) est nul. Par conséquent, Li (xj ) = δij et Pn (xi ) = f (xi )
pour i = 0, . . . , n. Or d’après le théorème 2.1, le polynôme d’interpolation est unique.
Par conséquent, le polynôme Pn construit par la formule de Lagrange est le polynôme
d’interpolation de f . !
Remarque 1.
14
Le degré du polynôme d’interpolation est toujours égal au nombre de points d’appuis
moins 1 !
Exemple 3.
En utilisant les points x0 = 2, x1 = 2, 5 et x2 = 4, trouver le polynôme qui interpole
f (x) = 1/x.
Calculons d’abord les valeurs des Li (x). En utilsant les techniques de construction
des polynôme de Lagrange, on obtient : On a
(x − 2, 5)(x − 4)
L0 (x) = = (x − 6, 5)x + 10
(2 − 2, 5)(2 − 4)
(x − 2)(x − 4) 1
L1 (x) = = [(−4x + 24)x − 32]
(2, 5 − 2)(2, 5 − 4) 3
(x − 2)(x − 2, 5) 1
L2 (x) = = [(x − 4, 5)x + 5].
(4 − 2)(4 − 2, 5) 3
"
Exemple 4.
Le polynôme de Lagrange passant par les points (0, 1), (0, 2), (2, 9) et (3, 28) s’écrit :
expression d’un polynôme degré 3 passant par les 4 points donnés. Ce polynôme
permet d’obtenir une approximation de la fonction inconnue f (x) partout dans l’in-
tervalle contenant les points de collocation, c’est à dire [0, 3]. Ainsi, on a :
f (2, 5) ≈ p3 (2, 5) = 16, 625. "
Exemple 5.
(i) La fonction polynôme de P0 , notée P0 , qui interpole f sur le support {x0 } est
donnée par :
p0 (x) = f (x0 ).
15
(ii) La fonction polynôme de P1 , notée P1 , qui interpole f sur le support {x0 , x1 } est
donnée par :
f (x1 ) − f (x0 )
P1 (x) = f (x0 ) + (x − x0 ).
x1 − x0
On vérifie que ce polynôme passe bien par deux points de support {x0 , x1 } puisque
P (x = x0 ) = f (x0 ) et P (x = x1 ) = f (x1 ).
(iii) Pour une fonction définie par trois points, le polynôme de Lagrange est une parabole
d’équation
(x − x1 )(x − x2 ) (x − x0 )(x − x2 )
P2 (x) = f (x0 ) + f (x1 )
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 )
(x − x0 )(x − x1 )
+ f (x2 ) .
(x2 − x0 )(x2 − x1 )
"
Or γn (xi ) = 0, donc
γn+1 (x) − γn+1 (xi ) γn+1 (x)
= .
x − xi x − xi
Faisons tendre x vers xi . On obtient, par définition de la dérivée d’une fonction :
+n
"
γn+1 (x) = (x − xj ).
j=0
j!=i
Par conséquent,
γn+1 (x)
Li (x) = ,
(x − xi )γn+1
" (xi )
et
n
! f (xi )
Pn (x) = γn+1 (x) .
i=0
(x − xi )γn+1
" (xi )
16
2.2.2 Utilisation de la variable réduite
Dans le cas où les points (xj )0!i!n sont équidistants, on pose :
xj = x0 + jh, ∀ j, 0≤j≤n
x = x0 + sh
où s est réel et s’appelle variable réduite. Les polynômes de Lagrange s’écrivent alors
+ s−j
Li (x) = Li (x0 + sh) = .
j=0
i−j
j!=i
!n +
s−j
Pn (x0 + sh) = pn (s) = fi .
i=0 j=0
i−j
j!=i
Exemple 6.
A titre d’illustration simple de l’interpolation polynomiale de Lagrange, nous allons
interpoler la fonction sinus sur l’intervalle [0, p] en utilisant tout d’abord trois points
équidistants x0 = 0, x1 = p/2, x2 = p. On a ici
f (x) = sin x, n = 2 et
n
! n
+ (x − xk )
Pn (x) = f (xi )
i=0 k=0
(xi − xk )
k!=i
x 0 p/2 p
f (x) 0 1 0
Dans ce cas très simple, les termes de rang 0 et 2 sont nuls. Reste à calculer le seul
terme de rang 1 :
!2 2
+ (x − xk )
P2 (x) = f (xi )
i=0 k=0
(xi − xk )
k!=i
8π9 x − 0 x−π 4x(π − x)
= f × π =
2 π2 − π 2 − π π2
Mais affinons en ajoutant le point d’abscisse p/6 car c’est au voisinage de ce point
que l’écart semble le plus grand :
x 0 p/6 p/2 p
f (x) 0 1/2 1 0
On a :
17
3
! 3
+
(x − xk )
P3 (x) = f (xi )
i=0 k=0
(xi − xk )
k!=i
et de plus, on a :
terme de rang 0 : 0
terme de rang 1 : x1 = p/6 et f (x1 ) = 1/2
8π 9 x−0 x− π x−π 54x(2x − π)
f × × π 2π × π =
6 π
6 − 0 6 − 2 6 − π 10π 2
terme de rang 2 : x1 = p/2 et f (x1 ) = 1
8π 9 x−0 x − π6 x−π 2x(6x − π)(x − π)
f × × π × π =
2 2 −0
π π
2 − 6 2 −π π3
terme de rang 3 : 0
ce qui fournit :
x(π − x)(6x + 17π)
P3 (x) =
5π 3
On constate une amélioration sensible sur [0, p/2] mais on a cassé la symétrie et
aggravé l’erreur sur [p/2, p]. On peut en rajouter d’autres points si l’on désire, sachant
que la méthode d’interpolation de Lagrange a un gros défaut : si on ajoute un point,
il faut tout recalculer pour passer de Pn à Pn+1 . "
18
(i)
On montre que les polynôme Tk peuvent se calculer récursivement à l’aide du schéma
de Neville-Aitken :
(i) (i+1)
(i) (xi+k+1 − x)Tk (x) − (xi − x)Tk (x)
Tk+ (x) = ,
xi+k+1 − xi
pour k = 0, . . . , n − 1 et i = 0, . . . , n − k − 1.
(0)
Le polynôme Tn ainsi obtenu est le polynôme d’interpolation de f en x0 , . . . , xn . On
place habituellement ces polynômes dans un tableau à double entrée :
On voit que l’on se déplace dans ce tableau à partir de la colonne de gauche qui
est connue, en allant vers la droite et de haut en bas. Les flèches indiquent comment
(i)
obtenir, à l’aide de la formule précédente, un polynôme Tk+1 de la colonne k + 1 à partir
(i) (i)
de deux polynômes Tk et Tk de la colonne k. Si l’on garde en mémoire la dernière
(n) (n−1) (0)
diagonale montante T0 , T1 , . . . , Tn , il est alors facile d’ajouter un nouveau point
d’interpolation.
Remarque 2.
Le calcul de Pn (x) pour une valeur donnée de x demande
− avec la méthode de Lagrange
2n(n + 1) multiplications ou divisions
(n2 + 5n + 2)/2 additions ou soustractions
− avec la méthode de Neville-Aitken
3n(n + 1)/2 multiplications ou divisions
2n(n + 1) additions ou soustractions.
19
avec pour convention
e0 = 1.
En outre, ∀ x ∈ R,
e1 = (x − x0 )
e2 = (x − x0 )(x − x1 )
e3 = (x − x0 )(x − x1 )(x − x2 )
.. ..
. .
en = (x − x0 )(x − x1 ) . . . (x − xn−1 ).
Exercice 1.
Montrer que les fonctions e0 , . . . , en forment une base de l’espace vectoriel Pn
des polynômes de degré inférieur ou égal à n ∈ N (c’est la base de Newton).
En effet, l’ensemble des polynômes (ei )0!n (base de Newton) forment une base de l’espace
des polynômes de degré au plus n, puisqu’il s’agit d’une famille de (n + 1) polynômes de
degré échelonné.
Le polynôme d’interpolation de Newton de degré n relatif à la subdivison
{(x0 , y0 ), (x1 , y1 ) . . . (xn , yn )} sur la base (e0 , e1 , . . . , en ), s’écrit
n
!
∀ x ∈ R, Pn (x) = ai ei (x)
i=0
= a0 + a1 (x − x0 )
+ a2 (x − x0 )(x − x1 )
+ a3 (x − x0 )(x − x1 )(x − x2 )
..
. (2.5)
+ an−1 (x − x0 )(x − x1 )(x − x2 ) . . . (x − xn )
+ an (x − x0 )(x − x1 )(x − x2 ) . . . (x − xn−1 ),
avec
Pn (xi ) = f (xi ), ∀ i = 0, . . . , n.
Il faut alors déterminer les (ai )0!i!n . C’est l’objet de la prochaine partie intitulée les
différences finies. Les différences divisées sont utilisées dans le cas d’une interpolation
avec des points non equidistants.
20
f (x1 ) − f (x0 )
a1 = .
x1 − x0
Définition 3.
Nous définirons les premières différences divisées de la fonction f (x) par :
f (xi+1 ) − f (xi )
f [xi , xi+1 ] = .
xi+1 − xi
Ainsi, le coefficient a1 peut s’écrire
a1 = f [x0 , x1 ]
et le polynôme de degré 1 s’écrit :
P1 (x) = f (x0 ) + f [x0 , x1 ](x1 − x0 )
obtenu en ne considérant que les deux premiers coefficients de (2.5) et les points
de collocation (x0 , f (x0 )) et (x1 , f (x1 )).
21
• En continuant, on peut montrer que le coefficient a3 est égal à :
a3 = f [x0 , x1 , x2 , x3 ]
Donc
n
!
Pn (x) = ei (x)f [x0 , x1 , . . . , xn ],
i=0
avec nécessairement
P [x, x0 , x1 , . . . , xn ] = 0.
f [x0 , x1 , . . . , xn ], 0 ! k ! n est appelé différence divisée d’ordre k de f aux points de
la subdivision {xi 0 ! i ! n}.
Exemple 7.
Calculons les différences divisées relatives aux valeurs f (xk ), k = 0, . . . , 4, listées
dans le tableau ci-dessous, jusqu’au degré trois.
xk 0 1 2 4
f (xk ) 1 1 2 5
On a par exemple :
5−2 3
f [2, 4] = = ;
4−2 2
3/2 − 1 f [2, 4] − f [1, 2] 1
f [1, 2, 4] = = = ;
4−1 4−1 6
1−0 f [1, 2] − f [0, 1] 1
f [0, 1, 2] = = = ;
2−0 2−0 2
f [2, 4] − f [0, 1] 1/6 − 1/2 1
f [0, 1, 2, 4] = = =− .
4−0 4−0 2
Théorème 2.4.
Soit f une fonction réelle à variable réelle et x0 , x1 , x2 , . . . , xn des points dis-
tincts de son domaine. Le polynôme d’interpolation Pn (x) de degré inférieur ou
égal à n basé sur les abscisses x0 , x1 , x2 , . . . xn , et donc passant par les points
(xi , f (xi )), i = 0, 1, 2, . . . , n, peut s’écrire selon la formule d’interpolation de
Newton (2.5) ou sous la forme récursive
22
Preuve. Ce réultat se démontre par induction. Nous l’avions montré pour n = 1 et
n = 2. On suppose que le résultat est vrai pour les polynômes de degré (n − 1) et on
montre qu’il es également vrai pour les polynômes de degré n. Le lecteur complétera
aisément les détails par lui-même. !
Remarque 3.
La formule de Newton permet une construction séquentielle des polynômes d’in-
terpolation en rajoutant au fur et à mesure des points. Pour passer du polynôme
d’interpolation de degré n au polynôme de degré n + 1 sur les mêmes points et
un point supplémentaire, il suffit de rajouter un terme dans la formule précédente.
Une conséquence de cette propriété est que les différences divisées sont des fonc-
tions symétriques de leurs arguments, c’est à dire que l’on peut changer l’ordre des
arguments sans en changer la valeur.
Le calcul pratique des différences divisées d’une fonction s’effectue selon le schéma
suivant :
x0 f (x0 )
f [x0 , x1 ]
x1 f (x1 ) f [x0 , x1 , x2 ]
f [x1 , x2 ] f [x0 , x1 , x2 , x3 ]
x2 f (x2 ) f [x1 , x2 , x3 ]
f [x2 , x3 ] f [x1 , x2 , x3 , x4 ]
x3 f (x3 ) f [x2 , x3 , x4 ]
f [x3 , x4 ]
x4 f (x4 )
23
f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ],
puis en divisant le résultat par (x3 − x0 ).
Exemple 8.
Avec la table suivante :
xk 0 1 2 3
f (xk ) 6 −3 −6 9
on obtient
f (1) − f (0) f (2) − f (1)
f [0, 1] = = −9; f [1, 2] = = −3 ;
1−0 2−1
f (3) − f (2) f [1, 2] − f [0, 1]
f [2, 3] = = 15; f [0, 1, 2] = =3
3−2 2−0
f [2, 3] − f [1, 2] f [1, 2, 3] − f [0, 1, 2]
f [1, 2, 3] = = 9; f [0, 1, 2, 3] = = 2,
3−1 3−0
si bien que le polynôme d’interpolation de f est donné par :
On vérifie ques les deux polynômes trouvés peuvent être exprimés de la forme
Exemple 9.
Ecrivons le polynôme de degré trois qui prend les valeurs indiquées dans l’exemple
7. En appliquant la formule de Newton, il vient
1 1 1
p(x) = 1 + 0(x − 0) + (x − 0)(x − 1) − (x − 0)(x − 1)(x − 2) −
2 12 12
c’est à dire
1
p(x) = (−x3 + 9x2 − 8x + 12).
12
"
Exemple 10.
Déterminons la table de différences divisées des points (0, 1), (1, 2), (2, 9) et (3, 28) :
24
xi f (xi ) f [xi , xi+1 ] f [xi , . . . , xi+2 ] f [xi , . . . , xi+3 ]
0 1
1
1 2 3
7 1
2 9 6
19
3 28
f (x3 ) − f (x2 ) 28 − 9
f [x2 , x3 ] = = = 19 ;
x3 − x2 3−2
f [x2 , x3 ] − f [x1 , x2 ] 19 − 7
f [x1 , x2 , x3 ] = = = 6;
x3 − x1 3−1
Théorème 2.5.
La différence divisée f [x0 , x1 , . . . , xn ] peut être xprimée sous la forme de la somme
symétrique suivantes, des multiples de f (xj )
n
! f (xr )
f [x0 , x1 , . . . , xn ] = n , (2.8)
+
r=0
(xr − xj )
j#=r
25
Preuve. Puisque le polynôme d’interpolation est unique, le polynôme Pn (x) dans (2.4)
et (2.7) sont les mêmes polynômes. Si on égale les coefficients de xn dans (2.4) et dans
(2.7), on obtient (2.8). !
Exemple 11.
Montrons que f [x0 , x1 ] = f [x1 , x0 ]. Ce résultat constitue la propriété de symétrie
de la différence divisée d’ordre un.
En effet, on a
f (x0 ) f (x1 )
f [x0 , x1 ] = + .
x0 − x1 x1 − x0
Puisque, en interchangeant les rôles de x0 et x1 , f (x0 ) et f (x1 ), on échange simple-
ment l’ordre des deux termes de droite.
Montrons que f [x0 , x1 , x2 ] est symétrique.
Partons de la forme
f (x1 , x2 ) − f (x0 , x1 )
f [x0 , x1 , x2 ] =
x2 − x0
: ;
1 f (x2 ) − f (x1 ) f (x1 ) − f (x0 )
= −
x2 − x0 x2 − x1 x1 − x0
f (x0 ) f (x1 )
= +
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 )
f (x2 )
+ .
(x2 − x0 )(x2 − x1 )
Proposition 2.6.
Si f et g sont deux fonctions réelles à variable réelle, x0 et x1 deux points de
leur domaine. Alors,
(a) [ ] est un opérateur linéaire
(b) f g[x0 , x1 ] = f [x0 , x1 ] · g(x1 ) + f (x0 ) · g[x0 , x1 ]
(c) Si g(x0 ) &= 0, g(x1 ) &= 0, alors
f f ([x0 , x1 ] · g(x0 ) − f (x0 ) · g[x0 , x1 ]
[x0 , x1 ] = .
g g(x0 )g(x1 )
On a le résultat suivant :
26
Proposition 2.7.
Soit f une fonction réelle à variable réelle. Alors,
!pk
f (xi )
f [xp0 , . . . , xpk ] = " (x )
,
i=p
v i
0
Preuve. Elle se fait par récurrence. Pour k = 0, on a γn+1 (x) = x − xp0 et γn+1
"
(x) = 1.
Donc
f [xp0 ] = f (xp0 ).
Supposons avoir démontré que :
!pk
f (xi )
[xp0 , . . . , xpk ] = ,
n+1 (xi )
γ "
i=p 0
avec γn+1 (x) = (x − xp0 ) . . . (x − xpk ) et que
pk+1
! f (xi )
f [xp1 , . . . , xpk+1 ] =
i=p
w" (xi )
0
avec w(x) = (x − xp01 ) . . . (x − xpk+1 ).
On va démontrer que la formule reste vraie pour [xp0 , . . . , xpk+1 ] en utilisant la définition
des différences divisées. On a :
f (x ) !pk , -
1 p0 1 1
f [xp0 , . . . , xpk+1 ] = + f (xi ) +
"
xp0 − xpk+1 γn+1 (xp0 ) i=p "
γn+1 (xi ) w" (xi
1
<
f (xpk+1 )
− "
γn+1 (xpk+1 )
!pk
f (xi )
On montre ensuite facilement que : f [xp0 , . . . , xpk+1 ] = " (x )
, avec
i=p
t i
0
t(x) = (x − xp0 ) . . . (x − xpk+1 ) ce qui termine la démonstration. !
27
Exercice corrigé
Soient (xi )0!i!n (n + 1) réels deux à deux distincts, f une fonction de R dans R et
Pn le polynôme d’interpolation de f sur le support {x0 , x1 , . . . , xn }. Montrer que
det(f (x0 ))
f [x0 ] =
det(1)
, - 1 x0 f (x0
1 f (x0 ) det 1 x1 f (x1 )
det
1 f (x1 ) 1 x2 f (x2 )
f [x0 , x1 ] = , - , f [x0 , x1 , x2 ] = .
1 x0 1 x0 x20
det
1 x1 det 1 x1 x21
1 x2 x22
28
Ax = b,
pour tout i ∈ {1, . . . , p}, la i-ème composante xi de x vérifie
8 9
det Ã
xi = ,
det(A)
où Ã est la matrice obtenue à partir de A en remplaçant sa ième colonne par b. On
déduit donc de (2.9) que
1 x0 x20 . . . xn−10 f (x0 )
1 x1 x21 . . . x n−1
f (x1 )
1
det .. .. ..
. . .
1 xn x2n . . . xn−1
n f (xn )
an =
1 x0 x20 . . . xn−1
0 xn0
1 x1 x21 . . . xn−1 xn1
1
det .. .. ..
. . .
1 xn x2n . . . xn−1
n xnn
Exemple 12.
Construisons une interpolation polynômiale de P4 (x) pour la fonction f (x)√= 2x
basé sur les ,points
- −2, −1, 0, 1 et 2 et donc une estimation pour 2
1/2
= 2 en
1
calculant P4 .
2
1 1
• Pour x = −2, −1, 0, 1 et 2, on obtient 2x = ; ; 1; 2 et 4, respectivement.
4 2
• Par la formule de Newton on obtient avec la table suivante :
29
˛
˛
x0 −2 ˛
˛
˛1/4
˛
˛ 1/4
˛
˛
˛
x1 −1 ˛
˛
˛1/2 1/8
˛
˛
˛
˛ 1/2 1/24
˛
x2 0 ˛
˛ 1 1/4 1/96
˛
˛
˛
˛ 1 1/2
˛
x3 1 ˛
˛
˛ 2 1/12
˛
˛
˛
˛ 2
˛
x4 2 ˛
˛
4
1 1 1 1
P4 (x) = + (x + 2) + (x + 2)(x + 1) + (x + 2)(x + 1)x
4 4 8 24
1
+ (x + 2)(x + 1)x(x − 1).
96
donne
= > 723
P4 ( 12 = ≈ 1, 4121.
512
√
Comme 2 = 1, 4142, cette méthode d’interpolation a fourni une approximation
dont l’erreur se trouve dans le troisième chiffre après la virgule décimale.
"
Dans l’exemple 12, nous avons été en mesure de montrer comment la valeur inter-
polée P4 (1/2) est-elle égale à 21/2 . Mais, que peut-on dire, en général, de la précision de
l’interpolation ? Telles sont les questions auxquelles nous allons répondre dans ce para-
graphe. Dans la pratique, l’interpolation polynomiale sert à remplacer une fonction f , qui
est soit inconnue, soit trop compliquée, par une fonction plus simple, en l’occurrence un
polynôme. Quand on utilise une approximation, comme c’est le cas dans de nombreuses
méthodes d’analyse numérique, il est fondamental d’étudier l’erreur d’approximation.
Naturellement, sauf cas particulier, l’expression de l’erreur ne permet pas de calculer
cette erreur exactement (car, s’il en était ainsi, il n’y aurait plus d’erreur) ; elle peut
cependant être très utile pour en calculer une borne supérieure. C’est ainsi que, pour
l’interpolation polynomiale, nous allons énoncer et démontrer un théorème sur l’erreur
d’interpolation.
Définition 4.
Soit f une fonction définie sur unn intervalle I = [a, b] de R et x0 , . . . , xn des points
distincts de I. On appellera erreur d’interpolation d’ordre n, au point x ∈ [a, b] dans
l’interpolation polynomiale de f par le polynôme Pn (x) le réel En (t) défini par :
L’erreur commise lors d’une interpolation est une question fondamentale en analyse
numérique :
• elle renseigne à priori sur la nature de cette erreur
• elle fournit des informations sur les termes qui y participent
30
• elle permet d’avoir un ordre de grandeur de l’erreur commise.
Le résultat suivant donne une expression analytique du terme d’erreur.
où n
+
γn+1 (x) = (x − xi ).
i=0
La relation (2.13) est l’expression analytique de l’erreur d’interpolation.
Supposons que x, x0 , . . . , xn ∈ [a, b] et que f (n+1) (x) soit continue sur [a, b].
Posons * *
* *
Mn+1 = max *f (n+1 (x)*.
x∈[a,b]
Alors,
Cn+1
|En (x)| ! Mn+1 , (2.14)
(n + 1)!
où
Cn+1 = max |γn+1 (x)|.
x∈[a,b]
Preuve. La vérification de ce majorant est facile. Vérifions l’égalité (2.13). Pour cela,
posons
F (t) = f (t) − Pn (t) − cvn (t),
où vn (t) = (t − t0 )(t − t1 ) . . . (t − tn ), et c est une constante donnée par
f (x) − Pn (x)
c= .
vn (x)
On a F (xi ) = 0, pour i = 0, . . . , n et
F (x) = 0, par définition de c.
(qui sont x et les abscisses x0 , . . . , xn ). D’après le théorème de Rolle, F " admet au moins
(n + 1) racines dans I. F (2) (x) possède n racines, et ainsi de suite :
F (n+1) admet au moins une racine dans I. Désignons par ξ cette racine. On a
31
donc
0 = F (n+1) (ξ) = f (n+1) (ξ) − c(n + 1)!
d’où
f (x) − Pn (x) f (n+1) (ξ)
c= = .
vn (x) (n + 1)!
En remplaçant x par t, on obtient
f (n+1) (ξ)
f (t) − Pn (t) = (t − t0 ) . . . (t − tn ) = En (t).
(n + 1)!
Remarque 4.
Le Théorème 2.9 appelle à quelques commentaires.
(i) Que se passe-t-il dasn (2.13) si x est l’un des xi ?
Si x = xi , alors En (ξ) = 0 pour i = 0, 1, 2, . . . et γn+1 (xi ) = 0 donc le résultat
est vrai (en prenant par exemple ξx = xi ).
(ii) Il montre que le polynôme Pn (x) de degré n procure une approximation de la
fonction f (x) avec une erreur E(x). Il reste à évaluer cette erreur.
(iii) Il existe une similarité entre l’erreur d’interpolation et l’erreur reliée au
développement de Taylor. Dans les deux cas, on montre l’existence d’un point ξ(x)
permettant d’évaluer l’erreur, mais que l’on ne peut généralement pas déterminer.
(iv) Puisque le terme d’erreur en un point x fait intervenir des coefficients de la forme
(x − xi ), il y a tout intérêt à choisir les points xi qui sont situés le plus près possible
de x.
(v) La fonction (x − x0 )(x − x1 ) . . . (x − xn ) est un polynôme de degré (n + 1) et
possède donc les (n + 1) racines réelles (xi pour i = 0, 1, . . . , n). Dans certaines
conditions, cette fonction peut osciller avec de fortes amplitudes, d’où le risque
de grandes erreurs d’interpolation. Cette propriété fait en sorte qu’il est délicat
d’effectuer des interpolations en utilisant des polynômes de degré élevé.
Exemple 13.
La valeur de arcsin(0, 5335) est obtenue par interpolation linéaire entre x = 0, 5330
et x = 0, 5340. Estimons l’erreur commise.
Nous avons
(arcsin x)"" = x(1 − x2 )−3/2 et (arcsin x)(3) = (1 + 2x2 )(1 − x2 )−5/2 .
Comme la dérivée troisième est positive sur l’intervalle 0, 533 ! x ! 0, 534, la valeur
maximale de la dérivée seconde est atteinte au point x = 0, 534. D’après la relation
(2.14),
0, 534 (0, 0005)2
|En (x)| ! ! 1, 2 × 10−7 .
(1 − (0, 534)2)3/2 2
Un calcul direct montre que l’erreur exacte est 1, 101 × 10−7 .
Exemple 14.
32
Appliquons la relation (2.13) pour estimer l’erreur faite dans l’exemple 12. Dans le
1
cas qui nous concerne f (x) = 2x , x = et n = 4. On obtient
2
d x d5 x
2 = 2x log 2 et 2 = 2x (log 2)5 ,
dx dx5
où x -−→ log x désigne le logarithme de x avec log 2 ≈ 0, 693147. En appliquant
maintenant la relation (2.13), on trouve que l’erreur d’interpolation dans l’exemple
12 est : , - , - ξ
5 3 1 1 3 2 (log 2)5
En = · · · − · − · ,
2 2 2 2 2 5!
où −2 < ξ < 2. En introduisant les deux valeurs extrêmes de ξ dans cette estimation,
on obtient que l’erreur d’interpolation appartient à l’intervalle [0, 00004 ; 0, 0076].
Ceci est consistant avec l’erreur effective qui est approximativement égale à 0,0021.
Exemple 15.
Il est facile de vérifier que la dérivée de la fonction x -−→ (x − x0 )(x − x1 ) possède
une seule racine, qui est le milieu de l’intervalle [x0 , x1 ]. Ceci permet de déduire que
1
max |(x − x0 )(x − x1 )| = (x1 − x0 )2 . (2.15)
x∈[x0 ,x1 ] 4
Supposons que nous ayons une table de valeurs de x -−→ sin x, tabulée à chaque
intervalle 0, 01. D’après (2.13), l’erreur de l’interpolation entre x0 et x1 est
f (2) (ξx )
f (x) − P1 (x) = (x − x0 )(x − x1 ) (2.16)
2!
Or, pour toute fonction f tel que |f (2) (x)| ≤ M , on a d’après (2.15)
1
|f (x) − P1 (x)| ≤ M h2 , (2.17)
8
où h = x1 − x0 . En particulier, pour x -−→ sin x, on a f " (x) = cos x et f (2) (x) =
− sin x. Donc, on peut prendre M = 1 dans (2.17) et avec h = 0, 01, l’erreur d’inter-
1
polation linéaire n’est pas plus grande que · 10−4 .
8
"
Ces exemples précisent les faits suivants. Afin d’utiliser l’estimation (2.15), il est
nécessaire d’avoir une expression des dérivées d’ordre élevé de la fonction interpolée, et
il est nécessaire d’obtenir une borne supérieure pour la valeur de cette dérivée sur un
certain intervalle. Mais pensons, par exemple, à la dérivée huitième de x -−→ arcsin x !
Ce travail pourrait être une tâche formidable même pour des fonctions tout à fait
élémentaires. Il y a plusieurs manières de surmonter cette difficulté.
Exemple 16.
33
Exemple de construction et d’évaluation de la fonction x -−→ sin x
Dans le cas du remplacement d’une fonction connue f (x) par son polynôme d’inter-
polation basé sur des abscisses équidistants xk = x0 + kh, k = 0, 1, 2, . . . , n, on peut
fixer le pas h d’interpolation afin d’encadrer l’erreur commise. On remarquera que le
changement de variable ramène l’intervalle d’interpolation [min xi , max xi ] à [0, n].
i i
Commençons par un exemple.
Exemple 17.
Soit f (x) = cos x. Pour une valeur x proche de 0 mais positive, approximons f par
un polynôme d’interpolation de dégré inférieur ou égal à 2 basé sur les abscisses 0, h
et 2h. Choisissons un pas d’interpolation qui garantit
L’expression x(x − h)(x − 2h) a deux points critiques. La valeur maximale de |x(x −
2h3
h)(x − 2h)| est atteinte aux deux et vaut √ . Donc,
3 3
1 2h3
|f (x) − P2 (x)| ! √ .
63 3
Or,
34
1 2h3 √
√ ! 10−6 ⇐⇒ 9 310−6 ⇐⇒ h ! 0, 024 980 495 3.
63 3
d’où le résultat voulu de l’erreur en choisissant h borné de la sorte.
Le théorème ci-dessous donne une borne pour l’erreur en fonction du pas d’interpo-
lation h et évite de répéter les calculs fastidieux.
Théorème 2.10.
Soit f une fonction réelle à variable réelle, f ∈ C n+1 , xk = x0 + kh pour
k = 0, 1, . . . , n, des points de son domaine et Pn (x) le polynôme d’interpolation
de degré inférieur ou égal à n associé à f et basé sur les abscisses equidistants
x0 , x1 , . . . , xn . Alors
En particulier
1 1 1
C2 = , C3 = √ , C4 = , C5 =0,030261,..., C6 =0,023473464....
8 9 3 24
Preuve. Il suffit d’effectuer une dilatation pour se placer dans le cas le plus simple où
h = 1, puis d’appliquer directement le théorème 2.9.
En effet, posons
x − x0
r= ou encore (x − x0 ) = rh
h
On remarque alors que
x − xi = x − (x0 + ih)
= (x − x0 ) − ih
= (r − i)h.
Exemple 18.
Soit la fonction ex approximée par son polynôme d’interpolation de La-
grange de degré inférieur ou égal à 4 basé sur les abscisses x0 = 0; x1 =
0, 0001; x2 = 0, 0002; x3 = 0, 0003; x4 = 0, 0004. Selon le théorème précédent, pour
35
x ∈ [0, 0, 0004], on obtient :
|f (x) − P4 (x)| ! C5 h5 max |ex |
0!x!0,0004
= >
≈ 0, 030 261 0, 00045 e0,0004 ≈ 2, 027 × 10−22 .
Cette erreur est très petite. Sur le même intervalle [0; 0, 0004], un polynôme d’in-
terpolation linéaire (de degré 1) basé sur 0 et 0,0004 aurait, à coût réduit, donné la
borne
|f (x) − P4 (x)| ! C2 h2 max |ex |
0!x!0,0004
1 2
= (0, 0004) e0,0004 ≈ 0, 000 000 02.
8
Le choix de P4 ou P3 dépend de la qualité exigée des résultats, par rapport au
coût considéré, à la précision des valeurs initiales des f (xi ) et aux accumulations
evéntuelles d’erreurs dans le tableau.
La borne d’erreur (2.14) est typique parce qu’elle exige que f soit de classe C n+1 . Il est
possible d’obtenir cette estimation sous des hypothèses plus faibles sur f . En particulier
la formule de l’erreur En (f ) = f (x)−Pn (x) est vérifiée pour toute fonction f ∈ C n ([a, b])
telle que f (n) soit différentiable dans ]a, b[ et que l’estimation
Mn+1
|En (x)| ! |(x − x0 ) . . . (x − xn )|,
(n + 1)!
soit vérifiée sous les mêmes hypothèses que f (n+1) est bornée. En général, cependant, si
nous affaiblisons les hypothèses sur la différentiabilité de f , nous obtiendrons une borne
d’erreur plus faible.
D’autre part, cette estimation d’erreur ne peut être en général vraie en supposant
plus sur la différentiabilité. En fait, ceci est optimal dans le sens que nous pouvons
explicitement trouver une fonction pour laquelle la limite est réalisée. En effet, en prenant
f := γn+1 , de sorte que Mn+1 := (n + 1)!, nous avons la borne d’erreur
|En (x)| ! |(x − x0 ) . . . (x − xn )| = |γn+1 (x)|.
Mais dans ce cas Pn (x) = 0, puisque c’est le seul polynôme dans l’espace Pn qui vérifie
γn+1 aux points x0 , . . . , xn et nous aurons |En (x)| = |γn+1 |.
Rappelons qu’on définit la norme du maximum d’une fonction f ∈ C 0 [a, b]) par
/f /∞ = max |f (x)|.
x∈[a,b]
Dans le cas où /·/ := /·/∞ sur l’intervalle I := [min xi , max xi ], nous pouvons déduire
i i
une borne particulièrement très utilisée sur l’erreur d’interpolation /f − P /. Nous allons
le faire en en prouvant que γn+1 vérifie
n! n+1
/γn+1 /∞ = max |(x − x0 ) . . . (x − xn )| ! h ,
x∈I 4
36
où h est la distance maximale entre les points de repères voisins.
Théorème 2.11.
Dans le cas particulier où les nœuds sont équirépartis on a le résultat suivant :
|Ef (x)| := /f − Pn /∞
1 * *
* *
! hn+1 max *f (n+1) (x)* (2.18)
4(n + 1) a!x!b
où h = (b − a)/n.
(x1 − x0 )2 h2
|(x − x0 )(x − x1 )| ! = ,
4 4
où l’on a noté h = (b − a)/n.
De plus, ∀ i > 1, on a |(x − xi )| ! ih. Donc
n
+ h2 hn+1 n!
max (x − xi )| ! 2h 3h . . . nh =
x∈[a,b]
i=0
4 4
, -n+1
n! b − a
=
4 n
37
d’où la relation (2.18). !
Remarque 5.
(a) La borne ci-dessus d’erreur a été obtenue en utilisant une estimation très grossière
de la taille de γn+1 , mais néanmoins, elle donne l’ordre correct en terme de h.
(b) On pourrait être tenté de croire que lorsqu’on augmente le degré du polynôme
de collocation sur un intervalle donné, on a
lorsque f est indéfiniment dérivable. Il n’en est rien. La taille de l’erreur dépend
non seulement de la fonction f , mais aussi du choix des points d’interpolation. Le
fait que
, -n+1
1 b−a
lim =0
n→∞ 4(n + 1) n
n’implique pas que En (f ) tend vers zéro quand n → ∞. La convergence uniforme
n’est pas garantie quand les nœuds d’interpolation sont équirépartis. Il n’est pas
vrai en général que la suite Pn (x) converge vers f quand n tend vers l’infini, même
en convergence simple. Un contre-exemple célèbre est donné par la fonction f (x) =
1
pour des points équirépartis sur l’intervalle [−1, 1] (phénomène de Runge).
1 + x2
On peut par ailleurs montrer que le meilleur choix de points d’interpolation consiste
à prendre les racines des polynômes de Tchebychev. Il existe aussi des critères de
convergence pour les fonctions analytiques.
Exercice corrigé
38
(1) D’après 2.13, pour tout i ∈ {0, . . . , n}, on a
f (2) (ξ)
ei,1 (x) = (x − xi )(x − xi+1 ), ξ ∈ [xi , xi+1 ],
2
si bien que
1
∀ x ∈ [xi , xi+1 ], |ei,1 (x)| ! M1,i |x − xi ||x − xi+1 |,
2
où
M1,i = sup |f (2) (x)|.
x∈[xi ,xi+1 ]
h2
(2) Pour ε > 0, |ei,1 | est majorée par ε si la condition suffisante M1 ! ε, est vérifiée,
8
c’est à dire ? ?
8ε 2ε
h ! hmax où hmax = =2 .
M1 M1
(3) Avec
f (3) (ξ)
ei,2 (x) = (x − xi )(x − xi+1 )(x − xi+2 ), ξ ∈ [xi , xi+2 ],
3
on applique le même raisonnement, en remarquant que cette√fois-ci, le maximum
de la fonction x -−→ (x − xi )(x − x√i+1 )(x − xi+2 ) est égal à 2 3/9h3 , et donc
3 3
∀ x ∈ [xi , xi+2 ], |e2,1 (x)| ! h M2 où M2 = sup |f (3) (x)|.
27 x∈[xi ,xi+1 ]
On peut naturellement majorer grossièrement |(x √ − xi )(x − xi+1 )(x − xi+2 )| par
2h × h × 2h2 = 4h3 . La majoration fine fournit 2 3/9h3 ≈ 0, 38h3 , divisant l’erreur
par 10, gain non négligeable sur le plan numérique.
(4) Pour ε > 0, |ei,2 | est majorée par ε si la condition suffisante
@ √
3 9 3ε
h ! hmax où hmax = .
M2
est vérifiée.
√
(5) Si f (x) = x sur [1, 2], on a :
1 1 3
f " (x) = x−1/2 , f (2) (x) = − x−3/2 , f (3) (x) = x−5/2 ,
2 4 8
ce qui entraı̂ne, puisque x -−→ x −3/2
et x -−→ x −5/2
sont décroissantes sur [1, 3] :
1 −3/2 1 3 −5/2 3
M1 = 1 = , M2 = 1 = ,.
4 4 8 8
On montrera rapidemment, que pour f (x) = ex , on a aisément
M 1 = M 2 = e3 .
39
2.5.3 Erreur d’interpolation et différences divisées
Nous allons maintenant donner une alternative du terme d’erreur pour l’interpolation
polynomiale qui a le mérite d’être applicable à toutes les fonctions et non pas seulement
à celles possédant des dérivées d’ordre supérieures comme dans (2.13). Ce terme d’erreur
comporte des termes de différences divisées. En fait l’expression analytique de l’erreur
d’interpolation (2.13) ne permet d’évaluer la précision de l’approximation, pourtant, il
est souhaitable de pouvoir l’évaluer même de façon grossière. Cela est possibe grâce à la
formule de Newton. Puisque cette expression fait intervenir la dérivée d’ordre (n + 1) de
la fonction f (x) en x = ξ, c’est ce terme qu’il est nécessaire d’estimer, puisque c’est le
seul qui ne puisse être évalué. Pour ce faire, considérons le cas particulier où les abscisses
xi sont également distantes, c’est à dire où
xi+1 − xi = h.
Il faut établir un lien entre les dérivées de la fonction f (x) et les différences finies.
• On remarque dans un premier temps que f [x0 , x1 ] est une approximation d’ordre
1 de la dérivée de f (x) en x = x0 :
En effet, on a :
f (x1 ) − f (x0 ) f (x0 + h) − f (x0 )
f [x0 , x1 ] = = .
x1 − x0 h
L’application du dévéloppement de Taylor permet d’obtenir :
, -
f "" (x0 ) 2
f (x0 ) + f (x0 )h +
"
h + O(h ) − f (x0 )
3
2
f [x0 , x1 ] =
h
f "" (x0 )
= f (x0 )h +
"
h + O(h2 ) = f " (x0 ) + O(h).
2
On peut, de même montrer qu’à une constante près la n-ième différence divisée
de f (x) est une approxmation d’ordre 1 de la dérivée n-ième de f (x) en x = x0 ,
et par récurrence, nous allons montrer que
f (n) (x0 )
f [x0 , . . . , xn ] = + O(h).
n!
De même, on a
f [x] = f [x0 ] + (x − x0 )f [x, x0 ]. (2.21)
Dans le membre de droite de (2.21), on remplace maintenant f [x, x0 ] en appli-
quant (2.20) avec n = 1. Cela entraı̂ne
40
où P1 (x) est le polynôme d’interpolation de f basé sur deux abscisses x0 et x1 .
On peut contnuer le procédé en remplaçant f [x, x0 , x1 ] dans (2.22) et en utilisant
(2.20) avec n = 2. On obtient ainsi
En comparant (2.24) et (2.6), on voit que si les conditions du Théorème 2.9 sont
réalisées, alors il existe un nombre ξx tel que
f (n+1) (ξx )
f [x, x0 , x1 , . . . , xn ] = .
(n + 1)!
Puisque cette relation est vraie pour tout x ∈ [a, b] qui contient tous les abscisses
xj et comme f vérifie les conditions du Théorème 2.9, on peut remplacer n par
n − 1 et prendre x = xn , on obtient
f (n+1) (ξx )
f [x0 , x1 , . . . , xn ] = , ξ ∈]x0 , xn [. (2.24)
(n + 1)!
Une conséquence du théorème 2.9 sur l’erreur d’interpolation est donc le résultat
suivant :
Théorème 2.12.
Soit xn+1 et les abscisses x0 , x1 , . . . , xn contenu dans un intervalle [a, b] sur lequel
f est ses n dérivées sont continues, et supposons que f (n+1) existe sur l’intervalle
ouvert ]a, b[. Alors, il existe ξx ∈]a, b[, dépendant de x, tel que
Remarque 6.
41
On voit qu’à l’aide des différences divisées on obtient une forme très générale de
l’erreur d’interpolation. Cette expression de l’erreur n’est pas utilisable en pratique
car le calcul de [x, x0 , . . . , xn ] fait intervenir f (x). Néanmoins, lorsque f est (n + 1)
continuement différentiable, l’erreur d’interpolation peut se mettre sous la forme
plus maniable.
Exemple 19. √
Soit la table de la fonction x -−→ x. Puisqu’on connaı̂t la fonction (dans la pratique,
ce n’est pas toujours le cas), on est donc en mesure d’évaluer l’erreur exacte et de
la comparer avec son approximation obtenue à l’aide de la relation (2.25).
x f (xi ) f [xi , xi+1 ] f [xi , . . . , xi+2 ] f [xi , . . . xi+3 ] f [xi , . . . xi+4 ]
7 2, 645 751
0, 177 124
0, 133 716
15 3, 872 983
√
Essayons d’avoir une approximation de 8 à l’aide de cette table.
(i) En se basant sur un polynôme de degré 1 et en prenant x0 = 7, on obtient
P1 (x) = 2, 645 751 + 0, 1777 124(x − 7)
de sorte que
P1 (8) = 2, 822 875
L’erreur exacte en x = 8 est alors :
√
E1 (8) = f (8) − P1 (8) = 8 − 2, 822 875 = 0, 005 552 125.
D’après l’expression (2.25), on peut estimer cette erreur par le terme suivant dans
la formule de Newton, c’est à dire
E1 (8) ≈ −0, 004 702 99 (8 − 7)(8 − 9) = 0, 004 702 9.
A BC D
f [x0 ,x1 ,x2 ]
42
(iii) En prenant un polynôme de degré 3, on obtient :
P3 (x) = P2 (x) + 0, 000 206 783(x − 7)(x − 9)(x − 11)
qui entraine que
P3 (x) = 2, 827 578 301 + 0, 000 620 349 = 2, 828 198 339,
soit une erreur exacte de 0, 000 228 786, près de la valeur obtenue au moyen de
l’équation (2.25) :
E3 (8) ≈ −0, 9692 × 10−5 (8 − 7)(8 − 9)(8 − 11)(8 − 13) = 0, 000 145 380
A BC D
f [x0 ,x1 ,x2 ,x3 ,x4 ]
Le signe des dérivées alterne, tout comme le signe des différences colonnes de la
table de différences divisées.
"
Exemple 20.
Soit la table des différences divisées suivantes :
x ex
1, 162 318 40
43
2.6 Polynômes de Tchebychev
Supposons que x0 , . . . , xn et tous les points x possibles appartiennent à l’intervalle
[−1, 1] (auquel on pourra toujours se ramener par un changement de variable). On a alors
On peut alors se poser la question de savoir comment choisir les points d’interpolation
x0 , . . . , xn de façon à rendre ce terme le plus petit possible. On aura ainsi minimisé une
borne supérieure de l’erreur (et non pas l’erreur elle-même, ce qui est différent).
Exemple 21.
Considérons l’intervalle [−1, 1], le cas n = 2 est une distribution symétrique des xi .
On cherche alors p(x) = (x − a)x(x + a) = x3 − ax satisfaisant (2.28). On voit sur
la figure ci-dessous que, pour a = 0, on a L = 1 puis cette valeur diminue quand
a croı̂t, jusqu’au moment où la courbe touche les bornes +L et −L à l’intérieur de
[−1, 1] (pour a = 3/4) ; après, L recommence de croı̂tre. La solution optimale est
donc p(x) = x3 − 3x/4.
"
Si nous exprimons ceci avec la formule binomiale, et prenons la partie réelle de cette
équation, il vient
, - , -
n n−2 2 n n−4 2
cos(n arccos x) = cos nθ = xn + x (x − 1) + x (x − 1)2 + . . .
2 4
44
Ainsi, cos nθ est un polynôme de degré n defined par
Définition 5.
On appelle polynôme de Tchebychev de degré n, l’aplication Tn de [−1, 1] dans
lui-même définie par
T0 (x) = 1
T1 (x) = x
T2 (x) = 2x2 − 1
T3 (x) = 4x3 − 3x
T4 (x) = 8x4 − 8x2 + 1
T5 (x) = 16x5 − 20x3 + 5x
T6 (x) = 32x6 − 46x4 + 18x2 − 1.
Proposition 2.13.
(a) Les polynômes de Tchebychev vérifient la relation de récurrence :
(b) Tn (x) est un polynôme de degré n dont le coefficient de xn est 2n−1 , c’est à dire
Tn (x) = 2n−1 xn + . . .
(c) |Tn (x)| ! 1 pour x ∈ [−1, 1].
, , --
kπ
(d) Tn cos = (−1)k , pour k = 0, 1, . . . , n.
n
, , --
(2k + 1)π
(e) Tn cos = 0, pour k = 0, 1, . . . , n − 1.
2n
E
(f) Les polynômes Tn (x) sont orthogonaux par rapport à la fonction de poids 1/ 1 − x2
F 1 π si n = m &= 0
1
√ Tn (x)Tm (x)dx = π/2 si n = m = 0 (2.30)
−1 1 − x2
0 si n &= m
45
Preuve. La formule (2.29) est une conséquence de
Théorème 2.14.
Posons
1
T̃n (x) = Tn (x).
2n−1
Notons que T̃n (x) = xn + termes de degré inférieur.
Soit P̃n la classe de toutes les fonctions polynômiales de degré n de coefficient
dominant 1. Alors, pour tout P ∈ P̃n ,
max |T̃n (x)| ! max |P (x)|.
−1!x!1 −1!x!1
Comme corollaire, on a :
1
max |a0 xn + a1 xn−1 + . . . + an | "
−1!x!1 2n−1
et
(b − a)n
max |xn + a1 xn−1 + . . . + an | " |a0 | .
−a!x!b 22n−1
Lorsque le polynôme d’interpolation est effectué sur les zéros de Tn+1 (x) :
x0 , x1 , . . . xn , on a
T̃n+1 (x) = (x − x0 ) . . . (x − xn )
et on obtient, l’erreur que nous noterons EnTcheb (x) définie par
46
2.7 Convergence
Puisque l’on cherche à approximer une fonction f par un polynôme d’interpolation,
il est une seconde question qu’il est naturel de se poser : celle de la convergence (en un
sens à préciser) de ces polynômes d’interpolation lorsque n augmente indéfiniment.
(n) (n) (n)
On se donne n et des abscisses d’interpolation distinctes x0 , x1 , . . . , xn . Soit Pn
le polynôme tel que :
(n) (n)
Pn (xi ) = f (xi ), pour i = 0, . . . , n
Soit C ∞ [−1, 1] l’espace des fonctions continues sur [–1, +1] muni de la norme :
/f /∞ := /f / = max |f (x)|
x∈[−1,1]
Théorème 2.15.
(n)
Quelle que soit les abscisses xi pour i = 0, . . . , n et pour n = 0, 1, . . ., il existe au
moins une fonction f ∈ C ∞ [−1, 1] telle que la suite des polynômes d’interplation
(Pn ) ne converge pas vers f dans C ∞ [−1, 1], c’est à dire telle que
max |f (x) − Pn (x)|
x∈[−1,1]
On voit donc qu’il faut faire attention : le résultat ne sera pas toujours meilleur
en augmentant n. Nous avons obtenu un résultat négatif parce que nous demandions
beaucoup : nous avons seulement imposé à f d’être continue et nous n’avons imposé
aucune contrainte sur les points d’interpolation. Dans la pratique, il n’y a pas lieu d’être
aussi pessimiste car, dès que l’on demande moins, en imposant soit des conditions sur f ,
(n)
soit des conditions sur les xi , on obtient des résultats positifs. C’est ainsi que l’on a
Théorème 2.16.
(n)
Quelle que soit f ∈ C ∞ [−1, 1], il existe des abscisses xi pour i = 0, . . . , n et
pour n = 0, 1, . . ., telles que
lim max |f (x) − Pn (x)| = 0.
n→∞ x∈[−1,1]
(n)
Cependant, il n’existe pas de famille d’abscisses xi qui conviennent pour toutes les
fonctions continues et il est plus intéressant d’ajouter des conditions sur f comme le
montre le
47
Théorème 2.17.
Si f ∈ C ∞ [−1, 1], a une dérivée k-ième continue (pour un certain k ≥ 1), alors
lim max |f (x) − Pn (x)| = 0.
n→∞ x∈[−1,1]
(n)
lorsque les xi sont les racines de Tn+1 . De plus on a
8 n9
lim max |f (x) − Pn (x)| = O log k .
n→∞ x∈[−1,1] n
Théorème 2.18.
Une condition nécesaire et suffisante pour qu’il existe un unique polynôme d’in-
terpolation d’Hermite de f en x0 , . . . , xn de degré au plus égal à 2n + 1 est que
les abscisses x0 , . . . , xn soient toutes distinctes les unes des autres.
avec
+n
(x − xi )
Li (x) = .
j=0
(xi − xj )
j!=i
48
Théorème 2.19.
Soit f ∈ C 2n+2 ([a, b]) et soit Pn (x) le polynôme d’interpolation de Hermite de
f sur les points (xi , f (xi ), pour i = 0, 1, . . . , n. Pour tout x ∈ [a, b], il existe un
intervalle
I =] min (x, xi ), max(x, xi )[
i i
tel que l’erreur f (x) − Pn (x) est
Exemple 22.
Déterminons le polynôme d’interpolation d’Hermite (2.33) pour sin πx avec les
points d’interpolation 0, 1/2 et 1. Après quelques calculs fastidieux, on obtient après
simplifications que (2.33) se ramène à
où f (x) = sin πx ; le maximum de la valeur de |x2 (x − 12 )2 (x − 1)2 | sur [0, 1] est 1
432
√
atteint aux points 12 ± 63 , si bien que
1 π6
max | sin πx − p(x)| ! < 0, 0031.
0!x!1 432 6!
49
2.9.1 Polynômes de Bernstein et représentation de Bézier
Les polynômes de Bernstein sont définis par :
n!
Bkn (x) = Cnk (1 − x)n−k xk , 0 ! k ! n, Cnk = .
k!(n − k)!
n+1
Bn=1 (x) = xBnn (x)
De plus
n
!
Bkn (x) = 1
k=0
n
! k n
B (x) = x
n k
k=0
n
k(k − 1) ! k n
B (x) = x2 .
n(n − 1) n k
k=0
Pour n ≥ 1, le polynôme Bknadmet les points 0 et 1 comme racines avec les multiplicités
respectives k et n − k et il atteint son maximum en k/n.
Les polynômes de Bernstein B0n , . . . , Bnn forment une base de l’espace vectoriel des
polynômes de degré au plus égal à n. Tout polynôme a0 + a1 x + . . . + an xn peut donc être
écrit dans cette base P (x) = b0 B0n (x)+. . . bn Bnn (x). Cette forme s’appelle représentation
de Bézier. Ces coefficients bi sont reliés aux ai par b0 = a0 et bi = −∆a0i (∆ agit
sur le premier indice inférieur), où aki = bk pour k = 0, . . . , i − 1 et aii = −ai /Cni .
Réciproquement, ak = Cnk ∆k b0 pour k = 0, . . . , n.
Dans R2 , les points (i/n, bi ) pour i = 0, ..., n, sont les points de Bézier (ou points
de contrôle) et la ligne polygonale qui les relie s’appelle le polygone de Bézier de P . Il
contient le graphe de P et a une forme similaire. De plus, les points (0, b0 ) et (1, bn )
appartiennent au graphe de P . Pour modifier P afin d’obtenir une forme désirée, il suffit
de modifier la position des points de Bézier. C’est cette propriété qui fait tout l’intérêt
de la représentation de Bézier en conception géométrique assistée par ordinateur [CAGD
(Computer Aided Geometric Design) ou CAO (Conception assistée par ordinateur)]. Il
est possible de calculer récursivement les valeurs de P et de ses dérivées en tout point
par l’algorithme de De Casteljau à partir des coefficients de Bézier.
Soit 0 ! y ! s ! n. On pose
s
!
brs (x) = s−r
bi Bi−r (x).
i=r
On a
brr (x) = br
et
brs (x) = (1 − x)br,s−1 (x) + xbr+1,s (x), r<s
On a b0n (x) = P (x) et
50
n!
P (k) (x) = ∆k b0n (x),
(n − k))
où l’opérateur ∆ agit sur le premier indice.
La représentation de Bézier et l’algorithme de De Casteljau s’étendent aux courbes
paramétrées et aux surfaces. Ce sont des ingrédients majeurs dans la représentation de
courbes et de surfaces par des fonctions splines.
51
La représentation de Bézier et l’algorithme de De Casteljau s’étendent à Rn .
52
2.9.4 Splines cubiques d’interpolation
Les splines cubiques sont parmi les plus utilisées. Elles correspondent à k = 3, ou à
2k − 1 = 3 dans le cas des splines naturelles.
Définition 6.
Soit (x0 , y0 ), (x1 , y1 ), (x2 , y2 ), . . . (xn , yn ), (n + 1) points donnés à abscisses x0 <
x1 < . . . < xn croissantes.
Par définition, une fonction spline cubique est une fonction f (x) de classe C 2 , définie
par morceaux, polynomiale de degré inférieur ou égal à 3 sur chacun des intervalles
[xi−1 , xi ] et telle que f (xi ) = yi pour tout i.
Soit Pi (x), la partie polynomiale de f (x) de degré inférieur ou égal à 3 définie sur
[xi−1 , xi ]. Soit Mi définie par Mi = Pi"" (xi ). (En principe, on pourra calculer Mi à l’aide
de l’égalité Mi = Pi+1
""
(xi ), uisque f "" (x) est continue).
Les paramètres M0 , M1 , . . . , Mn déterminent uniquement la spline f (x) à faible coût.
En effet, le polynôme Pi"" (x) de degré inférieur ou égal à 1 atteint les valeurs Mi−1 et Mi
aux bornes de son domaine [xi−1 , xi ]. La forme de Lagrange permet d’écrire
x − xi x − xi−1
Pi"" (x) = Mi−1 + Mi , pour xi−1 ! x ! xi ,
xi−1 − xi xi − xi−1
c’est à dire
x − xi x − xi−1
Pi"" (x) = −Mi−1 + Mi , pour xi−1 ! x ! xi .
xi − xi−1 xi − xi−1
(x − xi )3 (x − xi−1 )3
Pi (x) = −Mi−1 + Mi + Ki (x − xi−1 ) + Li .
6(xi − xi−1 ) 6(xi − xi−1 )
53
Or Pi (xi−1 ) = yi−1 et Pi (xi ) = yi . Par substitution dans la formule ci-dessus, on obtient
deux contraintes linéaires sur Ki et Li , à savoir
si bien que
(x − xi )3 (x − xi−1 )3
Pi (x) = −Mi−1 + Mi
6(xi − xi−1) 6(xi − xi−1 )
, -
yi xi − xi−1
+ − Mi (x − xi−1 )
xi − xi−1 6
, -
yi−1 xi − xi−1
− − Mi−1 (x − xi−1 ), xi−1 ! x ! xi .
xi − xi−1 6
54
(iii) Les conditions f " (x0 ) = y0" , f "" (x0 ) = yn" donnent
x1 − x0 y1 − y0
(M0 + 2M1 ) = −y0" + , et
6 x1 − x0
xn − xn−1 yn − yn−1
(Mn−1 + 2M1 ) = yn" − ,
6 xn − xn−1
Dans chaque cas, on obtient un système linéaire de taille (n + 1) par (n + 1). La
solution unique de ce système fournit les parmètres qui servent à calculer f (x).
Théorème 2.20.
Soit (x0 , y0 ), (x1 , y1 ), (x2 , y2 ), . . . (xn , yn ), (n + 1) points donnés à abscisses x0 <
x1 < . . . < xn croissantes.
Alors, la spline cubique naturelle f (x) = Pi (x), xi−1 ! x ! xi , existe et est
unique.
(x − xi )3 (x − xi−1 )3
Pi (x) = −Mi−1 + Mi (2.35)
6(xi − xi−1) 6(xi − xi−1)
, -
yi xi − xi−1
+ − Mi (x − xi−1 )
xi − xi−1 6
, -
yi−1 xi − xi−1
− − Mi−1 (x − xi−1 ), xi−1 ! x ! xi .
xi − xi−1 6
55
i = 1, 2, 3, . . . , n − 1. Donc, la matrice de coefficients est diagonalement dominante, et
par conséquent, la solution du système linéaire sous-jacent existe et est unique.
!
Exemple 23.
Construisons une spline cubique à partir des données
x −4 −1 2 5 8 11
ux −720 −147 210 675 1572 3225
On obtient ainsi :
−8496 3888 7992 24 336
M0 = 0, M1 = , M2 = , M3 = , M4 = et M5 = 0.
209 209 209 209
Après simplification, on obtient pour tout 2 ! x ! 5 :
216 444 43029 12686
p3 (x) = − (x − 5)3 + (x − 2)3 + (x − 2) − (x − 5).
209 209 209 209
Pour chacun des intervalles [−4, −1], [−1, 2], [5, 8] et [8, 11], on peut substituer les
valeurs connues de M0 , M1 , M2 , M3 , M4 et M5 et écrire les polynômes P1 , P2 , P4 et
P5 explicitement.
"
Remarque 7.
Introduisons la notation fi"" pour désigner la valeur de la dérivée seconde de la spline
au point intérieur xi et rappelons-nous que
p""i (xi ) = p""i+1 (xi ) = fi"" , pour i = 1, 2, . . . n − 1.
Posons aussi
hi = xi − xi−1 , pour i = 1, 2, . . . n − 1.
Alors, la spline cubique naturelle f (x) = Pi (x), xi−1 ! x ! xi , peut se simplifier
sous la forme, pour i = 1, 2, . . . n − 1,
""
hi fi−1 + 2(hi + hi+1 )fi"" + hi+1 fi+1
""
= 6(f [xi , xi+1 ] − f [xi−1 , xi ]).
Mais puisque
hi + hi+1 = xi − xi−1 + xi+1 − xi = xi+1 − xi−1
on obtient aussi, pour i = 1, 2, . . . n − 1
hi hi+1
f "" + 2fi"" + f "" = 6f [xi−1 , xi , xi+1 ], (2.36)
(hi + hi+1 ) i−1 (hi + hi+1 ) i+1
56
faisant apparaı̂tre les deuxièmes différences divisées.
Exemple 24.
Soit les quatre points suivants : (1, 1) , (2, 4), (4, 9), (5, 11). On donne les informations
suivantes sur f
i xi f (xi ) f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] hi
0 1 1
3 1
1 2 4 −1/6
5/2 2
2 4 9 −1/6
2 1
3 5 11
57
2.10 Exercices
Tous les exercices de ce chapitre sont corrigés dans la Section 7 de ce polycopié.
Exercice 1.
Expliquez la différence entre interpolation et approximation.
Quelle méthode choisiriez-vous :
– si les données correspondent à des valeurs expérimentales considérées comme sûres ?
– si les données sont très nombreuses ?
Exercice 2.
Construire le polynôme d’interpolation qui passe par les points (0, 1), (2, 5), (3, 10)
et (4, 15).
Exercice 3.
Soient x0 = 0, x1 = 1/2 et x2 = 1.
1. Construire les polynômes d’interpolation de Lagrange Li , i = 0, 1, 2.
2. Soit f (x) = 1/(1 + x). Construire le polynôme P d’ordre 2 qui interpole f aux
points xi , i = 0, 1, 2.
Exercice 4.
Soit f une fonction réelle à variable réelle.
1. On donne f (4) ≈ af (0) + bf (1) + cf (2) + df (3). Déterminer a, b, c, et d.
2. Calculer une valeur approximative de f (9) à l’aide du polynôme d’interpolation
basé sur f (2) = 3, f (3) = 8 et f (10) = 12.
Exercice 5.
Soit f une fonction réelle à variable réelle. Dresser le tableau de différences divisées
des données suivantes et écrire le polynôme d’interpolation.
f (−2) = 970; f (0) = 730; f (1) = 739; f (4) = 850.
Exercice 6.
Soit f une fonction réelle à variable réelle telle que
f (5) = f [a] − 2f [a, b] + 14f [a, b, c] + 196f [a, b, c, d].
Déterminer a, b, et c.
Exercice 7.
On donne trois valeurs d’une foncton f définies sur [1, 6].
f (1) = 1, 5709; f (4) = 1, 5727; f (6) = 1, 5751.
1. En utilisant les polynômes de Lagrange relatifs au support {1, 4}, donner une valeur
approchée de f (3, 5) grâce au polynôme d’interpolation de f de degré un.
2. En utilisant les polynômes de Lagrange relatifs au support {1, 4, 6}, donner une
valeur approchée de f (3, 5) grâce au polynôme d’interpolation de f de degré deux.
3. Répondre aux deux questions précédentes en utilisant la forme de Newton.
4. Comparer les deux méthodes et conclure.
58