Chap 2 : Interpolation polynomiale - Lama

Transcription

Chap 2 : Interpolation polynomiale - Lama
Université Savoie – Mont Blanc
L3 MASS
Chap 2 : Interpolation polynomiale
But : Étant donnés n + 1 points {(xi , yi )}ni=0 , on cherche p telle que p(xi ) = yi
Applications potentielles :
• on se donne (xi , yi ) résultats de mesures expérimentales, on cherche une fonction p la
plus simple possible telle que p(xi ) = yi pour pouvoir ensuite extrapoler à d’autres
valeurs de x.
• on se donne une application f "compliquée", on cherche une application p qui vérifie
p(xi ) = f (xi ) et qui soit plus simple à manipuler, par exemple pour faire des calculs
d’intégrales (c.f chapitre suivant).
1
Introduction, étude théorique de l’interpolation de Lagrange
Définition : Soient n ∈ N, (xi , yi ) ∈ R2 pour tout 0 ≤ i ≤ n, avec xi 6= xj ∀i 6= j. On
appelle polynôme d’interpolation de Lagrange aux points (xi , yi ) le polynôme p ∈ Rn [X] tel
que : ∀i, p(xi ) = yi .
Les points (xi , yi ) sont appelés points d’interpolation.
Définition : Soient I un intervalle de R non vide, (xi )ni=0 n + 1 points distincts dans I et f
une application sur I. On appelle polynôme d’interpolation de Lagrange de f aux points (xi )
le polynôme d’interpolation de Lagrange aux points (xi , f (xi )).
Un peu d’algèbre linéaire :
• on note E i avec i ∈ {0, . . . , n} les vecteurs de la base canonique de Rn+1 , i.e.
 
0
 .. 
.
 
i

∀i = 0, . . . , n, E = 
1 ← ième position.
.
 .. 
0
1
• on note Rn [X] l’ensemble des polynômes à coefficients réels de degré inférieur ou égal à
n. Muni de l’addition sur les polynômes et de la multiplication par des scalaires réels,
(Rn [X], +, .) est un R-espace vectoriel de dimension n + 1.
• une base de Rn [X] est donnée par (1, X, . . . , X n ) (cette base particulière est appelée
base canonique de Rn [X]).
1.1
Existence et unicité d’une solution
Théorème 1 Soient n ∈ N, n + 1 points distincts x0 < x1 < . . . < xn et y0 , y1 , . . . , yn (n + 1)
autres réels. Alors il existe un unique polynôme de degré inférieur ou égal à n tel que
∀i ∈ {0, . . . , n},
p(xi ) = yi .
Preuve. On pose
ϕ : Rn [X] −→ Rn+1
p 7−→ ϕ(p) = (p(x0 ), . . . , p(xn )).
L’existence d’un polynôme d’interpolation revient donc à montrer que ϕ est surjective tandis
que l’unicité découle de l’injectivité de ϕ. Comme ϕ est une application linéaire entre deux
espaces vectoriels de même dimension, on est alors ramené à étudier l’injectivité de ϕ. Montrons
donc que kerϕ est réduit à {0} et pour cela considérons p ∈ kerϕ. p satisfait ainsi
p(x0 ) = . . . = p(xn ) = 0
et on a trouvé n + 1 racines réelles distinctes du polynôme p qui est de degré au plus n. Ceci
impose p ≡ 0, ϕ est donc injective.
Calcul direct du polynôme d’interpolation de Lagrange Une méthode naïve pour
calculer le polynôme d’interpolation de Lagrange
p(x) =
n
X
ak xk
k=0
consiste à écrire les n + 1 conditions p(xi ) = yi et à résoudre le système linéaire de taille
(n + 1)2 dont les n + 1 inconnues sont a0 , . . . , an . Ce système s’écrit sous forme matricielle

   
1 x0 . . . xn0
a0
y0
1 x1 . . . xn1   a1   y1 

   
. .
..   ..  =  ..  .
.
.
. . . . . .   .   . 
1 xn . . . xnn
La matrice
an

1 x0
1 x1

V (x0 , x1 , . . . , xn ) =  . .
 .. ..
1 xn
2
yn

. . . xn0
. . . xn1 

.. 
... . 
. . . xnn
est la matrice de Vandermonde aux points x0 , x1 , . . . , xn . On rappelle que c’est une matrice
inversible pourvu que les xi soient deux à deux distincts.
Exercice 1 Calculer par la méthode directe le polynôme d’interpolation de Lagrange qui en
−1 vaut 2, en 0 vaut 2 et en 2 vaut −3.
Remarque La méthode de Gauss nécessite (sauf structure particulière de la matrice) de
2(n + 1)3
opérations.
l’ordre de
3
Par ailleurs les matrices de Vandermonde sont peu adaptées au calcul numérique (elles sont
mal conditionnées).
Exercice 2 On pose
ψ : R3 [X] −→ R4
p 7−→ ψ(p) = (p(0), p0 (0), p(−1), p(1)).
1. Montrer que ψ est linéaire et bijective.
2. Déterminer la matrice A de ψ dans les bases canoniques B1 = (1, X, X 2 , X 3 ) de R3 [X]
et B2 = (E 0 , E 1 , E 1 , E 3 ) de R4 . Retrouver le fait que ψ est bijective.
3. On pose
q1 = x(x2 − 1),
q2 = x2 (x − 1).
(a) Calculer l’image par ψ de q1 et q2 .
(b) Déterminer s0 , s1 , s2 , s3 tels que
ψ(sj ) = E j
∀j = 0, . . . , 3.
(c) Soit f : [−1, 1] → R de classe C 1 . Justifier l’existence d’un unique polynôme p ∈
R3 [X] tel que
p(−1) = f (−1),
p(0) = f (0),
p(1) = f (1),
p0 (0) = f 0 (0)
et exprimer p en fonction de s0 , s1 , s2 et s3 .
1.2
Étude de l’erreur
Théorème 2 (Erreur d’interpolation de Lagrange) Soit f : [a, b] → R une application
continue sur [a, b] de classe C n+1 sur ]a, b[. Soient x0 < . . . < xn , n + 1 réels distincts dans
[a, b]. Soient p le polynôme d’interpolation de Lagrange de f aux points (xi ) et e l’erreur qu’on
définit par
e(x) = f (x) − p(x).
Alors pour tout x ∈ [a, b], il existe cx ∈ ] min{x, x0 }, max{x, xn }[ tel que
e(x) =
f (n+1) (cx )
π(x),
(n + 1)!
avec π(x) =
Y
(x − xi ).
i
3
Rappel sur le théorème de Rolle Soit f une application continue sur [a, b] dérivable sur
]a, b[ avec f (a) = f (b). Alors il existe c ∈ [a, b] tel que f 0 (c) = 0.
Preuve.
• Supposons x = xi pour i ∈ {0, . . . , n} alors on a
(
e(xi ) = 0
π(xi ) = 0
donc l’égalité est trivialement vérifiée pour tout cx ∈ I.
• Si maintenant x ∈ I \ {x0 , . . . , xn }, on pose ax = min{x, x0 }, bx = max{x, xn } et
Fx (y) = e(y) − e(x)
π(y)
,
π(x)
∀y ∈]ax , bx [.
Comme f est de classe C n+1 , Fx aussi par composition et
e(x) (n+1)
π
(y)
π(x)
e(x) (n+1)
π
(y)
= f (n+1) (y) − p(n+1) −
π(x)
e(x)
= f (n+1) (y) − 0 −
(n + 1)!.
π(x)
F (n+1) (y) = e(n+1) (y) −
Dans la dernière égalité on a utilisé le fait que p était un polynôme de degré n et que π
est de degré n + 1 avec un coefficient dominant égal à 1. Supposons que F (n+1) s’annule
sur I en un point noté cx , on a
Fx(n+1) (cx ) = 0 ⇐⇒ f (n+1) (cx ) − e(x)
(n + 1)!
= 0.
π(x)
(n+1)
Le théorème est donc démontré si on arrive à prouver qu’il existe un zéro de Fx
I.
Montrons par récurrence que
sur
pour tout k ∈ {1, . . . , n + 1}, F (k) s’annule au moins n + 2 − k fois sur ]ax , bx [
– initialisation : on sait que pour tout i ∈ {0, . . . , n}, e(xi ) = π(xi ) = 0 donc Fx (xi ) =
0. On a déjà n + 1 zéros de Fx . De plus Fx (x) = e(x) − e(x) = 0, donc Fx s’annule
au moins n + 2 fois sur I. On note c00 < c01 < . . . < c0n+1 ces n + 2 zéros. Appliquons
le théorème de Rolle sur chaque intervalle [c0j , c0j+1 ] : il existe c1j ∈ [c0j , c0j+1 ] tel que
Fx0 (c1j ) = 0.
Ceci nous donne bien n + 1 zéros de Fx0 et la propriété au rang initial est bien
démontrée.
4
– hérédité : on suppose que la propriété est satisfaite au rang k et on note ck0 < ck1 <
. . . < ckn+1−k les n + 2 − k zéros de F (k) . On applique alors le théorème de Rolle
sur chaque intervalle [ckj , ckj+1 ], j ∈ {0, n − k} : il existe ck+1
∈ [ckj , ckj+1 ] tel que
j
k+1
F (k+1) (cj ) = 0. Au final ou trouve n − k + 1 zéros de F (k+1) et la propriété est
satisfaite au rang k + 1.
Ainsi par la propriété précédente, on assure qu’il existe au moins n + 2 − (n + 1) = 1
zéro de F (n+1) sur I ce qui achève la démonstration du théorème.
Corollaire 1 Sous les hypothèses du théorème précédent on a l’estimation d’erreur suivante
∀x ∈ [a, b],
Mn+1 (b − a)n+1
Mn+1
|π(x)| ≤
(n + 1)!
(n + 1)!
Mn+1 = max f (n+1) (x)
|e(x)| ≤
où
x∈[a,b]
Remarque importante : Le corollaire précédent permet d’affirmer que si f est C ∞ alors
en faisant tendre n vers +∞, p(x) converge vers f (x) pour tout x ∈ [a, b] pourvu que Mn+1
ne tende pas vers +∞ (ou au moins lentement). Pour le voir il suffit d’utiliser la formule de
Stirling.
Dans le cas général, la convergence n’est pas assurée ! Il n’y a pas convergence par exemple
lorsqu’on interpole f (x) = 1/(x2 + 1) au voisinage de 0 avec des points régulièrement espacés.
C’est ce qu’on appelle le phénomène de Runge.
1.2.1
Erreur pour des points régulièrement espacés
Lorsque les points d’interpolation sont équidistants, une majoration de |π(x)| un peu plus
fine conduit au résultat suivant.
5
Proposition 1 Pour n ≥ 1, sous les hypothèses du corollaire 1, si en outre les points d’interpolation sont équidistants i.e
xi = a + ih
alors
∀x ∈ [a, b],
avec h =
Mn+1 n+1
h
(n + 1)
|e(x)| ≤
b−a
h
avec Mn+1 = max f (n+1) (x) .
x∈[a,b]
Idée de la preuve. Soit x ∈ [a, b], il existe sx ∈ [0, n] tel que
x = a + sx h
et on a
π(x) =
Y
Y
(x − xi ) = hn+1 (sx − i).
i
i
Donc
n+1
|π(x)| ≤ h
n
Y
max |sx − i|.
i=0
Q
On peut alors montrer que l’application s 7→ i |s − i| atteint son maximum sur [0, 1] ce qui
implique que max |s − i| ≤ i pour tout i = 0, . . . , n. On obtient
max |sx − i| ≤ n!
ce qui au final donne l’estimation
|e(x)| ≤
1.2.2
Mn+1
Mn+1 n+1
× hn+1 n! =
h
.
(n + 1)!
(n + 1)
Choix des points d’interpolation
On se demande si, indépendamment de la fonction f , on peut réduire l’erreur en jouant
sur le choix des n + 1 points d’interpolation.
On va donc s’intéresser aux choix des (xi ) qui rendent minimale la quantité
max |f (x) − p(x)|.
x∈[a,b]
Dans un premier temps, on pourrait penser que le meilleur choix est de répartir les points
uniformément dans [a, b]. On verra en TP qu’il n’en est rien et qu’il est plus intéressant de
mettre davantage de points d’interpolation sur le bord de l’intervalle et moins vers le centre.
On arrive ainsi à une meilleurs répartition de l’erreur sur l’intervalle [a, b].
Définition On appelle points d’interpolation de Tchebytchev sur [a, b] les points xi donnés
par
a+b b−a
2i + 1 π
xi =
+
cos
.
2
2
n+1 2
6
Théorème 3 Soit n ∈ N. On note Pn+1 l’ensemble des polynômes de degré n + 1 admettant
n + 1 racines distinctes dans l’intervalle [a, b] et dont le coefficient du monôme de degré n + 1
est égal à 1. Alors il existe un unique πT tel que
∀π ∈ Pn+1 ,
max |πT (x)| = 2
x∈[a,b]
Ce polynôme est donné par
πT (x) =
b−a
4
n+1
≤ max |π(x)|.
x∈[a,b]
n
Y
(x − xi )
i=0
où les xi sont les points d’interpolation de Tchebytchev.
Comparaison des polynômes π en fonction des points d’interpolation
7
Exercice 3 Soient f une fonction de classe C 2 sur [−1, 1] et α ∈]0, 1]. On considère le polynôme d’interpolation de Lagrange de f aux points −α, α et on pose
M2 = max |f 00 (x)|.
x∈[−1,1]
On note e(x) = f − p l’erreur d’interpolation.
1. Vérifier que
∀x ∈ [−1, 1],
|e(x)| ≤
M2 2
|x − α2 |.
2
2. Montrer que
M2
max{α2 , 1 − α2 }
2
x∈[−1,1]
Z 1
1/2
1/2
M2 2 4α2
2
4
|e(x)| dx
≤
−
+ 2α
2
5
3
−1
Z 1
2
M2 8 3
2
α − 2α +
|e(x)|dx ≤
2
3
3
−1
max |e(x)| ≤
3. Dans chacun de ces trois cas déterminer α tel que le majorant de l’erreur soit minimal.
Préciser alors le majorant.
2
Méthodes efficaces pour calculer le polynôme d’interpolation
de Lagrange
2.1
Polynômes de Lagrange
Une autre méthode consiste à réutiliser l’isomorphisme ϕ
ϕ : Rn [X] −→ Rn+1
(1)
p 7−→ ϕ(p) = (p(x0 ), . . . , p(xn )).
(2)
défini pour montrer l’existence du polynôme interpolateur au théorème 1. Grâce à ϕ on va
pouvoir construire une base de Rn [x] plus appropriée que la base canonique pour exprimer
le polynôme d’interpolation de Lagrange p : étant donnés x0 < . . . < xn , et y0 , . . . , yn , le
polynôme d’interpolation de Lagrange aux points (xi , yi ) est défini par
p = ϕ−1 (y0 , · · · , yn ).
Le vecteur (y0 , . . . , yn ) s’écrit dans la base canonique (E 0 , . . . , E n ) de Rn+1
(y0 , . . . , yn ) =
n
X
yi E i .
i=0
Par linéarité de l’application ϕ−1 on a
n
n
X
X
p = ϕ−1 (
yi E i ) =
yi ϕ−1 (E i ).
i=0
i=0
8
Par définition de ϕ, chaque polynôme ϕ−1 (E i ) est l’unique polynôme de degré au plus n tel
que
(
1 si j = i
−1
i
∀j = 0, . . . , n, ϕ (E )(xj ) =
0 si j 6= i
Définition : Les polynômes li = ϕ−1 (E i ) sont appelés polynômes de Lagrange aux points
(xi ).
Théorème 4 Soient x0 < . . . < xn , n + 1 réels distincts. Les polynômes de Lagrange aux
points (xi ) s’écrivent
n
Y
x − xj
∀i ∈ {0, . . . , n}, li (x) =
.
xi − xj
j=0,j6=i
La famille (l0 , . . . , ln ) formée par ces polynômes est une base de Rn [x], et pour tous réels
y0 , . . . , yn , le polynôme d’interpolation de Lagrange aux points (xi , yi ) s’écrit
p=
n
X
yi li .
i=0
Dans le cas de l’interpolation d’une fonction f aux points xi , cette formule devient
p=
n
X
f (xi )li .
i=0
Les formules ci-dessus sont appelées formes de Lagrange du polynôme d’interpolation.
Exemple : pour n = 2 le polynôme d’interpolation de Lagrange aux points (xi , yi )ni=0 s’écrit
p(x) = y0
(x − x0 )(x − x2 )
(x − x0 )(x − x1 )
(x − x1 )(x − x2 )
+ y1
+ y2
.
(x0 − x1 )(x0 − x2 )
(x1 − x0 )(x1 − x2 )
(x2 − x0 )(x2 − x1 )
Exercice 4 Retrouver grâce à la méthode des polynômes de Lagrange le polynôme d’interpolation de Lagrange qui en −1 vaut 2, en 0 vaut 2 et en 2 vaut −3.
Exercice 5 Construire le polynôme p qui interpole les points (0, 2), (1, 1), (2, 2), (3, 3) par la
méthode directe puis la méthode de Lagrange.
Nombre d’opérations nécessaires : on peut peut réécrire la forme de Lagrange du polynôme d’interpolation
n
X
yi ci
p(x) = π(x)
x − xi
i=0
où
π(x) =
n
Y
(x − xj ),
1
.
j=0,j6=i (xi − xj )
ci = Qn
j=0
9
Proposition 2 Le calcul du polynôme p d’interpolation de Lagrange aux points (xi , yi )ni=0
nécessite
• de l’ordre de n2 opérations une fois pour toutes.
• 4n opérations par évaluation de p.
−→ c’est beaucoup mieux que la méthode directe !
2.2
Différences divisées de Newton
Par analogie avec l’écriture des polynôme de Rn [X] dans la base canonique (1, X, . . . , X n ),
le principe est d’écrire le polynôme d’interpolation dans la base des (π0 , . . . , πn ) où
πi (x) =
i−1
Y
(x − xj ).
j=0
La méthode des différences divisées de Newton repose sur une construction par récurrence des
polynômes d’interpolation, c’est un algorithme efficace de détermination des coefficients du
polynôme d’interpolation dans cette base.
2.2.1
Principe
Cas n = 2 : Regardons comment l’algorithme fonctionne pour une interpolation sur 3
points : (x0 , y0 ), (x1 , y1 ) et (x2 , y2 ) avec x0 , x1 , x2 deux à deux distincts.
• Le polynôme d’interpolation de degré 1 pour les deux premiers points, noté p0,1 est tel
que
(
p0,1 (x0 ) = y0
.
p0,1 (x1 ) = y1
p0,1 est donc une droite qui passe par (x0 , y0 ) et (x1 , y1 ) et s’écrit
p0,1 (x) = y0 +
y1 − y0
(x − x0 ) = y0 + y0,1 (x − x0 ).
x1 − x0
• Cherchons à présent le polynôme p d’interpolation de degré 2 pour les trois points
(xi , yi )i=0,...,2 sous la forme
p0,1,2 (x) = p0,1 (x) + ax2 + bx + c avec a, b, c ∈ R.
Comme on veut que p(x0 ) = y0 et p(x1 ) = y1 ceci impose ax20 + bx0 + c = 0 et ax21 +
bx1 + c = 0. Donc p se réécrit sous la forme
p0,1,2 (x) = p0,1 (x) + α(x − x0 )(x − x1 ) avec α ∈ R.
• Il reste donc à déterminer α pour assurer la dernière condition p(x2 ) = y2 . En résolvant
l’équation on trouve
y1,2 − y1,0
1
y2 − y1
y1 − y0
α=
−
=
.
x2 − x0 x2 − x1 x1 − x0
x2 − x0
10
Cas général
Lemme 1 Le polynôme d’interpolation aux points (xi , yi ) peut s’écrire
p(x) = y0 +
n
X
y0,...,i πi (x)
où πi (x) =
i=0
i−1
Y
(x − xj ).
j=0
Définition La famille (π0 , . . . , πn ) est appelée base de Newton.
Lemme 2 Pour tous j, k ∈ {0, . . . , n} tels que j < k on a
• pj,...,k (x) =
• yj,...,k =
2.2.2
(x − xj )pj+1,...,k (x) − (x − xk )pj,...,k−1
pour tout x ∈ R.
xk − xj
yj+1,...,k − yj,...,k−1
.
xk − xj
Mise en pratique
Définition : Les coefficients yj,...,k sont appelés différences divisées d’ordre k − j aux points
(xi , yi )i=j,...,k .
Lorsqu’on interpole une application f , on définit les différences divisées de la façon suivante
Définition : Soient une application f , et x0 < . . . < xn n+1 réels dans l’ensemble de définition
de f . Les différences divisées aux points d’interpolation (xi , f (xi ))i=j,...,k sont notées
f [xj , . . . , xk ] = yj,...,k
(où donc yi = f (xi )) et sont appelées différences divisées de f aux points d’interpolation
(xi )j≤i≤k .
Le calcul des différences divisées d’ordre k s’effectue des différences divisées d’ordre k − 1.
Le lemme 2 permet de calculer par une récurrence finie les coefficients y0,1,...,k , 0 ≤ k ≤ n
nécessaires au calcul de p
pour i de 1 à n
pour j de 0 à n − i
yj+1,...,j+i − yj,...,j+i−1
.
yj,...,j+i =
xj+i − xj
Une fois les y0,1,...,i calculés pour tout i ∈ {1, . . . , n}, le lemme 1 permet d’évaluer le polynôme
d’interpolation. Pour diminuer le nombre de calculs, on ne calcule pas chaque πi (x) séparément,
on tire partie du fait que x − xj se factorise dans chaque πi tel que i > j pour réécrire l’égalité
du lemme 1
p(x) = y0 + (x − x0 )[y0,1 + (x − x1 )[y0,1,2 + (x − x2 )(. . .)]].
11
Définition : Cette formule est appelée forme de Newton du polynôme d’interpolation.
Mise en oeuvre sur un exemple on veut déterminer le polynôme d’interpolation de
Lagrange aux points (0, 1), (1, 3), (2, −1), (4, 9). On commence par remplir le tableau avec les
données
i
xi
yi
0
1
2
3
0
1
2
4
1
3
−1
9
yi−1,i
yi−2,i−1,i
on calcule les différences divisées d’ordre 1




y0,1 =






y1,2 =








 y2,3 =
yi−3,i−2,i−1,i
3−1
=2
1−0
−1 − 3
= −4
2−1
9+1
=5
4−2
ce qui permet de remplir la troisième colonne du tableau
i
xi
yi
yi−1,i
0
1
2
3
0
1
2
4
1
3
−1
9
2
-4
5
yi−2,i−1,i
yi−3,i−2,i−1,i
on détermine alors les différences divisées d’ordre 2

−4 − 2


 y0,1,2 =
= −3

2−0

5+4


=3
 y1,2,3 =
4−1
i
xi
yi
yi−1,i
yi−2,i−1,i
0
1
2
3
0
1
2
4
1
3
−1
9
2
−4
5
−3
3
enfin la différence divisée d’ordre 3 donne
y0,1,2,3 =
3+3
3
=
4−0
2
12
yi−3,i−2,i−1,i
i
xi
yi
yi−1,i
yi−2,i−1,i
0
1
2
0
1
2
1
3
−1
2
−4
−3
3
4
9
5
3
yi−3,i−2,i−1,i
3
2
Au final
p(x) =
3
X
y0,...,i πi (x)
i=0
=y0 π0 (x) + y0,1 π1 (x) + y0,1,2 π2 (x) + y0,1,2,3 π3 (x)
3
=1 + 2x − 3x(x − 1) + x(x − 1)(x − 2).
2
Exercice 6 On veut calculer le polynôme d’interpolation de Lagrange de la fonction f (x) =
π
sin(x) en les trois points xi = i, i ∈ {0, 1, 2}.
2
1. Calculer le polynôme interpolateur par la méthode de Lagrange puis la méthode des différences divisées de Newton.
3π
2. On rajoute le point x3 =
. Déterminer le nouveau polynôme interpolateur grâce à la
2
méthode des différences divisées de Newton.
Commentaires
• en nombre d’opérations la méthode des différences divisées de Newton est un tout petit
peu plus avantageuse.
• si les xi sont équirépartis,le calcul des différences divisées devient nettement plus rapide
car on divise à chaque fois par la même quantité h.
• ce qui rend plus intéressante la méthode des différences divisées de Newton par rapport
aux polynômes de Lagrange est surtout le fait qu’on puisse rajouter des points d’interpolation supplémentaires pour créer un nouveau polynôme d’interpolation sans recalculer
tous les coefficients.
Exercice 7
1. Soit f : [0, 4] −→ R une application telle que
f (0) = 1,
f (1) = 4,
f (3) = 0,
f (4) = 4.
Appliquer la méthode des différences divisées pour calculer le polynôme d’interpolation
de Lagrange de f aux points 0, 1, 3, 4 sous forme de Newton.
13
2. On suppose que f est C ∞ et que
∗
∀n ∈ N , ∀x ∈ [0, 4],
(n) 1
f (x) ≤ .
n
Donner une majoration aussi précise que possible de l’erreur commise lorsqu’on approche
f (2) par p(2).
Exercice 8 Soient f (x) = cos(x) et g(x) = exp(3x) définies sur [0, 1]. Estimer le nombre
minimum de points pour que l’erreur entre la fonction et son polynôme d’interpolation de
Lagrange soit inférieure à 0, 1 puis 0, 01.
Exercice 9 On pose
f (x) =
1. Calculer la valeur exacte de
Z
1
1−x
2/3
f (x) dx.
I=
0
Dans la suite on souhaite donner une valeur approchée de I.
2. Calculer le polynôme interpolateur pl ∈ R2 [X] de Lagrange de f aux points 0, 1/3, 2/3.
3. Déterminer des coefficients c0 , c1 , c2 tels que pour tout polynôme de R2 [X] on ait l’égalité
2
Z
p(x) dx = c0 p(0) + c1 p(1) + c2 p(2).
0
4. En déduire d0 , d1 , d2 tels que pour tout polynôme de R2 [X] on ait l’égalité
Z
2/3
p(x) dx = d0 p(0) + d1 p(1/3) + d2 p(2/3).
0
5. Trouver une méthode pour approcher I se basant sur l’interpolation de f par pl .
3
Stabilité
Soient f : I → R une fonction de classe C n+1 (I) et (xi )i=0,...,n n+1 point distincts de I. On
suppose qu’en raison d’erreurs d’arrondis ou d’incertitude dans les mesures, les valeurs exactes
f (xi ) sont perturbées. On se demande comment le polynôme d’interpolation de Lagrange p
répercute ces perturbations.
Plus précisément, on considère le polynôme p̃ qui interpole les points (xi , f˜(xi )), f˜(xi ) étant
les valeurs perturbées des f (xi ) et on s’intéresse à l’écart entre p et p̃ sur l’intervalle I en
espérant que des petits écarts |f (xi ) − f˜(xi )| engendrent des petites erreurs |p(x) − p̃(x)|.
C’est ce qui définit la stabilité d’une méthode.
14
Proposition 3 On a l’estimation suivante
n
X
max |p(x) − p̃(x)| = max f (xi ) − f˜(xi ) li (x)
x∈I
x∈I i=0
≤ Λ max |f (xi ) − f˜(xi )|
i=0,...,n
où
Λ = max
x∈I
n
X
|li (x)|.
i=0
Λ est appelée constante de Lebesgue (elle dépend des noeuds d’interpolation). Cette estimation
montre que des petites perturbations sur les valeurs nodales f (xi ) entraînent des petites variations sur le polynôme d’interpolation de Lagrange pourvu que la constante de Lebesgue Λ soit
petite. La constante de Lebesgue mesure donc le conditionnement du problème d’interpolation.
Pour des points équirépartis a
2n+1
Λ'
(ln(n) + γ)ne
où e ' 2, 72 et γ ' 0, 55 sont respectivement le nombre de Néper et la constante d’Euler. Quand le nombre de points n devient grand, l’interpolation de Lagrange sur des noeuds
équirépartis peut donc être instable (Λ → +∞ quand n → +∞).
4
Interpolation par intervalles, interpolation composite
On a mis en évidence le fait qu’on ne peut pas garantir la convergence uniforme du polynôme de Lagrange vers f quand les points d’interpolation sont équirépartis. L’interpolation
de Lagrange de bas degré est cependant suffisamment précise quand elle est utilisée sur des
intervalles assez petits, y compris avec des noeuds équi-répartis, ce qui est commode en pratique.
Il est donc naturel d’introduire une partition [a, b] en N sous–intervalles [ai , ai+1 ] et d’utiliser l’interpolation de Lagrange sur chaque sous–intervalle [ai , ai+1 ] en utilisant m points
équirépartis (par exemple m = 1 ou 3).
Interpolation linéaire par morceaux
Étant donnée une distribution (non nécessairement uniforme) de points a0 < . . . < aN ,
on approche f par une fonction continue qui, sur chaque intervalle [ai , ai+1 ], est définie par
le segment joignant les deux points (ai , f (ai )) et (ai+1 , f (ai+1 )). Cette fonction, notée dans
la suite l, est appelée interpolation linéaire par morceaux (ou parfois spline linéaire) et est
définie par la formule
l|[ai ,ai+1 ] (x) = f (ai ) +
f (ai+1 ) − f (ai )
(x − ai )
ai+1 − ai
15
Proposition 4 (Estimation de l’erreur) Soit f : [a, b] → R de classe C 2 sur [a, b], on
peut majorer l’erreur d’interpolation au point x ∈ [a, b] par
max |f (x) − l(x)| ≤
x∈[a,b]
où h =
max
h2
max |f 00 (x)|
8 x∈[a,b]
|ai+1 − ai |. Par conséquent, pour tout x ∈ [a, b], l(x) tend vers f (x) quand
i∈{0,...,n−1}
n → +∞ à condition que f soit assez régulière.
Exercice 10 On donne dans le tableau suivant l’évolution de l’espérance de vie dans un pays
Année
Espérance
1985
75, 8
1995
76, 6
2000
77, 2
2005
77, 4
Utiliser l’interpolation de Lagrange pour estimer l’espérance de vie en 1987, 1999 et 2001. La
comparer avec une interpolation linéaire par morceaux.
16
5
Solutions
1 On écrit p sous la forme
p(x) = a0 + a1 x + a − 2x2 .
Les coefficients ai sont solutions du système linéaire

2


 a0 + a1 × (−1) + a2 × (−1) = 2
a0 = 2



a0 + a1 × 2 + a2 × 22 = −3
On trouve facilement

a0 = 2





5

a2 = −
6



5


 a1 = a2 = −
6
2 Montrons que ψ est linéaire. Soient p, q ∈ R3 [X], λ ∈ R
ψ(λp + q) = (λp + q)(0), (λp + q)0 (0), (λp + q)(−1), (λp + q)(1)
= (λp)(0) + q(0), (λp)0 (0) + q 0 (0), (λp)(−1) + q(−1), (λp)(1) + q(1)
=λ p(0), λp0 (0), p(−1), p(1) + q(0), q 0 (0), q(−1), q(1)
=λψ(p) + ψ(q)
donc ψ est linéaire. Montrons que ψ réalise un isomorphisme de R3 [X] vers R4 . Comme ce
sont deux ev de dimension 4, on est ramené à étudier l’injectivité de ψ : soit p ∈ Ker ψ, on a
p(0) = p(−1) = p0 (1),
p0 (0) = 0.
la première condition permet d’écrire p sous la forme
p(x) = αx(x + 1)(x − 1)
la deuxième montre par dérivation que α = 0, donc que p ≡ 0 et l’injectivité/bijectivité est
démontrée.
Déterminons l’image par ψ des vecteurs de la base canonique de R3 [X] : (1, X, X 2 , X 3 )




ψ(1) = (1, 0, 1, 1)



1
0
0
0


0 1 0 0 
 ψ(X) = (0, 1, −1, 1)


=⇒
A=

2



1
−1
1
−1
ψ(X
)
=
(0,
0,
1,
1)





1 1 1 1
 ψ(X 3 ) = (0, 0, −1, 1)
ψ est bijective ssi A est inversible. Par des opérations sur les lignes (par ex. L3 ← L3 + L4 )
on se ramène à une matrice échelonnée avec des coefficients non nuls sur la diagonale, A est
donc une matrice inversible (on peut aussi calculer le déterminant directement en dvp selon
17
une ligne ou une colonne).
Calculons l’image par ψ de q1 et q2 en utilisant leur décomposition dans la base canonique
q1 = −1 × X + 1 × X 3
=⇒ ψ(q1 ) = (0, −1, 0, 0)
q2 = −1 × X 2 + 1 × X 3
=⇒ ψ(q2 ) = (0, 0, −2, 0).
On définit les polynômes s0 , s1 , s2 , s3 ∈ R3 [X] tels que ψ(si ) = E i . D’après la question précédente on a déjà s1 = −q1 et s2 = −1/2 ∗ q2 .
Écrivons les polynômes si (i = 0, 3) sous la forme ai0 + ai1 X + ai2 X 2 + ai3 X 3 , pour s0 le système
à résoudre s’écrit


a10 = 1





 a1 = 0
1
=⇒
s1 = 1 − X 2 .
1
1
1
1

a0 − a1 + a2 − a3 = 0





 a1 + a1 + a1 + a1 = 0
0
1
2
3
De la même manière on trouve
1
1
s3 = X 2 + X 3 .
2
2
(s0 , s1 , s2 , s3 ) comme image réciproque de la base (E 0 , E 1 , E 2 , E 3 ) par l’application bijective
ψ forme une base de R3 [X]. Soit f de classe C 1 et p dans R3 [X] tels que
ψ(p) = (f (0), f 0 (0), f (−1), f (1))
on sait qu’il tel p existe car ψ est bijective donc en particulier surjective. Déterminons les
coordonnées de p dans la base (s0 , s1 , s2 , s3 ) : par linéarité de ψ on a directement
p = f (0)s0 + f 0 (0)s1 + f (−1)s2 + f (1)s3 .
3
1. On applique l’estimation d’erreur d’interpolation donnée dans l cours avec n = 1 (cad
2 points d’interpolation)
|e(x)| ≤
M2
M2 2
|(x + α)(x − α)| ≤
(x − α2 ).
2!
2
2. Estimons l’erreur pour différentes normes
• Pour la norme L∞ c’est-à-dire la norme du max : pour tout x ∈ [−1, 1], on a
−α2 ≤ x2 − α2 ≤ 1 − α2 .
Donc
max x2 − α2 = max{α2 , 1 − α2 }
x∈[−1,1]
qui vaut




1
si α2 ≥
2
α2


 (1 − α2 )
√
(i.e. α ≥
2
)
2
sinon
Au final
kek∞ := max |e(x)| ≤
x∈[−1,1]
18
M2
max{α2 , 1 − α2 }.
2
• Pour la norme L2 , on calcule
Z 1
Z
2
2 2
x − α dx =
−1
1
2 4α2
x4 − 2α2 x2 + α4 dx = −
+ 2α4 .
5
3
−1
Donc
Z
1/2
1
2
kek2 :=
(e(x)) dx
−1
• Pour la norme L1
Z 1
Z
2
x − α2 dx =2
−1
M2
≤
2
2 4α2
−
+ 2α4
5
3
1/2
.
1
x2 − α2 dx
0
α
Z
2
Z
2
1
(α − x ) dx + 2
=2
0
(x2 − α2 ) dx
α
2
8
= α3 − 2α2 + .
3
3
et
Z
1
M2
kek1 :=
|e(x)| dx ≤
2
−1
3.
8 3
2
α − 2α2 +
3
3
α2
.
√
1
2
= cad α =
. La majoration
2
2
• Dans le premier cas, le majorant est minimal si
d’erreur devient
M2
max |e(x)| ≤
.
4
x∈[−1,1]
• Dans le second cas, on pose A = α2 , pour déterminer le minimaum du majorant,
on est ramené à étudier le minimum de la fonction
2
4
g(A) = 2A2 − A +
3
5
On trace le tableau de variations suivant
A
0
g0
−
1/3
0
1
+
& 8/45 %
g
√
1
3
ceci montre que g est minimum pour A =
= , ce qui correspond à α =
.
3
3
La majoration d’erreur pour la norme 2 devient
Z 1
1/2 √
10 M2
2
kek2 :=
(e(x)) dx
≤
.
15 2
−1
α2
• Enfin pour la norme L1 , on doit trouver le minimum de la fonction
4
1
h(α) = α3 − α2 + .
3
3
Le tableau de variations de h s’écrit
19
α
0
1/2
g0
−
1
0
+
& 1/4 %
g
1
et on obtient dans la majoration d’erreur
2
le minimum est ainsi atteint en α =
Z
1
|e(x)| dx ≤
kek1 :=
−1
M2
.
4
4 On a
(x − 0)(x − 2)
(x − (−1))(x − 2)
(x − (−1))x
+2
−3
(−1 − 0)(−1 − 2)
(0 − (−1))(0 − 2)
(2 − (−1))(2 − 0)
5 2 5
= − x − x + 2.
6
6
p(x) =2
On vérifie que
p(−1) = 2,
5 On pose p(x) = a0 + a1 x + a2 x2 + a3 x3 .
linéaire suivant

1 0 0

1 1 1

1 2 4
1 3 9
Par la méthode de Gauss on arrive

1

0

0
0
p(0) = 2,
p(2) = −3.
Par la méthode directe on doit résoudre le système
   
a0
0
2
 a   
1   1  2
  =  
8  a2  2
a3
27
3
au système échelonné
   
a0
2
0 0 0
 a  −1
1 1 1  1   
  =  
0 2 6 a2   2 
a3
0 0 6
−2
qu’on résout facilement pour obtenir
8
1
a3 = − , a2 = 2, a1 = − ,
3
3
Par la méthode de Lagrange on écrit p sous la forme
a0 = 2.
p(x) = 2l0 (x) + l1 (x) + 2l2 (x) + 3l3 (x)
ce qui donne, en remplaçant les li par leur expression
(x − 1)(x − 2)(x − 3) (x − 0)(x − 2)(x − 3)
(x − 0)(x − 1)(x − 3)
+
+2
(0 − 1)(0 − 2)(0 − 3)
(1 − 0)(1 − 2)(1 − 3)
(2 − 0)(2 − 1)(2 − 3)
(x − 0)(x − 1)(x − 2)
+3
(3 − 0)(3 − 1)(3 − 2)
(x − 1)(x − 2)(x − 3) x(x − 2)(x − 3)
x(x − 1)(x − 2)
=−
+
− x(x − 1)(x − 3) +
3
2
2
1 3
8
2
= − x + 2x − x + 2
3
3
p(x) =2
20
6 On commence par calculer
f (0) = 0,
π
f ( ) = 1,
2
f (π) = 0.
Grâce à la méthode de Lagrange, le polynôme interpolateur de lagrange de f aux points xi
s’écrit
x(x − π)
4
p(x) = π π
= − 2 x(x − π).
π
( − π)
2 2
Pour retrouver ce résultat grâce à la méthode de Newton, on commence par construire le
tableau des différences divisées
i
xi
yi
0
0
π
2
0
π
0
1
2
f [xi−1 , xi ]
f [xi−2 , xi−1 , xi ]
2
π
2
−
π
1
−
4
π2
On a alors
p2 (x) =f [x0 ]π0 (x) + f [x0 , x1 ]π1 (x) + f [x0 , x1 , x2 ]π2 (x)
2
4 π
= x − 2x x −
π
π
2
4
= − 2 x(x − π)
π
Si on rajoute le point x3 on doit rajouter une ligne et une colonne au tableau
i
xi
yi
0
0
π
2
0
2
π
0
3
3π
2
−1
1
1
f [xi−1 , xi ]
f [xi−2 , xi−1 , xi ]
2
π
2
−
π
2
−
π
−
f [xi−3 , xi−2 , xi−1 , xi ]
4
π2
0
8
3π 3
le nouveau polynôme interpolateur s’écrit
p3 (x) =p2 (x) + f [x0 , x1 , x2 , x3 ]π3 (x)
8 π
4
= − 2 x(x − π) + 3 x x −
(x − π)
π
3π
2
8
= 3 x(x2 − 3πx + 2π 2 )
3π
7
1. On écrit le tableau des différences divisées
21
donc
i
xi
yi
yi−1,i
yi−2,i−1,i
0
1
0
1
1
4
3
2
3
0
−2
− 53
3
4
4
4
2
yi−3,i−2,i−1,i
11
12
5
11
p(x) = 1 + 3x − x(x − 1) + x(x − 1)(x − 3).
3
12
2. D’après le cours, l’estimation d’erreur s’écrit
|f (2) − p(2)| ≤
max |f (4) (x)|
|π(2)|
4!
avec
π(x) = x(x − 1)(x − 3)(x − 4).
On calcule π(2) = 4 et max |f (4) (x)| ≤ 1/4 donc
|f (2) − p(2)| ≤
8
1
1
= .
4!
24
• On a
π
f (n+1) (x) = cos(n+1) (x) = cos x + (n + 1)
2
donc l’estimation d’erreur s’écrit
π max cos x + (n + 1) 1
2 ≤
|f (x) − pn (x)| ≤
.
(n + 1)!
(n + 1)!
Pour assurer une erreur inférieure à ε on doit ainsi prendre
1
(n + 1)! ≥ .
ε
On rappelle que 3! = 6, 4! = 24 et 5! = 120 donc pour avoir une erreur inférieure à 0, 1
on doit prendre n ≥ 3 et pour ε = 0, 01 n ≥ 4.
• Pour g, la dérivée n + 1-ième s’écrit
g (n+1) (x) = 3n+1 exp(3x).
On obtient
|g(x) − pn (x)| ≤
Pour n = 9 on trouve
3n+1 exp(3)
.
(n + 1)!
3n+1 exp(3)
' 0, 33
(n + 1)!
pour n = 10
' 0, 089
22
Donc pour avoir une erreur inférieure à 0, 1 il faut n ≥ 10. De même pour n = 11 le
majorant vaut
' 0, 022
et pour n = 12
' 0, 0051
donc pour assurer une erreur inférieure à 0, 01 on prend n ≥ 12.
9
1. On trouve I = ln 3.
2. Le polynôme de interpolateur de Lagrange de f aux points 0, 1/3, 2/3 s’écrit dans la
base des polynômes de Lagrange
pl (x) = f (0)l0 (x) + f (1/3)l1/3 (x) + f (2/3)l2/3 (x)
où
1
2
x−
x−
3
3
2
l1/3 (x) = −9x x −
3
9
1
l2/3 (x) = x x −
2
3
9
l0 (x) =
2
et
f (0) = 1
f (1/3) = 3/2
f (2/3) = 3
9
pl (x) =
2
1
2
27
2
27
1
x−
x−
− x x−
+ x x−
.
3
3
2
3
2
3
3. On écrit
p(x) = a0 + a1 x + a2 x2
et
2
Z
0
8
p(x) dx = 2a0 + 2a1 + a2 .
3
L’égalité demandée impose
8
2a0 + 2a1 + a2 =c0 p(0) + c1 p(1) + c2 p(2)
3
=c0 a0 + c1 (a0 + a1 + a2 ) + c2 (a0 + 2a1 + 4a2 )
=(c0 + c1 + c2 )a0 + (c1 + 2c2 )a1 + (c1 + 4c2 )a2
On trouve
1
c0 = ,
3
4
c1 = ,
3
23
1
c2 = .
3
4. On fait un changement de variable sous l’intégrale
Z
2/3
q(s) ds =
0
d’où
d0 =
1
3
Z
2
q
0
t
1
dt = (c0 q(0) + c1 q(1/3) + c2 q(2/3))
3
3
1
c0
= ,
3
9
d1 =
c1
4
= ,
3
9
d2 =
c2
1
= .
3
9
5. Pour donner une valeur approchée de I, on remplace sous l’intégrale f par pl , la question
précédente donne
I =d0 pl (0) + d1 pl (1/3) + d2 pl (2/3)
=d0 f (0) + d1 f (1/3) + d2 f (2/3)
10
1 2 1
' 1, 11
= + + =
9 3 3
9
on vérifie que ln 3 ' 1, 09 est proche de cette valeur.
10
24