# Interpolation lagrangienne

En analyse numérique, les polynômes de Lagrange, du nom de Joseph-Louis Lagrange, permettent d'interpoler une série de points par un polynôme qui passe exactement par ces points appelés aussi nœuds. Cette technique d'interpolation polynomiale a été découverte par Edward Waring en 1779 et redécouverte plus tard par Leonhard Euler en 1783. C'est un cas particulier du théorème des restes chinois.

## Définition

On se donne n + 1 points $(x_{0},y_{0}),\dots ,(x_{n},y_{n})$ (avec les x$_i$ distincts deux à deux). On se propose de construire un polynôme de degré minimal qui aux abscisses x$_i$ prend les valeurs y$_i$, ce que la méthode suivante permet de réaliser.
L'étude suivante propose de montrer que le polynôme $L(X)=\sum _{j=0}^{n}y_{j}\left(\prod _{i=0,i\neq j}^{n}{\frac {X-x_{i}}{x_{j}-x_{i}}}\right)$ est le seul polynôme de degré au plus n à satisfaire cette propriété.

### Polynômes de Lagrange

Les polynômes de Lagrange associés à ces points sont les polynômes définis par :
    $l_{i}(X)=\prod _{j=0,j\neq i}^{n}{\frac {X-x_{j}}{x_{i}-x_{j}}}={\frac {X-x_{0}}{x_{i}-x_{0}}}\cdots {\frac {X-x_{i-1}}{x_{i}-x_{i-1}}}~{\frac {X-x_{i+1}}{x_{i}-x_{i+1}}}\cdots {\frac {X-x_{n}}{x_{i}-x_{n}}}.$
On a en particulier deux propriétés :
* l$_i$ est de degré n pour tout i ;
* $l_{i}(x_{j})=\delta _{i,j},0\leq i,j\leq n$ c'est-à-dire $l_{i}(x_{i})=1$ et $l_{i}(x_{j})=0$ pour $j\neq i$

### Polynôme d'interpolation

Le polynôme défini par $L(X)=\sum _{j=0}^{n}y_{j}l_{j}(X)$ est l'unique polynôme de degré au plus n vérifiant $L(x_{i})=y_{i}$ pour tout i.
En effet :
* d'une part $L(x_{i})=\sum _{j=0}^{n}y_{j}l_{j}(x_{i})=y_{i}$ ;
* d'autre part, étant combinaison linéaire de polynômes de degré n, L est de degré au plus n ; si un autre polynôme Q vérifie ces propriétés, alors L – Q est de degré au plus n et il s'annule en n + 1 points distincts (les x$_k$) : L – Q est donc nul, ce qui prouve l'unicité.

### Exemple

Pour les points $(x_{0}=1,y_{0}=3),(x_{1}=-1,y_{1}=2),(x_{2}=2,y_{2}=-1)$, on calcule d'abord les polynômes de Lagrange :
* $l_{0}(X)={\frac {(X+1)(X-2)}{(1+1)(1-2)}}=-{\frac {1}{2}}(X^{2}-X-2)$ ;
* $l_{1}(X)={\frac {(X-1)(X-2)}{(-1-1)(-1-2)}}={\frac {1}{6}}(X^{2}-3X+2)$ ;
* $l_{2}(X)={\frac {(X-1)(X+1)}{(2-1)(2+1)}}={\frac {1}{3}}(X^{2}-1)$.
Puis on calcule la fonction polynomiale passant par ces points :
* $L(X)=P(X)=3l_{0}(X)+2l_{1}(X)-l_{2}(X)$ ;
* $L(X)=P(X)=-{\frac {3}{2}}X^{2}+{\frac {1}{2}}X+4$.

### Autre écriture

Posons le polynôme $N(X)=\prod _{j=0}^{n}(X-x_{j})$. On voit immédiatement qu'il vérifie N(x$_i$) = 0 et, en utilisant la formule de Leibniz, sa dérivée vaut :
    $N'(X)=\sum _{j=0}^{n}\prod _{i=0,i\neq j}^{n}(X-x_{i})$.
En particulier, en chaque nœud x$_k$, tous les produits s'annulent sauf un, ce qui donne la simplification :
    $N'(x_{k})=\prod _{i=0,i\neq k}^{n}(x_{k}-x_{i})$.
Ainsi, les polynômes de Lagrange peuvent être définis à partir de N :
    $l_{i}(X)={N(X) \over N'(x_{i})(X-x_{i})}$.
On peut utiliser N pour traduire l'unicité : si Q vérifie $Q(x_{i})=y_{i}$ pour tout i alors Q – L s'annule aux points x$_i$ donc est un multiple de N. Il est donc de la forme $Q(X)=L(X)+N(X)\cdot P(X)$ où P est un polynôme quelconque. On a ainsi l'ensemble des polynômes interpolateurs liés aux points (x$_i$, y$_i$), et L est celui de degré minimal.

### Algorithme efficace

L'écriture alternative est à la base de l'algorithme rapide de calcul du polynôme d'interpolation de Lagrange. Avec les mêmes notations que précédemment, l'algorithme consiste à calculer $N(X)$ par une approche diviser pour régner, puis sa dérivée $N'(X)$ qu'on évalue ensuite sur les $x_{i}$ par évaluation multipoint. Puisque $L(X)=\sum _{j=0}^{n}y_{j}l_{j}(X)$, on en déduit que${\frac {L(X)}{N(X)}}=\sum _{j=1}^{m}{\frac {y_{j}}{N'(x_{j})(X-x_{j})}}.$Étant donnés toutes les valeurs des $N'(x_{j})$, on peut calculer le numérateur et le dénominateur de la fraction rationnelle, en utilisant à nouveau via une approche diviser pour régner. En utilisant des algorithmes de multiplication rapide (en), le polynôme d'interpolation de Lagrange peut être calculé avec un nombre d'opérations algébriques quasi linéaire.

## Base de polynômes

On se donne n + 1 scalaires distincts $x_{0},\ldots ,x_{n}$. Pour tout polynôme P appartenant à $K_{n}[X]$, si on pose $y_{i}=P(x_{i})$, P est le polynôme d'interpolation correspondant aux points : il est égal au polynôme L défini ci-dessus.
On a donc $P(X)=\sum _{j=0}^{n}P(x_{j})l_{j}(X)$ donc $(l_{0},l_{1},\dots ,l_{n})$ forme une famille génératrice de $K_{n}[X]$. Comme son cardinal (égal à n + 1) est égal à la dimension de l'espace, elle en est une base.
Exemples : en choisissant P = 1 ou P = X, on a :
* $1=\sum _{j=0}^{n}l_{j}(X)$ ;
* $X=\sum _{j=0}^{n}x_{j}l_{j}(X)$.
En fait c'est la base dont la base duale est la famille des n + 1 formes linéaires $u_{i}$ de Dirac définies par
    $\forall i\in \{0,\ldots ,n\},\,u_{i}(P)=P(x_{i})$.
Si l'on considère le produit scalaire :
    $\forall P,Q,\,\sum _{i=0}^{n}P(x_{i})Q(x_{i})$,
la famille $(l_{0},\dots ,l_{n})$ forme une base orthonormée de $\mathbb {R} _{n}[X]$.

## Applications

* L'interpolation lagrangienne peut être utilisée pour calculer la matrice inverse d'une matrice de Vandermonde.
* Elle est utilisée en cryptographie, pour le partage de clés secrètes de Shamir.
* Elle peut servir au calcul numérique d'une intégrale (via les formules de Newton-Cotes), ou plus généralement à l'approximation de fonction.
* Elle peut servir à approximer la dérivée d'une fonction. La dérivée d'un polynôme de Lagrange est
    $L'(x):=\sum _{j=0}^{k}y_{j}\ell _{j}'(x)$ où $\ell _{j}'(x)=\ell _{j}(x)\cdot \sum _{m=0,\ m\neq j}^{n}{\frac {1}{x-x_{m}}}$.

## Idée principale

Résoudre un problème d'interpolation conduit à inverser une matrice pleine de type matrice de Vandermonde. C'est un calcul lourd en nombre d'opérations. Les polynômes de Lagrange définissent une nouvelle base de polynômes qui permet de ne plus avoir une matrice pleine mais une matrice diagonale. Or, inverser une matrice diagonale est une opération triviale.

## Polynôme d'interpolation de Lagrange-Sylvester

Pour tout multiensemble $(X,m)$ de scalaires et tout élément $Y=(y_{x,k})_{x\in X,0\leq k<m(x)}$ de $\prod _{x\in X}K^{m(x)}$, il existe un unique polynôme $L$ de degré $<\sum _{x\in X}m(x)$ tel que
    $\forall x\in X\quad \forall k<m(x)\quad L^{(k)}(x)=y_{x,k}$.
Ce polynôme s'écrit donc $L=\sum _{x\in X,0\leq k<m(x)}y_{x,k}\ell _{x,k}$, où $\ell _{x,k}$ est l'unique polynôme de degré $<\sum _{z\in X}m(z)$ tel que $\ell _{x,k}^{(k)}(x)=1$ et tous les autres $\ell _{x,k}^{(j)}(z)$ sont nuls. Cela généralise à la fois l'interpolation de Lagrange et celle d'Hermite.