Vous êtes sur la page 1sur 50

2

Interpolation

2.1 Position du problème


On se donne
• une fonction réelle d’une variable réelle (ou, ce qui ne change rien, une fonction
complexe d’une variable complexe) f , définie sur un intervalle [a, b] de R ;
• une subdivision {xi ; 0 ! i ! n} de [a, b], telle que
0 ! x0 < x1 < . . . < xi < xi+1 < . . . < . . . < xn ! b où n ∈ N.
On suppose que l’on connaı̂t les valeurs de f (x0 ), f (x1 ), . . . , f (xn ) et on cherche s’il
existe un polynôme P de degré inférieur ou égal à n ∈ N tel que

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

ν 1, 308 1, 141 1, 005 0, 896 0, 804 0, 727 0, 661

On souhaite maintenant avoir une estimation de la viscosité pour T = 23.


− L’interpolation linéaire donne :
3
1.005 + (0.896 − 1.005) = 0.9396 ≈ 0.94
5
Le symbole “≈” n’a pas ici d’autre signification que “est proche de”. En particulier,
il n’exprime aucune propriété particulière de l’approximation !
− L’interpolation cubique donne 0.937 en effectuant les calculs avec Maple.
− Le résultat de mesure est : 0.941.

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

puis, à évaluer ensuite ce polynôme en x. Si ce polynôme approxime bien la fonction


f , on peut espérer que f (x) ≈ Pk (x). Les points (xi , f (xi )), pour i = 0, 1, 2 . . . , n, sont
appelés points de collocation ou points d’interpolation et peuvent provenir de données
expérimentales ou d’une table.
" m
#
!
p(xi ) = ak xki = f (xi ), 0 ! i ! n
k=0
    
1 x0 . . . xn0 a0 f (x0 )
1 . . . xn1     
 x1   a1   f (x1 ) 
⇐⇒  . ..   ..  =  .. 
 .. ... .  .   . 
1 xn . . . xnn am f (xn )
Trois éventualités peuvent se réaliser ; le problème admet :
(i) une solution unique. Alors n = m ;
(ii) aucune solution ;
(iii) plusieurs solutions.

On a le résultat fondamental suivant, en supposant qu’au moins l’une des quantités


f (xi ) &= 0.

Théorème 2.1. (Condition nécessaire d’interpolation)


Une condition nécessaire et suffisante pour qu’il existe un unique polynôme P
de degré au plus égal à n qui interpole f en x0 , x1 , . . . , xn est que les abscisses
d’interpolation soient toutes distinctes les unes des autres.

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

admette une solution unique. Le déterminant de ce système est ce qu’on appelle un


déterminant de Vandemonde :
* *
* 1 x0 . . . xn0 *
* * n
* 1 x1 . . . xn1 * +
* *= (xi − xj ).
*. . . . . . . . . *
* *
* 1 xn . . . xnn * i>j

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.

Le polynôme L0 (x) doit s’annuler en x = x1 . On peut choisir le polynôme (x − x1 ) qui


s’annule en x = x1 , mais qui vaut (x0 − x1 ) en x = x0 . Pour s’assurer d’une valeur en
x = x0 , il suffit d’effectuer la division appropriée afin d’obtenir :
(x − x1 )
L0 (x) = .
(x0 − x1 )

Un raisonnement similaire pour L1 (x) donne

(x − x1 )
L1 (x) = .
(x1 − x0 )
Le polynôme degré 1 recherché est donc

p1 (x) = f (x0 )L0 (x) + f (x1 )L1 (x).

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 )

Cette fonction vaut bien 1 en x0 et 0 en x1 et x2 . En procédant come précédemment, on


obtient les fonctions L1 (x) et L2 (x) définies par :

(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 )

en x = x0 . On obtient alors, après division

(x − x1 )(x − x2 )(x − x3 ) . . . (x − xn )
L0 (x) =
(x0 − x1 )(x0 − x2 )(x0 − x3 ) . . . (x0 − xn )

On s’aperçoit qu’il y a n facteurs de la forme (x − xi ) dans cette expression et qu’il s’agit


bien d’un polynôme de degré n. Pour la fonction L1 (x), on pose

(x − x1 )(x − x2 )(x − x3 ) . . . (x − xn )
L1 (x) = .
(x1 − x0 )(x1 − x2 )(x1 − x3 ) . . . (x1 − xn )

On note l’absence du terme (x − x1 ). L’expression générale pour la fonction Li (x) est


donc
(x − x0 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn )
Li (x) = (2.2)
(xi − x0 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn )
où cette-fois-ci, seul le facteur (x − xi ) est absent. Li (x) est donc un polynôme de degré
n qui vaut 1 en x = xi et qui s’annule à tous les autres points de collocation.

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

Les polynômes Li (x) sont appelés polynômes de Lagrange.

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 .

La situation se résume par le résultat suivant :

Théorème 2.3. (Formule de Lagrange)


Soit une fonction f définie sur I = [a, b] ⊂ R et (n+ 1) points distincts de I, notés
x0 , . . . , xn . Alors, il existe une unique fonction polynôme de Pn qui interpole f en
les points x0 , . . . , xn . On l’appelle le polynôme d’interpolation de f sur le support
{x0 , . . . , xn } ; il est noté Pn et défini par
n
!
Pn (x) = f (xi )Li (x), (2.4)
i=0

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

Comme f (x0 ) = f (2) = 0, 5; f (x1 ) = f (2, 5) = 0, 4 et f (x1 ) = f (4) = 0, 25, ceci


donne
2
!
P (x) = f (xi )Li (x)
i=0
0, 4
= 0, 5[(x − 6, 5)x + 10] + [(−4x + 24)x − 32]
3
0, 25
+ [(x − 4, 5)x + 5]
3
= (0, 05x − 0, 425)x + 1, 15.

"

Exemple 4.
Le polynôme de Lagrange passant par les points (0, 1), (0, 2), (2, 9) et (3, 28) s’écrit :

(x − 1)(x − 2)(x − 3) (x − 0)(x − 2)(x − 3)


Pn (x) = 1 +2
(0 − 1)(0 − 2)(0 − 3) (1 − 0)(1 − 2)(1 − 3)
(x − 0)(x − 1)(x − 3) (x − 0)(x − 1)(x − 2)
+ 9 + 28
(2 − 0)(2 − 1)(2 − 3) (3 − 0)(3 − 1)(3 − 2)
= x3 + 1,

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 )
"

2.2.1 Autre formulation du polynôme d’interpolation de Lagrange


Posons n
+
γn+1 (x) = (x − xj ).
j=0
Calculons γn+1
"
(x). En utilisant la formule de Leibniz, on obtient
n
! n
+
"
γn+1 (x) = Li (x) = (x − xj ),
i=0 j=0
j!=i

en particulier, comme tous les produits sont nuls en xk sauf un :


n
+
"
γn+1 (xk ) = (xk − xj )
j=0
j!=k
D’autre part,
+n
γn+1 (x)
= (x − xj ).
x − xi j=0
j!=i

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

Le polynôme d’interpolation qu’on note pn (s), devient

!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

Ci-dessous les deux figures : la fonction sinus et l’approximation P2 de Lagrange.

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 . "

2.3 Schéma de Neville-Aitken


La méthode d’interpolation de Lagrange présente un inconvévient majeur : elle n’est
pas récursive. En effet, si l’on souhaite passer d’un polynôme de degré n à un polynôme de
degré (n + 1) (en ajoutant un point de collocation), on doit reprendre pratiquement tout
le processus à zéro. Une façon de rémédier à cela est d’utiliser le schéma de Neville-Aitken
qui est particulièrement bien adapté à l’adjonction de nouveaux points d’interpolation.
(i)
Appelons Tk le polynôme de degré au plus égal à k qui interpole f en xi , . . . , xk+1 , c’est
dire
(i)
Tk (xj ) = f (xj ) pour j = i, . . . , i + k.
D’après cette définition, on a donc
(i)
T0 (x) = f (x) pour i = 0, . . . , n.

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.

Etudions maintenant d’autres formulations du polynôme d’interpolation.

2.4 Polynôme d’interpolation de Newton


Les calculs des Li (x) de Lagrange ne sont pas pratiques puisque du point de vue
numérique, il est difficile de déduire Li+1 (x) de Li (x). Ceci est un inconvénient auquel
rémédie l’interpolation de Newton que nous allons expliciter. La particularité des po-
lynômes de Newton est de lier la base d’interpolation au support. Dans cette approche,
les points du support sont les racines de la base. Les polynômes ek de la base de Newton
sont définis comme suit
i−1
+
ei (x) = (x − xj ) = (x − x0 )(x − x1 ) . . . (x − xi−1 ), i = 1, . . . , n,
j=0

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.

Remarquons que le coefficient de an dans la formule (2.5) comporte n monômes de


la forme (x − xi ) et qu’en conséquence le polynôme est de degré n. Les coefficients de la
forme (2.5) s’annulent tous en x = x0 , sauf le premier. On peut ainsi montrer que
Pn (x0 ) = a0 = f (x0 ).

• Le premier coefficient est donc :


a0 = f (x0 ).
Il faut s’assurer ensuite que Pn (x1 ) = f (x1 ), c’est à dire
Pn (x1 ) = a0 + a1 (x1 − x0 ) = f (x0 ) + a1 (x1 − x0 ) = f (x1 ),
ce qui permet d’isoler a1 pour obtenir

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 )).

• Calculons le troisième coefficient a2 . Ce dernier est déterminé par


Pn (x2 ) = a0 + a1 (x2 − x0 ) + a2 (x2 − x0 )(x2 − x1 ) = f (x2 )
= f (x0 ) + f [x0 , x1 ] + a1 (x2 − x0 ) + a2 (x2 − x0 )(x2 − x1 ) = f (x2 )
Tentons d’isoler le coefficient a2 dans cette dernière relation. On obtient
1
a2 = (f (x2 ) − f (x0 ) − f [x0 , x1 ](x2 − x0 ))
(x2 − x0 )(x2 − x1 )
, -
1 f (x2 ) − f (x0 ) (x2 − x0
= − f [x0 , x1 ]
(x2 − x0 ) (x2 − x1 ) (x2 − x1 )
, -
1 f (x2 ) − f (x1 ) + f (x1 ) − f (x0 ) (x2 − x0 )
= − f [x0 , x1 ]
(x2 − x0 ) (x2 − x1 ) (x2 − x1 )
,
1 f (x2 ) − f (x1 ) (f (x1 ) − f (x0 )) x1 − x0 )
= +
(x2 − x0 ) (x2 − x1 ) (x1 − x0 ) (x2 − x1 )
-
(x2 − x0
− f [x0 , x1 ]
(x2 − x1 )
, , --
1 (x1 − x2 (x2 − x0 )
= f [x1 , x2 ] + f [x0 , x1 ] −
(x2 − x0 ) (x2 − x1 ) (x2 − x1 )
1
a2 = (f [x1 , x2 ] − f [x0 , x1 ]) ,
(x2 − x0 )
expression faisant intervenir une différence divisée des différences diviées. Les
deuxièmes différences divisées de la fonction f (x) sont définies à partir des premières
différences divisées par la relation
f [xi+1 , xi+2 ] − f [xi , xi+1 ]
f [xi , xi+1 , xi+2 ] = .
xi+2 − xi
Suivant cette notation, on a :
a2 = f [x0 , x1 , x2 ],
et le polynôme de degré 2 s’écrit :
P2 (x) = f (x0 ) + f [x0 , x1 ](x1 − x0 ) + f [x0 , x1 , x2 ](x−0 )(x − x1 )
passant par les trois premiers points de collocation.

21
• En continuant, on peut montrer que le coefficient a3 est égal à :

a3 = f [x0 , x1 , x2 , x3 ]

qui est une troisième différence divisée de f (x).


• Par récurrence, les n-ièmes différences divisées de la fonction f (x) sont définies à
partir des (n − 1)-ièmes différences divisées comme suit :
f [x1 , x2 , . . . , xn ] − f [x0 , x1 , x2 , . . . , xn−1 ]
f [x0 , x1 , x2 , . . . , xn ] = . (2.6)
xn − x0

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

Pn (x) = Pn−1 (x) + an (x − x0 ) . . . (x − xn−1 ). (2.7)

Les coefficients de ce polynôme sont les différences divisées


ai = f [x0 , x1 , . . . , xi ], pour 0 ! i ! n.

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 :

ou bien sous forme de table :


xi f (xi ) f [xi , xi+1 ] f [xi , . . . , xi+2 ] f [xi , . . . , xi+3 ]

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 )

On remarquera qu’on obtient le terme


f [x0 , x1 , x2 ]
en soustrayant d’abord ses deux prédécesseurs à gauche, soit
f [x1 , x2 ] − f [x0 , x1 ],
puis en divisant le résultat par (x2 − x0 ). De même, on obtient le terme
f [x0 , x1 , x2 , x3 ]
en soustrayant d’abord ses deux prédécesseurs à gauche, soit

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 :

P3 (x) = 6 − 9x + 3x(x − 1) + 2x(x − 1)(x − 2).

Réarrangeons les coordonnées des (xi , f (xi )) de la façon suivante :


xk 3 0 2 1
f (xk ) 9 6 −6 −3
on obtient
f [3, 0] = 1; f [0, 2] = −6; f [2, 1] = −3; f [3, 0, 2] = 7
f [0, 2, 1] = 3; f [3, 0, 2, 1] = 2 et

P3 (x) = 9 + (x − 3) + 7(x − 3)x + 2(x − 3)x(x − 2).

On vérifie ques les deux polynômes trouvés peuvent être exprimés de la forme

P3 (x) = 2x3 − 3x2 − 8x + 6.

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

Traduction de la table précédente :

f (x1 )−f (x0 ) 2−1 f (x2 )−f (x1 ) 9−7


f [x0 ,x1 ]= = =1, f [x1 ,x2 ]= = =7 ;
x1 −x0 1−0 x2 −x1 2−1

f (x3 ) − f (x2 ) 28 − 9
f [x2 , x3 ] = = = 19 ;
x3 − x2 3−2

f [x1 , x2 ] − f [x0 , x1 ] 7−1


f [x0 , x1 , x2 ] = = = 3;
x2 − x0 2−0

f [x2 , x3 ] − f [x1 , x2 ] 19 − 7
f [x1 , x2 , x3 ] = = = 6;
x3 − x1 3−1

f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ] 6−3


f [x0 , x1 , x2 , x3 ] = = = 1.
x3 − x0 3−0

Suivant la formule de Newton (2.5), avec x0 = 0, le polynôme de collocation est :


P3 (x) = 1 + 1(x − 0) + 3(x − 0)(x − 1) + 1(x − 0)(x − 1)(x − 2) = x3 + 1,
qui (en vertu de l’unicité) est le même polynôme que celui obtenu par la méthode
de Lagrange dans l’exercice 4. Remarquons d’autre part que le polynôme
P2 (x) = 1 + 1(x − 0) + 3(x − 0)(x − 1),
quant à lui passe par les trois premiers points de collocation. "
Nous allons montrer que la différence divisée f [x0 , x1 , . . . , xn ] est une fonction
symétrique par rapport à ses arguments x0 , x1 , . . . , xn .

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

où, dans le produit de n facteurs, r est fixé et j varie de 0 à n et est différent de


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 )

En interchangeant les arguments f (xk ) et f (xj ) les valeurs correspondent de f ne su-


bissent aucune transformation autre que la substitution réciproque de f (xk ) et f (xj )
du terme à droite, ne modifiant pas le résultat. Ainsi, dans la mesure où toute permu-
tation des arguments xk peut-être effectuée par le biais de substitutions réciproques
et successives de paires, la différence divisée est invariante par permutation.
"

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 )

Preuve. C’est une application directe de la définition des différences divisées. !

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

avec v(x) = (x − xp0 ) . . . (x − xpk ).

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. !

Proposition 2.8. (Formule de Leibniz)


Soit f, g et h trois fonctions définies sur l’intervalle [a, b] f = gh et (xj ) telle
que a ! x0 < x1 < . . . < xn ! b. Alors
n
!
f [x0 , . . . , xn ] = g[x0 , . . . , xj ]h[xj , . . . , xn ].
j=0

Preuve. Facile et laissée au lecteur. !

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

Généraliser. On pourra utiliser les formules de Cramer.

(a) Pour n = 0 et n = 1, le calcul est immédiat. Le déterminant roposé peut se


calculer par combinaisons de lignes et colonnes et simplification.
(a) Généralisons. Montrons que pour tout n ∈ N, on obtient
 
1 x0 x20 . . . xn−1 0 f (x0 )
1 x1 x21 . . . x n−1
f (x1 ) 
 1 
det  .. .. .. 
 . . . 
1 xn x2n . . . xn−1
n f (xn )
f [x0 , x1 , . . . , xn ] =   (2.9)
1 x0 x20 . . . xn−1
0 xn0
1 x1 x21 . . . xn−1 xn1 
 1 
det  .. .. .. 
 . . . 
1 xn x2n . . . xn−1
n xnn

Le dénominateur est non nul, puisque c’est le déterminant de Vandermonde. Ecri-


vons Pn sur la base canonique :
Pn (x) = a0 + a1 x + . . . + an xn .
Le polynôme Pn est de degré au plus égal à n et est défini par
∀ i ∈ {0, 1, . . . , n}, Pn (x)(xi ) = f (xi ),
ou encore
∀ i ∈ {0, . . . , n}, a0 + a1 xi + . . . + an xni = f (xi ).
On reconnaı̂t le système linéaire
    
1 x0 x20 . . . xn−10 xn0 a0 f (x0 )
1 x1 x21 . . . xn−1 xn1     
 1   a1   f (x1 ) 
 .. .. ..   ..  =  ..  . (2.10)
 . . .  .   . 
1 xn x2n . . . xn−1n xnn an f (xn )

On sait (formules de Cramer) que si A est une matrice inversible d’ordre p, b, un


vecteur de Rp et x la solution de

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

et comme le coefficient an est égal au coefficient dominant de Pn , égal à


f [x0 , x1 , . . . , xn ], cela permet de conclure.
Remarquons que si on écrit la formule (2.9) à l’ordre (n − 1), on obtient
 
1 x0 x20 . . . xn−2
0 f (x0 )
1 x1 x21 . . . xn−2 f (x1 ) 
 1 
det  .. .. .. 
 . . . 
1 xn−1 xn . . . xn
2 n−2
f (xn−1 )
f [x0 , x1 , . . . , xn−1 ] =   (2.11)
1 x0 2
x0 . . . x0 n−2
xn−1
0
1 x1 x21 . . . xn−2 xn−1 
 1 1 
det  .. .. .. 
 . . . 
1 xn−1 x2n . . . xn−2
n xn−1
n−1

qui est égal au coefficient dominant de pn−1 .

2.5 Erreur d’interpolation


Commençons par un exemple.

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 :

En (x) = f (x) − Pn (x). (2.12)

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.

Théorème 2.9. (Erreur de l’interpolation de Lagrange)


Soit f ∈ C n+1 ([a, b] et soit Pn (x) le polynôme d’interpolation de f sur les points
(xi , f (xi )), pour i = 1, . . . , n. Soit I =] min(xi , x) ; max(xi , x)[. Pour tout x ∈
i i
[a, b], il existe ξ ∈ I, tel que l’erreur f (x) − Pn (x) soit

γn+1 (x) (n+1)


En (x) = f (ξx ), ξx ∈ I, (2.13)
(n + 1)!

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.

F possède donc au moins (n + 2) racines dans l’intervalle


I =] min{x, x0 , x1 , x2 , . . . , xn }, max{x, x0 , x1 , x2 , . . . , xn }[.

(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

F (n+1) (t) = f (n+1) (t) − Pn(n+1) (t) − cvn(n+1) (t)


Or
(n+1) (n+1)
Pn (t) ≡ 0 et vn (t) = (n + 1)!

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)!

Ce qui démontre le résultat. !

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é.

2.5.1 Abscisses équidistants : choix de pas d’interpolation


Comme on vient de le voir, le comportement de γ(n+1)! n+1 (x)
est important. Supposons,
dans ce qui suit que les abscisses sont régulièrement réparties dans un intervalle d’inter-
polation, alors nous pouvons obtenir des majoration in fine.

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

|f (x) − P2 (x)| ! 10−6 ,

pour x ∈ [0, 2h]. D’après l’égalité (2.14),


1 ** *
*
|f (x) − P2 (x)| ! *f (3) (η)* |x(x − h)(x − 2h)|.
3!
Mais, pour une fonction donnée,
1 ** (3) ** 1 1
*f (η)* = | sin η| ! .
3! 6 6
Pour obtenir |x(x − h)(x − 2h)|, il suffit d’évaluer

max |x(x − h)(x − 2h)|.


0!x!2h

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

|f (x) − Pn (x)| ! Cn+1 hn+1 max |f (n+1) (η)|


η∈[x0 ,xn ]

pour tout x ∈ (x0 , xn ) avec Cn+1 défini par


1
Cn+1 = max |r(r − 1)(r − 2) . . . (r − n)|.
(n + 1)! 0!r!n

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.

Il suffit alors de remplacer x − xi par (r − i)h dans (2.13). On a ainsi


f (n+1) (ξ)
En (x) = r(r − 1)(r − 2) . . . (r − n)hn+1 ,
(n + 1)!
ensuite, on passe à la majoration.
!

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.

2.5.2 Les défauts de l’interpolation polynomiale avec noeuds équirépartis.


Si l’on dispose au choix des points d’interpolation xi dans un intervalle donné [a, b], le
choix le naturel et le plus simple est celui des abscisses équidistantes h = (b − a)/n, xi =
a + ih, i = 0, . . . n.
Une autre façon de choisir ces points, optimal en un certain sens est liée aux polynômes
de Tchebychev, que nous verrons plus loin.

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.

Nous avons le résultat

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.

Preuve du Théorème 2.11.


On peut montrer, comme on le voit d’ailleurs sur la figure précédente, que le maxi-
mum de |γn+1 (x)| est atteint toujours dans un des deux intervalles extrêmes [x0 , x1 ] ou
[xn−1 , xn ]. On prend alors x ∈ [x0 ; x1 ] (l’autre cas est similaire) ; on a

(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

lim Pn (x) = f (x),


n→∞

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é 

Soient n ∈ N et f une fonction de R dans R de classe C 3 sur l’intervalle I = [a, b].


Pour tout i appartenant à {0, . . . , n}, on pose xi = a + ih où h = (b − a)/n.
(1) Soient i ∈ {0, . . . n − 1} et pi,1 le polynôme d’interpolation de degré un de f en xi
et xi+1 .
Exprimer l’erreur d’interpolation ei,1 (x) = f (x) − pi,1 (x) pour un élément x de
[xi , xi+1 ] et majorer sa valeur absolue indépendamment de i.
(2) On considère une table à pas constant h1 et on interpole linéairement f entre les
nœuds. Soit ( > 0. Déduire de la question précédente une majoration du pas h1
garantissant une précision inférieure à ε.
(3) Soient n " 2 et i ∈ {0, . . . n − 2} et pi,2 le polynôme d’interpolation de degré 2 de
f en xi entre xi+1 et xi+2 .
Exprimer l’erreur d’interpolation ei,2 (x) = f (x) − pi,2 (x) pour un élément x de
[xi , xi+2 ] et majorer sa valeur absolue indépendamment de i.
(4) On considère une table à pas constant h2 et on interpole de façon quadratique f
entre les nœuds. Soit ( > 0. Déduire de la question précédente une majoration du
pas h2 garantissant une précision inférieure à ε.

(5) Application numérique : on donne ( ∈ {10−2 , 10−4 }, a = 1, b = 3 et f (x) = x.
Calculer h1 et h2 . Même calcul pour f (x) = ex .

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 ]

Comme il est maintenant acquis que le maximum de la fonction


x -−→ (x − xi )(x − xi+1 ) est atteint en α = (a + b)/2 et est égal à (a + b)2 /4, on
obtient
h2
∀ x ∈ [xi , xi+1 ], |ei,1 (x)| ! M1 où M1 = sup |f (2) (x)|.
8 x∈[a,b]

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 :

f [x0 , x1 ] = f " (x0 ) + O(h). (2.19)

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!

• Començons par utiliser (2.6) pour exprimer f [x, x0 , x1 , . . . , xn ] en fonction de


f [x0 , x1 , . . . , xn ] et f [x, x0 , . . . , xn−1 ]. En arrangeant les termes on aboutit à

f [x, x0 , . . . , xn ] = f [x0 , . . . , xn ] + (x − xn )f [x, x0 , . . . , xn ]. (2.20)

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

f [x] = f [x0 ] + (x − x0 )f [x0 , x1 ] + (x − x0 )(x − x1 )f [x, x0 , x1 ], (2.22)

en remarquant que (2.22) peut être exprimée sous la forme

f (x) = P1 (x) + (x − x0 )(x − x1 )f [x, x0 , x1 ],

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

f (x) = Pn (x) + (x − x0 )(x − x1 ) . . . (x − xn )f [x, x0 , x1 , . . . , xn ]. (2.23)

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)!

Si on suppose que la dérivée (n + 1)-ième de f (x) varie peu dans l’intervalle


[x0 , xn ], on a alors l’approximation
f (n+1) (x0 ) f (n+1) (ξ)
f [x0 , x1 , x2 , . . . , xn+1 ] ≈ ≈ .
(n + 1)! (n + 1)!

Ainsi, le terme d’erreur En (x) peut être estimé par :

En (x) ≈ f [x0 , x1 , x2 , . . . , xn+1 ](x − x0 )(x − x1 ) . . . (x − xn ), (2.25)

ce qui revient à écrire :

En (x) ≈ pn+1 (x) − pn (x). (2.26)

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

f (n+1) (x0 ) f (n+1) (ξ)


f [x0 , x1 , . . . , xn , xn+1 ] ≈ ≈ . (2.27)
(n + 1)! (n + 1)!

Preuve. La démonstration est immédiate à partir du théorème 2.9 et de la proposition


2.6. !

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

9 3, 000 000 −0, 004 702 99

0, 158 312 0, 000 206 783

11 3, 316 625 −0, 003 462 29 −0, 9692 × 10−5

0, 144 463 0, 000 129 248

13 3, 605 551 −0, 002 686 80

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 ]

On constate que l’erreur approximative est assez proche de l’erreur exacte.


(ii) Prenons maintenant un polynôme de degré 2 :
P2 (x) = P1 (x) − 0, 004 702 99(x − 7)(x − 9)
qui prend la valeur
P2 (x) = 2, 822 875 + 0, 004 702 99 = 2, 827 577 990
soit une erreur exacte de 0, 000 849 135. Dans ce deuxième cas encore, l’erreur
trouvée peut être approchée à l’aide du terme suivant dans la formule de New-
ton :
E2 (8) ≈ 0, 000 206 783(8 − 7)(8 − 9) = 0, 000 620 349.
A BC D
f [x0 ,x1 ,x2 ,x3 ]

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 ]

montrant ainsi que cette approximation possède quatre chiffres significatifs.


On remarquera dans la table, que les premières différences divisées sont négatives
et que le signe alterne d’une colonne à une autre. Cela s’explique par la relation
(2.19), qui établit un lien entre les différences divisées et les dérivées de la fonction
f (x). Par exemple
√ 1 1 3
f (x) = x, f " (x) = √ , f (2) (x) = − , f (3) (x) = , etc.
2 x 4x3/2 8x5/2

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

0, 0 1, 000 000 000

1, 105 170 918

0, 1 1, 105 170 918 0, 553 046 1

1, 162 318 40

0, 2 1, 221 202 758

On a ex ≈ P2 (x) = 1 + 1, 051 709 18 x + 0, 553 046 1 x(x − 0, 1) et



ex − P2 (x) = x(x − 0, 1)(x − 0, 2) où η ∈ (0; 0, 2) si x ∈ (0; 0, 2)
3!
Donc, pour x ∈ (0; 0, 2) ex ≈ P2 (x) avec une erreur E(x) tel que
e0,2
|E(x)| ! 6 |x(x − 0, 1)(x − 0, 2)|.
Par exemple, pour x = 0, 05,
e0,05 ≈ P2 (0, 05) = 1, 051 202 844.
avec
e0,2
|E(0, 05)| ! 6 |0, 05(0, 05 − 0, 1)(0, 05 − 0, 2)| = 0, 000 076 338.
En fait, e0,05 = 1, 051 271 096 et l’erreur en valeur absolue est de 0, 000 068 252 4, ce
qui est dans les limites prévues par le résultat précédent.
"

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

L = max |f (x) − P (x)|


x∈[−1,1]
1
! max |v(x)| max |f (n+1) (x)|, (2.28)
n + 1 x∈[−1,1] x∈[−1,1]

où v(x) = (x − x0 )(x − x1 ) . . . (x − xn ). La borne supérieure de l’erreur ainsi obtenue


contient deux termes :
− un qui dépend de f (n+1) et sur lequel on ne peut rien et
− un qui dépend uniquement des points d’interpolation, c’est : max |v(x)|.
x∈[−1,1]

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.

"

Ce problème, très célèbre en mathématiques, a été posé et résolu par Tchebychev et


les polynômes qui répondent à cette question ont reçu son nom.
D’après la formule de de Moivre,
(cos θ + i sin θ)n

En posant cos θ = x, si 0 ! θ ! π, sin θ = 1 − x2 " 0, alors
E
cos nθ + i sin nθ = (x + i 1 − x2 )n .

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

Tn (x) = cos(n arccos x)


, - , -
n n−2 2 n n−4 2
= xn + x (x − 1) + x (x − 1) + . . .
2 4

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

Tn (x) = cos(n arccos x)


, -
n n−2 2
= x +
n
x (x − 1) + . . . (n = 0, 1, . . .).
2

Il est facile de calculer les premiers termes du polynôme de Tchebychev. On trouve

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.

Les polynômes de Tchebychev s’obtiennent par une relation de récurrence.

Proposition 2.13.
(a) Les polynômes de Tchebychev vérifient la relation de récurrence :

Tn+1 (x) = 2xTn (x) − Tn−1 (x) pour n = 1, 2 . . . (2.29)

(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].
, , --

(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

cos((n + 1)ϕ) + cos((n − 1)ϕ) = 2 cos ϕ · cos(nϕ),

si l’on pose cos ϕ = x et ϕ = arccos x. La même transformation donne


F 1 F π
1
√ Tn (x)Tm (x)dx = cos(nϕ) cos(mϕ) dϕ,
−1 1 − x2 0

et la propriété (2.30) résulte de l’orthogonalité de cos(nϕ). !

On montre que, parmi les polynômes de degré n + 1, ayant un coefficient du terme de


plus haut degré égal à 1 et leurs racines toutes réelles, distinctes et dans [–1, +1], celui
qui minimise v(x) = (x − x0 ) . . . (x − xn ) est Tn+1 (x)/2n .
Le choix optimal des points d’interpolation consiste donc à prendre les racines
x0 , . . . , xn qui sont données par :
2i + 1
xi = cos π pour i = 0, . . . n.
2n + 1

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

T̃n+1 (x) (n+1)


EnTcheb (x) := f (ξ), −1 < ξ < 1, (2.31)
(n + 1)!
et
1
|EnTcheb (x)| ! max |f (n+1) (x)|, −1 < x < 1, (2.32)
2n (n + 1)! −1!x!1

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]

On démontre le résultat négatif du théorème suivant

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]

ne tende pas vers zéro lorsque n tend vers l’infini.

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

2.8 Polynôme d’interpolation d’Hermite


Il s’agit d’une interpolation plus fine que l’interpolation au sens habituel. Jusqu’à
présent, nous avons imposé à notre polynôme d’interpolation P de satisfaire à :
P (xi ) = f (xi ), pour i = 0, . . . , n
Nous allons maintenant lui imposer de satisfaire en plus à :
P " (xi ) = f " (xi ), pour i = 0, . . . , n
en supposant naturellement connues les valeurs de f " (x0 ), . . . , f " (xn ). On dit alors que P
est le polynôme d’interpolation d’Hermite de f en x0 , . . . , xn .
Nous avons le résultat suivant :

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.

On montre que ce polynôme est donné par la formule


n
! n
!
P (x) = Hi (x)f (xi ) + Vi (x)f " (xi ) (2.33)
i=0 j=0

avec

Hi (x) = [1 − 2L"i (xi )(x − xi )] (Li (x))2


Vi (x) = (x − xi )(Li (x))2 ,

+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

[γn+1 (x)]2 (2n+2)


En (x) = f (ξx ) (2.34)
(2n + 2)!
avec γn+1 (x) = (x − x0 )(x − x1 ) . . . (x − xn ).

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 à

P (x) = (16 − 4πx)x2 (1 − x)2 + πx(1 − x).

De la relation (2.34), on déduit que l’erreur d’interpolation de P (x) est de la forme


, -2
1 f (6) (ηx )
En (x) = x2 x − (x − 1)2 ,
2 6!

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!

2.9 Fonctions splines


Cette partie pourra être laissée de côté en première lecture, son contenu est relative-
ment plus ardu sur le plan mathématique

Représenter une fonction par un polynôme sur un intervalle nécessite souvent un


degré élevé pour obtenir une bonne précision. On peut alors diviser l’intervalle en sous-
intervalles et représenter la fonction par un polynôme de faible degré sur chacun d’eux.
On obtient ainsi une approximation polynomiale par morceaux. Afin que cette fonction
par morceaux soit la plus lisse possible, on demandera à ces polynômes de se raccorder
aux points de la subdivision ainsi que leurs dérivées jusqu’à un certain ordre. Une telle
fonction s’appelle une fonction spline.
Nous commencerons par étudier les polynômes de Bernstein qui forment une base de
l’espace vectoriel des polynômes ainsi que la représentation de Bézier d’un polynôme.

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)!

Pour tout k, Bnk est un polynôme de degré k et l’on a :

B0n+1 (x) = (1 − x)B0n (x)

Bkn+1 (x) = (1 − x)Bkn (x) + xBk−1


n
(x)

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.

2.9.2 Courbe de Bézier


Soit Pi , pour i = 0, ..., n, des points de R2 . On définit par récurrence la suite d’appli-
cations de [0, 1] dans [0, 1] de la manière suivante :
B0 (Pi )(t) = Pi , ∀i
Bk (Pi , . . . , Pi+k )(t) = (1 − t)Bk−1 (P0 , . . . Pi+k−1 )(t)
+ tBk−1 (Pi+1 , . . . , Pi+k )(t), k≥1
L’arc paramétré Bn (P0 , . . . Pn ) : t -−→ Bn (P0 , . . . , Pn )(t) s’appelle courbe de Bézier
associée aux points de Bézier P0 , . . . , Pn . Pour simplifier, on notera Brs (r ! s ∈ N)
l’application qui à t fait correspondre Bs−r (Pr , . . . , Ps )(t). On démontre que :
!s
Brs (t) = s−r
Bi−r (t)Pi .
i=r
En particulier :
n
!
B0n (t) = Bin (t)Pi
i=0

et le support de cet arc paramétré est contenu dans l’enveloppe convexe de P0 , . . . , Pn .


Soit f une fonction définie sur un certain intervalle. Par un changement de variable,
on peut ramener cet intervalle à [0, m], m ∈ R. Sur chaque sous-intervalle [k, k + 1],
pour k = 0, ..., m–1, f sera représentée par un polynôme Pk de degré n avec la condition
de raccordement Pk (k + 1) = Pk+1 (k + 1). Pour utiliser la représentation de Bézier, on
effectue le changement de variable t = x–k dans [k, k + 1].
Soit bnk , . . . , bnk+n les coefficients de Bézier pour l’intervalle [k, k + 1], c’est-à-dire
b0 , . . . , bn pour le premier sous-intervalle, bn , . . . , b2n pour le second et ainsi de suite
jusqu’à bnm−n , . . . , bnm pour le dernier. On obtient ainsi une approximation polynomiale
par morceaux f˜ de f qui, pour le choix Pk (k+1) = Pk+1 (k+1) = f (k+1), interpole f aux
points 1, . . . , m − 1. La fonction f˜ est définie par les nm + 1 coefficients b0 , . . . , bnm et elle
peut être calculée en tout point x ∈ [0, m] par l’algorithme de De Casteljau. Pour cela, il
faut commencer par déterminer k ∈ {0, . . . , nm − 1} tel que x ∈ [k, k + 1], puis appliquer
l’algorithme de De Casteljau. aux coefficients de Bézier bnk , . . . , bnk+n . Le graphe de f˜
est une courbe de Bézier et elle est contenue dans l’enveloppe convexe de Bézier.
On peut imposer des conditions de raccordement supplémentaire à f˜. Ainsi, cette
fonction sera de classe C 1 si et seulement si
n(bnk − bnk−1 ) = n(bnk+1 − bnk )
c’est à dire
2bnk = bnk−1 + bnk+1 pour k = 1, . . . , m − 1
˜
f sera de classe C 2 si, de plus
2bnk−1 − bnk−2 = 2bnk+1 − bnk+2 pour k = 1, . . . , m − 1
Et ainsi de suite pour des conditions de raccordement sur les dérivées d’ordre supérieurs.

51
La représentation de Bézier et l’algorithme de De Casteljau s’étendent à Rn .

2.9.3 Spline et spline naturelle


Soit D = {x0 , . . . , xn+1 } une subdivision de [a, b] avec a = x0 < x1 < . . . < xn <
xn+1 = b. Une fonction S : [a, b] -−→ R est une fonction spline de degré k par rapport
à D si et seulement si S est un polynôme de degré k au plus sur chaque sous-intervalle
[xi , xi+1 ] pour i = 0, . . . , n et de classe C k−1 sur a, b], c’est à dire, pour i = 1, . . . , n :
S (j) (x−
j ) =S (xj ),
(j) +
j = 0, . . . , k − 1.
L’espace vectoriel des splines de degré k par rapport à D est dénoté Sk,D .
Posons :
1
(x − xi )k si x ≥ xi
(x − xi )k+ =
0 si x < xi
La fonction S s’appelle une spline naturelle de degré 2k−1 par rapport à D si c’est un
polynôme de degré 2k − 1 au plus sur chaque sous-intervalle ]xi , xi+1 pour i = 1, ..., n − 1,
si c’est un polynôme de degré k − 1 au plus sur [a, x1 [ et ]an , b], et si elle est de classe
C 2k−2 sur [a, b]. L’espace vectoriel des splines naturelles par rapport à D est dénoté Sk,D
N
.
Une fonction est une spline naturelle de degré 2k − 1 par rapport à D si et seulement si
elle est de la forme :
!n
(2k−1)
S(x) = p0 (x) + ai (x − xi )+ ,
i=1

avec p0 polynôme de degré k − 1 au plus et si les coefficients ai , i = 1, . . . n, satisfont :


n
!
ai xji , j = 0, . . . , k − 1.
i=1
2k−1 −
On a ai = (S (2k−1) (x+ i −S (xi )(x−
i ))/(2k−1)!. Quels que soient x1 , . . . , xn ∈ [a, b],
y1 , . . . , yn , et k ∈ {1, . . . , n}, il existe une unique spline naturelle d’interpolation telle que
S ∈ Sk,D N
telle que S(xi ) = yi pour i = 1, . . . , n.
Si, sur chaque sous-intervalle, les polynômes sont écrits dans leur représentation de
Bézier, alors les conditions de raccordement des polynômes et leurs dérivées jusqu’à
un certain ordre aux points de la subdivision se traduisent par des conditions sur les
coefficients de Bézier correspondants à chaque sous-intervalle.

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.

Donc, on a n intervalles de la forme [xi−1 , xi ]. Sur chacun d’eux, il faut définir un


polynôme de degré inférieur ou égal à 3. Chacun de ces polynômes requiert quatre pa-
ramètres. Donc finalement on aura un système d’équations à 4n inconnues.
Ces polynômes doivent interpoler les données fournies par l’usager aux extrémités de
l’intervalle en question. A raison de deux contraintes par polynôme, on aura un total de
2n contraintes.
Les condition d’être de classe C oblige les première et deuxième dérivées de f (x)
d’être continues. Les dérivées à gauche et à droite doivent coı̈ncider à chaque abscisse
intérieure. Comme il y a (n − 1) abscisses intérieures, il faut 2(n − 1) conditions aux 4n
paramètres.
Ainsi, il faut résoudre en tout un système de 4n− 2 équations à 4n inconnues. Comme
un tel système risque d’avoir un nombre infini de solutions, il faut ajouter deux contraintes
suplémentaires, pour rendre e nombre d’équations et le nombre d’inconnues égaux. Selon
le cas, on prend habituellement une des paires de contraintes ci-dessous.
(i) f "" (x0 ) = 0, f "" (xn ) = 0 ;
(ii) f " (x0 ) = f " (xn ), f "" (x0 ) = f "" (xn ) ;
(iii) f " (x0 ) = y0" , f " (xn ) = yn" , pour des valeurs y0" et yn" données.

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

En choisissant bien les constantes d’intégrations, on obtient, en deux intégrations, pour


xi−1 ! x ! xi

(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

(xi − xi−1 )2 (xi − xi−1 )2


Mi−1 + Li = yi−1 , et Mi + Ki (xi − xi−1 ) + Li = yi .
6 6
De là, on obtent

(xi − xi−1 )2 yi − yi−1 1


L = yi−1 − Mi−1 , et Ki = − (xi − xi−1 )2 (Mi − Mi−1 ).
6 xi − xi−1 6

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

La continuité de la première dérivée de f (x) donne Pi" (xi ) = Pi+1


"
(xi ). Or

(x−xi )2 (x−xi−1 )2 yi −yi−1 xi −xi−1


Pi" (x)=−Mi−1 +Mi + −(Mi −Mi−1 )
2(xi −xi−1 ) 2(xi −xi−1 ) xi −xi−1 6

(x−xi )2 (x−xi )2 yi+1 −yi xi+1 −xi


"
Pi+1 (x)=−Mi +Mi + −(Mi+1 −Mi )
2(xi+1 −xi ) 2(xi+1 −xi ) xi+1 −xi 6
et par regroupement de terme,
xi − xi−1 xi − xi−1 yi − yi−1
Pi" (x) = Mi−1 + Mi +
6 3 xi − xi−1
xi+1 − xi xi+1 − xi yi+1 − yi
"
Pi+1 (x) = −Mi + Mi+1 + .
6 3 xi+1 − xi
En égalant les deux membres des égalités ci-dessus, on arrive à la contrainte linéaire
xi − xi−1 xi+1 − xi−1 xi+1 − xi
Mi−1 + Mi + Mi+1
6 3 6
yi+1 − yi yi − yi−1
= − , pour i = 1, 2, 3, . . . , n − 1
xi+1 − xi xi − xi−1

A ces (n − 1) contraintes sur les (n − 1) paramètres M0 , M1 , M2 , . . . , Mn , on ajoute les


deux conditions supplémentaires :
(i) f "" (x0 ) = 0, f "" (xn ) = 0 ;
(ii) f " (x0 ) = f " (xn ), f "" (x0 ) = f "" (xn )
on obtient :
x1 − x0 xn − xn−1
(2M0 + M1 ) + (Mn−1 + 2Mn )
6 6
y1 − y0 yn − yn−1
= − , et M0 = Mn .
x1 − x0 xn − xn−1

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

où M0 , M1 , M2 , . . . , Mn forment l’unique solution du système linéaire


 
  M  0
1 0
 d2 − d1 
 H1 D 1 H2  M1    
   M2   d3 − d2 
 H D H   
 2 2 3   M3  
 .. 

 . .. . .. . .. 
   . 

  ..  =  
   .   
.. .. ..   

 . . . 
 Mn−3    .
..


 H D H     
 n−3 n−2 n−1  Mn−2  dn−1 − dn−2 
 Hn−1 Dn−1 Hn  Mn−1    dn − dn−1 

1 Mn 0

dans lequel on a posé


xi+1 − xi−1 xi − xi−1 yi − yi−1
Di = , Hi = , et di = .
3 6 xi − xi−1

Preuve. La première et la dernière équations du système ci-dessus donnent de M0 = 0


et Mn = 0. Les autres systèmes sont une réécriture des conditions :
xi − xi−1 xi+1 − xi−1 xi+1 − xi
Mi−1 + Mi + Mi+1
6 3 6
yi+1 − yi yi − yi−1
= − , pour i = 1, 2, 3, . . . , n − 1.
xi+1 − xi xi − xi−1
Ainsi, l’existence et l’unicité de la spline cubique est équivalent à l’existence et à
l’unicité de la solution du système linéaire. Or, Di = 2(Hi+1 + Hi ), Hi > 0 pour

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

Les abscisses étant équidistants, on a Di et Hi qui sont constantes. Di = 2 et


Hi = 1/2 pour tout i.
Le système linéaire à résoudre est :
    
1 M0 0
0, 5 2 0, 5  M1  −72
    
 0, 5 2 0, 5  M2   36 
   =  
 0, 5 2 0, 5  M3   144 
    
 0, 5 2 0, 5 M4   252 
1 M5 0

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

où hi = xi − xi−1 . La première équation (i = 1) du système (2.36) devient :


(1/3)f0"" + 2f1"" + (2/3)f2"" = 6(−1/6)
et la deuxième (i = 2) du système (2.36) s’écrit
(2/3)f1"" + 2f2"" + (1/3)f3"" = 6(−1/6)
pour obtenir la spline naturelle, on pose f0"" = f3"" = 0, et on obtient la système
, - , "" - , -
2 2/3 f1 −1
=
2/3 2 f2"" −1
dont la solution est f1"" = −0, 375 et f2"" = −0, 375. L’équation de la spline dans le
premier intervalle est alors
, -
(x − 2)3 (x − 1)3 1 0
p1 (x) = 0 − 0, 375 − − (x − 2)
6 6 1 6
, -
4 (1)(−0, 375)
+ − (x − 1)
1 6
que l’on peut simplifier en
p1 (x) = −0, 0625(x − 1)3 − (x − 2) + 4, 0625(x − 1).
Ce polynôme n’est défini que dans l’intervalle [1, 2]. On peut par exemple l’évaluer
en x = 1, 5 pour obtenir 2, 523 4375. Naturellement, si on a besoin de la valeur de la
spline en x = 3, qui est situé dans le deuxième intervalle (soit [2, 4]), on peut obtenir
l’équation de la spline dans cet intervalle en posant i = 2 dans l’équation de départ
de la spline (2.35). Dans ce cas, on obtient
, -
(x − 4)3 (x − 2)3 9 (2)(−0, 375)
p2 (x) = 0, 375 − 0, 375 − − (x − 4)
12 12 4 12
, -
9 (2)(−0, 375)
+ − (x − 2),
2 6
c’est à dire
p2 (x) = −0, 03125(x − 4)3 − 0, 03125(x − 2)3 − 2, 125(x − 4) + 4, 0625(x − 2).
La valeur de la spline en x = 3 est donc 6, 6875. "

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

Vous aimerez peut-être aussi