![]()
Les systèmes d'équations linéaires de Vandermonde (en l'honneur du mathématicien français Alexandre Vandermonde (1735-1796)) apparaissent naturellement lorsqu'on veut trouver un polynôme de degré N-1 qui prend des valeurs données qi en N points donnés distincts xi (polynôme d'interpolation de Lagrange). On est alors amené à résoudre le système d'équations linéaires
![]()

Remarquons que souvent il n'est pas nécessaire de connaître la
décomposition du polynôme de Lagrange dans la base naturelle, mais que
sa décomposition dans une autre base suffit. C'est ainsi que si on se
contente de la décomposition de P(x) dans la base contituée des
polynômes
qui valent 1 en xj et aux autres points xn il n'y a
pas de calcul à faire car dans ce cas les coefficients de la
décomposition sont les valeurs qi. De même si on choisit de
décomposer P(x) dans la base de Newton
1,x-x1,(x-x1)(x-x2),...,(x-x1)(x-x2)...(x-xN-1) le calcul se
ramène à l'algorithme simple des différences divisées. Cependant il
existe des problèmes concrets dont la solution nécessite la résolution
effective d'un système de Vandermonde, par exemple quand on veut
connaître explicitement les coefficients du polynôme
d'interpolation de Lagrange. Dans le sujet qui suit on travaille en fait
avec la matrice transposée de la précédente.
![]()
1.Algorithme
Soit N un entier
. Etant donné x=(x1,x2,...,xN) un
N-uplet de réels deux à deux distincts on note B la matrice

BW=Q
où Q est la matrice colonne constituée des seconds membres
Pour tout entier j vérifiant
on pose




Posons
P(x)=(x-x1)(x-x2)...(x-xN)
P(x) est donc un polynôme de degré N qui s'écrit sous la forme:P(x)=xN+cNxN-1+...+c2x+c1
Montrons tout d'abord comment, si on connaît les coefficients cj, on peut calculer les coefficients du polynôme
Nj(x)=bNxN-1+...+b2x+b1
Etablir que
En effet posons tN=bN=1 et définissons pour tout
tk-1=xjtk+bk-1
Montrer que t1=Nj(xj).Il reste maintenant à calculer les coefficients cj de P.
Pour tout entier k vérifiant
on définit
Qk(x)=(x-x1)(x-x2)...(x-xk)
et on écrit Qk sous la forme![]()
![]()
![]()
![]()
2.Programmation
On dispose d'un programme qui résout les systèmes du type que l'on vient d'étudier. Une procédure a été laissée en blanc, celle qui correspond au calcul des coefficients de P(x).
Le programme déclare une constante VraiDim qui est la dimension du système (le N des paragraphes précédents). Pour connaître la matrice B, il suffit de connaître (x1,x2,...,xVraidim) si bien qu'on définit un type
VDM_Mat=ARRAY[1..VraiDim] OF REAL;
De même le polynôme P devra être stocké en rangeant les coefficients c1,c2,...,cN dans un tableau. On définit donc un type
VDM_Poly=ARRAY[1..VraiDim] OF REAL;
Ecrire la procédure
PROCEDURE PolyNoyau(X:VDM_Mat;VAR Noyau:VDM_Poly);
qui étant donné une matrice de Vandermonde définie par les nombres
(x1,x2,...,xVraiDim)
rangés dans le tableau X (xj est rangé dans X[j]) fait ressortir dans la variable Noyau les coefficients c1,c2,...,cVraiDim (cj dans Noyau[j]) du polynôme P(x)=(x-x1)...(x-xVraiDim) écrit sous la formeP(x)=xVraiDim+cVraiDimxVraiDim-1+...+c1.
![]()
Partie théorique
En effectuant le produit de la matrice A=(Aj,k)j,k par la matrice B on constate que
AB=(Pj(xk))j,k
ce qui prouve que A est l'inverse de B.On peut alors écrire que W=AQ. On obtient ainsi les formules

On vérifie immédiatement sur l'expression de Nj(x) que le coefficient du terme de plus haut degré est 1. En remarquant que P(x)=Nj(x)(x-xj) on établit la formule
bk-1=ck+xjbk.
Le calcul proposé alors pour Nj(xj) n'est autre que l'algorithme de Horner.
Il est facile de voir sur l'expression de Q1(x)=x-x1 que
.
Les autres formules découlent de
Qk(x)=Qk-1(x)(x-xk).
Programmation
PROCEDURE PolyNoyau(X:VDM_Mat;VAR Noyau:VDM_Poly);
VAR
I,J : INTEGER;
Auxil : REAL;
BEGIN
Noyau[1]:=-X[1];
FOR I:=2 TO VraiDim
DO BEGIN
Auxil:=-X[I];
Noyau[I]:=Noyau[I-1]+Auxil;
FOR J:=I-1 DOWNTO 2
DO Noyau[J]:=Auxil*Noyau[J]+Noyau[J-1];
Noyau[1]:=Auxil*Noyau[1];
END;
END;
![]()
On peut voir que le nombre d'opérations à faire dans cet algorithme est en O(N2), la partie la plus coûteuse étant le calcul des coefficients ck.