Académique Documents
Professionnel Documents
Culture Documents
Interpolation Poly Part1
Interpolation Poly Part1
Hatem H AMDA
hatem.hamda@gmail.com
1. I NTRODUCTION
P (xi ) = yi , i = 0, . . . , n
!"
!#
Dans ce chapitre, nous nous limiterons au cas où P est une fonction polynôme.
n2
soit au total de l’ordre de opérations élémentaires quand n ”assez grand”.
2
Algorithme de Hörner
Algorithme de Hörner
Algorithme
1. P = an
2. pour k = 1 à n faire
P = x ∗ P + an−k ;
fin pour
3. retourner P
Position du problème
Problème :
Existe-t-il un polynôme P tel que P (xi ) = yi , i = 0 . . . n ?
si oui
Quel est son degré ? Est-il unique ?
Quelle est l’expression de P (x) en fonction des données (xi ) et (yi ) ?
Algorithme de calcul ?
L’erreur d’approximation f (x) − P (x) ?
Existence et unicité
Théorème
Etant donnés (n + 1) points deux à deux distincts x0 , x1 , . . . , xn et (n + 1) valeurs
correspondantes y0 , y1 , . . . , yn , il existe un unique polynôme P de degré inférieur ou
égal à n tel que
P (xi ) = yi (= f (xi )) , pour i = 0, . . . , n
x 0 , x1 , . . . , x n
Preuve
P (xi ) = Q(xi ) = yi , i = 0 . . . n
P − Q est un polynôme de degré au plus n qui admet (n + 1) racines deux à deux distinctes
((P − Q)(xi ) = 0 , i = 0 . . . n). Il est donc identiquement nul ⇒ P = Q.
Existence et unicité
Existence : Une méthode naturelle pour construire le polynôme P consiste à déterminer ses coefficients
Xn
dans la base canonique de Rn [x] : P (x) = ak xk , où les coefficients a0 , . . . , an sont à déterminer.
k=0
Donc trouver P ∈ Rn [x] revient à trouver a0 , . . . , an ∈ R tels que
P (x) = a0 + a1 x + · · · + an xn et P (xi ) = yi , i = 0 . . . n
+ + + a n xn =
a0 a 1 x0 ... 0 y0
a + a 1 x1 + ... + n
a n x1 = y1
0
a0 + a 1 x2 + ... + a n xn
2 = y2
(S)
.
..
a n xn
a0 + a 1 xn + ... + n = yn
Existence et unicité
a0 y0 1 x0 ··· xn
0
a1 y1 1 x1 ··· xn1
X= .. Y = .. et V = .. .. ..
. . . . .
an yn 1 xn ··· xnn
Remarque
On peut aussi montrer, par recurrence sur n, que
n
Y
det(V ) = (xj − xi )
0≤i<j≤n
Exemple
Calculer le polynôme P passant par les points
dont la solution est (1, 0, 0, 1)T (utiliser, par exemple, Gauss ”classique”)
ce qui donne le polynôme P (x) = 1 + x3 .
Remarque
L’éfficacité numérique de cette approche est très décevant du fait du mauvais conditionnement de la matrice
pleine V pour n assez grand. De plus la procédure de calcul de P est coûteuse (complexité ∼ 32 n3 ).
Base de Lagrange
Définition
Soit x0 , x1 , . . . , xn , (n + 1) points deux à deux distincts. On appelle base de
Lagrange relative aux points x0 , x1 , . . . , xn , la famille des fonctions polynômes
n
Y x − xj
(Li )0≤i≤n définies par ∀i ∈ {0, . . . , n} , Li (x) =
xi − xj
j =0
j 6= i
! Exemple : n =2
"# "&
1
$# $& $% $
"%
Base de Lagrange
Propriétés
On considère la famille de polynômes (Li )0≤i≤n relative aux points x0 , x1 , . . . , xn ,
alors
1 ∀i ∈ {0, . . . , n} , d˚Li = n.
1 si k = i
2 ∀i ∈ {0, . . . , n} , ∀k ∈ {0, . . . , n} , Li (xk ) = δik =
0 si k 6= i
Preuve
1 évidente
2 1er cas : k = i : Li (xk ) = Li (xi ) est un produit de n quotients égaux à 1, donc Li (xi ) = 1.
2ème cas : k 6= i : comme j prend toutes les valeurs différentes de i, l’un des j sera égal à k, ainsi
l’un des numérateurs est nul ⇒ Li (xk ) = 0
Forme de Lagrange
Théorème
La famille (Li )0≤i≤n forme une base de Rn [x], et l’unique polynôme d’interpolation
de f relatif aux points deux à deux distincts x0 , x1 , . . . , xn , peut s’écrire
n
X
P (x) = f (xi )Li (x)
i=0
Exemples
x − x1 x − x0
L0 (x) = ; L1 (x) =
x0 − x1 x 1 − x0
x − x1 x − x0 y0 − y 1 x 0 y 1 − x 1 y0
P (x) = y0 + y1 = x+ (dans la base canonique)
x0 − x1 x1 − x 0 x0 − x1 x0 − x1
2
P (x) = L0 (x) + 5L1 (x) + 17L2 (x) = x + 1 (dans la base canonique)
Application
π
Calculer une approximation de sin( ) connaissant
5
√
π 1 π 2
sin(0) = 0 , sin( ) = et sin( ) = ≃ 0.707
6 2 4 2
√
1 2
P (x) = 0.L0 (x) + L (x)
2 1
+ 2
L2 (x)
π √ π
1 (x − 0)(x − 4 ) 2 (x − 0)(x − 6 )
= π π π +
2 ( 6 − 0)( 6 − 4 ) 2 ( π4 − 0)( π4 − π6 )
√
72 π 2 48 π
=− x(x − ) + x(x − )
2π 2 4 2 π2 6
√
π π 36 4 2
Pour x = , on trouve P ( ) = + ≃ 0.586.
5 5 100 25
π π
sin( ) ≃ P ( ) = 0.586 La valeur exacte est 0.587 à 10−3 près
5 5
Algorithme
1. P = 0
2. pour i = 0 à n faire
l = 1;
pour j = 0 à n, j 6= i faire
a − x(j)
l=l∗ ;
x(i) − x(j)
fin pour
P = P + y(i) ∗ l ;
fin pour
3. retourner P
Pour calculer P (a), cette approche nécessite n(n + 1) [div] et (n + 1)2 [multp], et
(n + 1)(2n + 1) [add], soit au total (4n + 2)(n + 1)opérations élémentaires.
Il existe d’autres algorithmes un peu plus économiques. Par exemple, on peut réduire le coût si on
réécrit P sous la forme
n n
X f (xi ) Y
P (x) = w(x) ′
, ou w(x) = (x − xj )
i=0
w (xi )(x − xi ) j=0
Exercice 1
n
Y
Montrer que w′ (xi ) = (xi − xj )
j=0;j6=i
n
Y
En effet : En écrivant w(x) = (x − xi ) (x − xj ) = (x − xi )q(x), on obtient
j=0;j6=i
′ ′
w (x) = q(x) + (x − xi )q (x)
n
′
Y
d’où, pour x = xi , w (xi ) = q(xi ) = (xi − xj )
j=0;j6=i
Remarque
L’inconvénient de la forme de Lagrange c’est qu’il est nécessaire de recalculer les éléments de la base si
l’on rajoute un noeud (point d’interpolation).
Base de Newton
Définition
La base de Newton relative aux (n + 1) points deux à deux distincts x0 , x1 , . . . , xn ,
est définie par les (n + 1) polynômes (wi )0≤i≤n
1 si i = 0
wi (x) = i−1
Y
(x − xj ) pour i = 1 . . . n
j=0
H. Hamda ( École
Chapitre 2 : Interpolation
Nationale d’IngénieursPolynômiale
de Carthage) 23 / 56
F ORME DE N EWTON ET DIFF ÉRENCES DIVIS ÉES Définitions et propriétés
Forme de Newton
= α0 + α1 (x − x0 ) + · · · + αn (x − x0 )(x − x1 ) . . . (x − xn−1 )
C’est la forme de Newton
H. Hamda ( École
Chapitre 2 : Interpolation
Nationale d’IngénieursPolynômiale
de Carthage) 24 / 56
F ORME DE N EWTON ET DIFF ÉRENCES DIVIS ÉES Définitions et propriétés
Proposition
Pour tout k ∈ {1, . . . , n}, on a
k−1
Y
Pk (x) = Pk−1 (x) + αk (x − xj )
j=0
Remarque
Ce résultat revêt une importance théorique et pratique fondamentale : Obtenir le polynôme d’interpolation
Pn de f relatif aux points x0 , . . . , xn revient à corriger son ”prédécesseur” Pn−1 qui interpole f aux
points x0 , . . . , xn−1 .
Différence divisée
Définition
Pour k ∈ {0, . . . , n} le coefficient αk (intervenant dans la proposition précédente)
est le coefficient dominant de Pk , il dépend de f et des points x0 , . . . , xk . On appelle
ce nombre la différence divisée de f d’ordre k aux points x0 , . . . , xk . On note
Exemples
f (x1 ) − f (x0 )
P1 (x) = f (x0 ) + (x − x0 )
x1 − x0
H. Hamda ( École
Chapitre 2 : Interpolation
Nationale d’IngénieursPolynômiale
de Carthage) 26 / 56
F ORME DE N EWTON ET DIFF ÉRENCES DIVIS ÉES Définitions et propriétés
Théorème
Le polynôme d’interpolation Pn de f relatif aux points deux à deux distincts
x0 , . . . , xn s’écrit dans la base de Newton comme
n
X n
X k−1
Y
Pn (x) = f [x0 , . . . , xk ]wk (x) = f (x0 ) + f [x0 , . . . , xk ] (x − xj )
k=0 k=1 j=0
pour k variant de 1 à n : Les différentes termes Pk (x) disparaissent sauf Pn (x) et P0 (x) = f [x0 ].
P1 F ORMULE EXPLICITE
La différence divisée de f d’ordre k aux points x0 , . . . , xk est donnée par la formule
k k
X f (xi ) X f (xi )
f [x0 , . . . , xk ] = = ′
i=0
k
Y i=0
wk+1 (xi )
(xi − xj )
j=0;j6=i
Preuve : En utilisant les polynômes de Lagrange Li , le polynôme d’interpolation Pk de f aux points x0 , . . . , xk s’écrit
k
X
Pk (x) = f (xi )Li (x)
i=0
k k k k
X Y (x − xj ) X f (xi ) Y
ou encore Pk (x) = f (xi ) = (x − xj )
(xi − xj ) k
i=0 j=0;j6=i i=0 Y j=0;j6=i
(xi − xj )
j=0;j6=i
k
X f (xi )
Le coefficient dominant αk de Pk est donc αk = .
k
i=0 Y
(xi − xj )
j=0;j6=i
k k
′
Y Y
En posant wk+1 (x) = (x − xj ), on vérifie facilement que wk+1 (xi ) = (xi − xj ), d’où le résultat.
j=0 j=0;j6=i
P3 F ORMULE R ÉCURSIVE
Pour tout k ∈ {1, . . . , n}, on a
H. Hamda ( École
Chapitre 2 : Interpolation
Nationale d’IngénieursPolynômiale
de Carthage) 29 / 56
F ORME DE N EWTON ET DIFF ÉRENCES DIVIS ÉES Propriétés des différences divisées
Preuve
k k
X f (xi ) X f (xi )
D’après P1 , on a f [x0 , x1 , . . . , xk ] = = ,d’où
k ′
i=0 Y i=0 wk+1 (xi )
(xi − xj )
j=0;j6=i
k
X f (xi )
f [x1 , . . . , xk ] =
k
i=1 Y
(xi − xj )
j=1;j6=i
k k k
X (xi − x0 )f (xi ) X (xi − x0 )f (xi ) X (xi − x0 )f (xi )
f [x1 , . . . , xk ] = = = ′
k k wk+1 (xi )
i=1 Y i=0 Y i=0
(xi − xj ) (xi − xj )
j=0;j6=i j=0;j6=i
k−1 k
X (xi − xk )f (xi ) X (xi − xk )f (xi )
De même f [x0 , . . . , xk−1 ] = = ′ . D’où
k wk+1 (xi )
i=0 Y i=0
(xi − xj )
j=0;j6=i
k
X (xi − x0 − xi + xk )f (xi )
f [x1 , . . . , xk ] − f [x0 , . . . , xk−1 ] = ′ = (xk − x0 )f [x0 , . . . , xk ]
i=0 w k+1 (x i )
Remarque
Une généralisation de la formule récursive est donnée par
Cette formule nous permet donc de calculer les différences divisées d’ordre k à
partir des différences divisées d’ordre k − 1.
Exemple
f [x1 ]−f [x0 ] f (x1 )−f (x0 ) f [x2 ]−f [x1 ] f (x2 )−f (x1 )
f [x0 , x1 ] = x1 −x0 = x1 −x0 ; f [x1 , x2 ] = x2 −x1 = x2 −x1