TD MP* : Interpolation de Lagrange
Attention : certaines parties de ce TD font partie du programme.
.1 Position du problème
Soit (α0, . . . ,αn) un (n+1)-uplet d’éléments deux à deux distincts d’un corps commutatifK.
Existe-t-il un polynômeP∈K[X] prenant en ces points des valeurs fixéesy0, . . . ,yn, i.e. un polynômeP tel que
∀i ∈[0,n] Pe(αi)=yi
On connaît déjà le casn=1 : il existe un unique polynôme de degré inférieur ou égal à 1 qui prend en deux points distincts donnés deux valeurs données, en d’autres termes par deux points distincts il passe une droite unique.
.2 Exercice à savoir faire
Soit (α0,α1)∈K2,α06=α1. Soit (y0,y1)∈K2.
Déterminer l’unique polynôme de degré≤1 qui prend en chaqueαi la valeur yi. Puis tous les polynômes qui prennet en chaqueαi la valeuryi
.3 Etude théorique
On considère un corps commutatifK, et (α0, . . . ,αn)∈Kn+1tels que i 6=j ⇒αi 6=αj.
1. On définit l’application
φ : K[X] −→ Kn+1
P 7−→ (Pe(α0), . . . ,Pe(αn))
Motivation : notre problème est d’étudier la surjectivité de cette applica- tion.
On voit sans difficulté queφ∈L(K[X],Kn+1). Déterminer le noyau deφ (on le décrira comme ensemble des multiples d’un polynôme à détermi- ner), et démontrer que
Ker(φ)M
Kn[X] = K[X]
2. En déduire queφinduit un isomorphisme deKn[X] surKn+1.
[On a ainsi démontré que, pour tout (y0, . . . ,yn)∈Kn+1, il existe un unique polynômeP de degré≤nvérifiant
Pe(α0)=y0, Pe(α1)=y1, . . .Pe(αn)=yn
P est l’unique antécédent de (y0, . . . ,yn) parφ.]
3. SiP est une solution du problème posé, i.e. un polynôme tel que
∀i∈[0,n] P(αe i)=yi
déterminer tous les polynômes qui vérifient cette condition.
Si une chose est à retenir, c’est que la surjectivité d’une application linéaire en dimension finie peut parfois être étudiée à l’aide de son injectivité.
.4 Le théorème
Théorème Soit (α0, . . . ,αn) un n+1-uplet d’éléments d’un corps commu- tatif K, supposésdeux à deux distincts. Soit (y0, . . . ,yn) unn+1-uplet d’éléments deK. Il existe un unique polynômeP deKn[X] tel que
2. Calculer les composantes d’un polynômePdeKn[X] dans la base (L0, . . . ,Ln) (on les exprimera en fonction des valeurs de P en les pointsαi). Ceci permet de donner une nouvelle démonstration du résultat établi au pa- ragraphe précédent.
.6 Interpolation de Lagrange-Sylvester-Hermite
ExerciceSoit (y0, . . . ,yn) et (y00, . . . ,yn0) deux familles den+1 éléments deK. En utilisant une démarche analogue à ce qui a été utilisé pour l’interpolation de Lagrange, démontrer qu’il existe un unique polynômeP de degré au plus 2n+1 tel que, pour touti,Pe(αi)=yi etPe0(αi)=yi0. (lesαi étant encore des éléments deKdeux à deux distincts).
Exercice (spline)Soita,bdeux réels,a<b. Soit (x1,x10,x001,x2) un quadruplet de réels quelconques. Montrer qu’il existe un unique polynômeP réel de degré≤? tel que
Pe(a)=x1, Pe0(a)=x10 , Pf00(a)=x001, P(b)=x2
.7 Etude graphique, phénomène de Runge
On considère une fonction f continue sur un segment [a,b]. Sin ≥1, ce qui précède montre qu’il existe un (unique) polynômePnde degré≤ntel qui coïn- cide avec f en chaque xi =a+ib−a
n (0≤i ≤n). On peut raisonnablement penser que quandn→ +∞, (Pn) converge uniformément versf sur [a,b]. Par exemple, pour la fonctionx7→ 1
1+x2sur [−1, 1] :
O O
(2)
(3) O
(4) O
O
(1)
O
O restart;
f:=1/(1+x**2);
f:= 1 1Cx2 absc:=[seq(-1+k/8,k=0..16)];
absc:= K1,K7 8,K3
4,K5 8,K1
2,K3 8,K1
4,K1 8, 0, 1
8, 1 4, 3
8, 1 2, 5
8, 3 4, 7
8, 1 ord:=map(y->subs(x=y,f),absc);
ord:= 1 2, 64
113, 16 25, 64
89, 4 5, 64
73, 16 17, 64
65, 1, 64 65, 16
17, 64 73, 4
5, 64 89, 16
25, 64 113, 1
2 p:=CurveFitting[PolynomialInterpolation](absc,ord,x);
p:= 1K 8112475081
8112479050 x2C 101401088642
101405988125 x4K 101273955264
101405988125 x6C 99884179968 101405988125 x8 K 92337733632
101405988125 x10C 70409781248
101405988125 x12K 35970351104 101405988125 x14 C 8589934592
101405988125 x16
plot([p,f],x=-1..1,scaling=constrained);
x
K1,0 K0,5 0,0 0,5 1,0 0,6
0,8 1,0
Pourn=16, les graphes dePet de f sont tellement proches qu’on ne peut pas les distinguer. Il est alors plus intéressant de tracer le graphe de f −P ou de P−f :
O plot(f-p,x=-1..1);
x
K1,0 K0,5 0 0,5 1,0 0,00001
0,00002 0,00003
On voit que l’écart est faible, mais il se passe quand même quelque chose au voisinage des points extrêmes ; changeons de fonction, prenons x 7→ 1
1+8x2 toujours sur [−1, 1] :
(8) O
O
(6) O
O
(5)
(7) O
O O
restart;
f:=1/(1+8*x**2);
f:= 1 1C8 x2 absc:=[seq(-1+k/8,k=0..16)];
absc:= K1,K7 8,K3
4,K5 8,K1
2,K3 8,K1
4,K1 8, 0, 1
8, 1 4, 3
8, 1 2, 5
8, 3 4, 7
8, 1 ord:=map(y->subs(x=y,f),absc);
ord:= 1 9, 8
57, 2 11, 8
33, 1 3, 8
17, 2 3, 8
9, 1, 8 9, 2
3, 8 17, 1
3, 8 33, 2
11, 8 57, 1
9 p:=CurveFitting[PolynomialInterpolation](absc,ord,x);
p:=K25168984
3165723 x2C1C 1674214976
28491507 x4K 87997333504
256423563 x6C 31654199296 23311233 x8 K 77607206912
23311233 x10C 1215878397952
256423563 x12K 910533066752 256423563 x14 C 274877906944
256423563 x16
plot([p,f],x=-1..1,scaling=constrained);
x
K1,0 K0,5 0 0,5 1,0
K0,8 K0,6 K0,4 K0,2 0,2 0,4 0,6 0,8 1,0
La condition d’interpolation
∀i∈ 0,n Pe(αi)=yi
donne alors un système linéaire den+1 équations àn+1 inconnues (lespi). Si on montre que ce système est de Cramer, on a résolu le problème de l’existence et de l’unicité. . .