Factorisation de Lagrange pour les racines
multiples d’un polynôme
Roland Ven, Nicolas Boulenguez
janvier 2020
Résumé
Le résultat le plus célèbre de Galois rend improbable un algorithme
explicite, basé sur des opérations élémentaires, décomposant un polynôme
quelconque en facteurs de degré 1. À défaut, cet article présente une décomposition due à Lagrange en facteurs à racines simples.
Il reprend, en plus détaillé, un extrait d’un livre de Georges Valiron.
Mots-clefs : factorisation polynômiale, racine simple, racine multiple.

Étant donné un polynôme P(X) = Xn + an−1 Xn−1 + . . . + a1 X + a0 , n ⩾ 3, aicomplexes, la méthode de Lagrange permet de déterminer effectivement
des polynômes P1 (X), P2 (X), · · · , Pq (X) tels queP(X) = P1 (X) × (P2 (X))2 × · · · × (Pq (X))qoù chacun des Pj (X) n’a que des racines simples ou est égal à 1, tout ceci sansqu’il soit nécessaire de calculer les racines de P(X).
On reviendra après l’exposé de la méthode sur le problème de la séparation des racines lorsque P(X) est à coefficients réels.

Notation PGCD(U(X), V(X)) désigne, à un coefficient multiplicatif près,un PGCD des polynômes (non nuls) U(X) et V(X).

Prérequis— Les techniques élémentaires de calcul polynômial, par exemple décrites
par wikipedia, suffisent pour appliquer la méthode, à savoir dérivation(terme à terme), division euclidienne (suivant les puissances décroissantes) et calcul de PGCD (par l’algorithme d’Euclide). De nombreux
logiciels effectuent ces calculs efficacement, mais on les pratique sansdifficulté à la main pour des degrés raisonnables.

1

2/7

Méthode de Lagrange pour les racines multiples— Pour suivre les justifications et la démonstration finale : les propriétés classiques dans C[X], en particulier lien entre racines multiples etdérivation, caractérisation d’un PGCD de deux polynômes non nuls.

1

Présentation de la méthode1.1

Définition des polynômes Pj (X)Soit P(X) = Xn + an−1 Xn−1 + · · · + a1 X + a0 , n ⩾ 3, ai complexes.
Soient x1 , · · · , xr les racines (distinctes) de P(X).
Sans qu’il soit nécessaire de calculer ces racines, on a donc
P(X) = (X − x1 )h(1) × · · · × (X − xr )h(r)où h(k) est l’ordre de la racine xk .

Désignons par q le plus grand des h(k) présents dans cette égalité, autrement dit le plus grand des ordres des racines de P(X).
Pour tout entier j de 1 à q, on définit alors Pj (X) selon les trois seuls caspossibles :— si P(X) n’a aucune racine d’ordre j, Pj (X) = 1 ;— si xi est la seule racine d’ordre j de P(X), Pj (X) = (X − xi ) ;Q— si P(X) a au moins deux racines d’ordre j, Pj (X) = (X − xi ), produitiétendu à tous les xi racines d’ordre j de P(X).
Dans l’égalité P(X) = (X − x1 )h(1) × · · · × (X − xr )h(r) , si au moins deux xiQont le même ordre j, on considère (X − xi )j , produit étendu à tous les xii

racines d’ordre j de P(X), on a alorsjYj Yj(X − xi ) =  (X − xi ) = Pj (X) .
ii

qOn en déduit : P(X) = P1 (X) × (P2 (X))2 × · · · × Pq (X) , où q est le plus granddes ordres des racines de P(X).
Remarque. Dans le cas particulier où P(X) n’a que des racines simples, cetteégalité se lit P(X) = P1 (X).
Remarque. La définition de Pj (X) rend clair que Pj (X) ne peut avoir quedes racines simples, et que, pour j , k, Pj (X) et Pk (X) n’ont aucune racinecommune.

1.2

Propriété principale

Dans la suite, abrégeons P = P(X), P1 = P1 (X), etc, et notons P′ le polyq
nôme dérivé de P. Avec ces notations, P = P1 P22 · · · Pq .

3/7

Méthode de Lagrange pour les racines multiples
Propriété 1 ((démontrée en fin d’article)). Avec les définitions ci dessus pourqYqj2
les Pj , P = P1 P2 · · · Pq =Pj implique que
j=1q−1
PGCD(P, P ) = P2 P32 · · · Pq =′qYj−1Pj.

j=2Remarque. Dans le cas particulier où P n’a que des racines simples, l’égalitéci dessus se lit PGCD(P, P′ ) = 1.

1.3

AlgorithmePosonsq

Q0 = P= P1 P22 · · · Pq

Q1 = PGCD(Q0 , Q0′ )= P2 · · · Pq

q−1etd’après la propriété ci dessus.

On avait déjà remarqué que Pj ne peut avoir que des racines simples etque, pour j , k, Pj et Pk n’ont aucune racine commune, ce qui fait que lesracines de P2 sont les racines d’ordre 1 de Q1 , et ainsi de suite. . . les racinesde Pq sont les racines d’ordre q − 1 de Q1 . La propriété 1 s’applique donc àq−1

Q1 = P2 · · · Pq

(avec un décalage d’indice).
q−2

Q2 = PGCD(Q1 , Q1′ )= P3 · · · Pq′
Qq−2 = PGCD(Qq−3 , Qq−3)= Pq−1 Pq2′
Qq−1 = PGCD(Qq−2 , Qq−2)= Pqet enfin′
Qq = PGCD(Qq−1 , Qq−1)=1

car Pq est à racines simples

et ainsi de suite jusque

Les polynômes Qi sont tous calculés par dérivation de polynômes et recherche d’un PGCD de deux polynômes non nuls (par exemple, en utilisantl’algorithme d’Euclide), tout ceci sans qu’il soit nécessaire de calculer les racines de P(X) ou de connaître les Pj a priori. L’algorithme s’arrête lorsquele PGCD est une constante. L’entier q est alors connu par le nombre d’étapesfranchies, et le polynôme Pq comme dernier PGCD non constant.
Par construction, Qt = Pt+1 · · · Pq Qt+1 pour t de 0 à q − 2. Adoptons une

4/7

Méthode de Lagrange pour les racines multiples
notation pour le quotient de Qt par son successeur.
Q0Q1
Q
R2 = 1
Q2
Qq−2
Rq−1 =Qq−1
Qq−1
Rq =QqR1 == P1 · · · Pq
= P2 · · · Pq

et ainsi de suite jusque= Pq−1 Pq ,avec enfin= Pqdéjà connu, et cohérent puisque Qq = 1

On obtient alors les Pj en divisant chaque Rj par Rj+1 , pour j de 1 à q−1.
R1R2R
P2 = 2R3
Rq−1
Pq−1 =Rq
P1 =puis ainsi de suite jusque

Pq = Rq

est déjà connu
qCe procédé effectif factorise ainsi P sous la forme P1 P22 · · · Pq , q étantconnu, ainsi que chacun des Pj . La recherche des racines de P se ramène àla recherche de celles des Pj , qui sont toutes des racines simples (il va desoi que, dans le résultat final, on omet les facteurs pour lesquels Pj = 1). Deplus, si P présente au moins une racine multiple, le degré des Pj est strictement inférieur à celui de P, ce qui offre de nouvelles opportunités de calcul
des racines de P.
L’algorithme se résume formellement par
Q0 = P

Qi+1 = PGCD(Qi , Qi′ )Ri+1 =Qi
Qi+1

Pi+1 =

Ri+1
Ri+2

et le pseudo-code suivant, paramétrisé par le polynôme p à factoriser etune procédure traiter décrivant ce qu’il faut faire des facteurs obtenus.
q1 := pgcd (p, derivée (p));
r1 := division_exacte (p, q1);
répéterq2 := pgcd (q1, derivée (q1));
r2 := division_exacte (q1, q2);
traiter (division_exacte (r1, r2));arrêter quand degré (q1) = 0;
q1 := q2;
r1 := r2;
fin répéter;5/7

Méthode de Lagrange pour les racines multiples
En pratique, il est utile de savoir que la plupart des bibliothèques logicielles fournissent une division polynômiale alternative, plus rapide mais
seulement applicable lorsqu’il est connu à l’avance que le reste est nul.

1.4

ExempleL’exemple suivant est une addition à l’ouvrage de Georges Valiron. Lepolynôme étudié étant de degré 4, on pourrait péniblement calculer sesracines directement.
P = X4 + X3 − 3X2 − 5X − 2 = Q0 , ainsi Q0′ = 4X3 + 3X2 − 6X − 5.
Q1 = PGCD(Q0 , Q0′ ) = X2 + 2X + 1 (par logiciel de calcul, ou algorithmed’Euclide si on n’en dispose pas), Q1′ = 2X + 2
Q2 = PGCD(Q1 , Q1′ ) = X + 1, Q2′ = 1.
Q3 = PGCD(Q2 , Q2′ ) = 1, on reconnaît q = 3, et P3 = Q2 = X + 1.
En résumé P = Q0 = X4 +X3 −3X2 −5X−2, Q1 = X2 +2X+1, Q2 = X+1 = P3et q = 3, ce qui permet de poursuivre :Q0= X2 − X − 2Q1Q
R2 = 1 = X + 1
Q2
R3 = P3 = X + 1

R1 =et pour terminer

On obtient :R1 X2 − X − 2== X−2R2X+1RX+1P2 = 2 ==1R3 X + 1
P3 = X + 1
P1 =etest déjà connu

Conclusion : P = (X − 2).(X + 1)3 (on omet P2 = 1).
La suite de l’article n’est pas une reprise de l’extrait du livre
de Georges Valiron, mais il se peut que ce soit évoqué ailleursdans ce livre, la totalité du livre n’étant pas à disposition.

2

Cas d’un polynôme réel

2.1

Applicabilité de la méthodeLe procédé décrit ne nécessite que des dérivations, des divisions euclidiennes et des calculs de plus petit commun diviseur. Or ces opérations
produisent des résultats réels lorsque leurs arguments sont réels. Ainsi,lorsque P a des coefficients réels, chaque résultat intermédiaire aussi, et enparticulier les Pj finaux.

6/7

Méthode de Lagrange pour les racines multiples

2.2

Séparation des racines

La connaissance des Pj peut simplifier le problème de la séparation desracines de P(X) ∈ R[X].
Par exemple, lors de l’application du théorème de Sturm, une pratiquecommune est de remplacer P par
R1 =P
PGCD(P, P′ )afin d’éviter les racines multiples. Le polynôme R1 a les mêmes racines queP, mais pour R1 ce sont toutes des racines simples.
La méthode de Lagrange prolonge cette idée, en décomposant si possible R1 en polynômes réels de degrés moindres, auxquels le théorème deSturm peut s’appliquer séparément. Bien entendu, un degré inférieur offre
de nouvelles opportunités, comme la détermination d’une formule exacte
pour certaines racines.

2.3

Approximation des racines

De nombreuses méthodes de résolution approchée d’équations numériques, par exemple la méthode de Newton, posent des problèmes de stabilité numérique en présence d’une tangente horizontale. Pour une équationpolynômiale, la méthode de Lagrange transforme ce cas problématique en
optimisation, puisqu’alors la méthode numérique s’applique séparément àdes polynômes de degré strictement moindre et sans racine multiple.

3

Démonstration de la propriété 1
On utilisera les propriétés classiques dans C[X].

1. Si P n’a que des racines simples, P et P′ n’ont aucune racine commune.
Or, dans C[X], deux polynômes sans racines communes ont un PGCDégal à 1, donc PGCD(P, P′ ) = 1.
Y
2. Si P a une racine d’ordre au moins deux, posons D(X) =(X − xi )h(i)−1iproduit étendu à toutes les racines xi de P d’ordre h(i) ⩾ 2. Dans le cas
particulier où xi est la seule racine de P d’ordre h(i) ⩾ 2, D(X) se réduit
à (X − xi )h(i)−1(a) Les racines communes à P et P′ sont exactement les racines de Pd’ordre au moins deux.
(b) Chaque racine xi d’ordre h(i) ⩾ 2 du polynôme P est alors racined’ordre h(i) − 1 de la dérivée P′ .

7/7

Méthode de Lagrange pour les racines multiples(c) Il résulte de ces deux propriétés que P = D× H et P′ = D× N, où H et
N sont deux polynômes non nuls sans racine commune. Dans C[X],ces deux polynômes sont donc premiers entre eux.
(d) En résumé P = D × H et P′ = D × N, où H et N sont deux polynômespremiers entre eux, D est donc un PGCD de P et P′ .
(e) Enfin, on regroupe les (X−xi )j dans D(X) comme on l’avait fait dansP(X) au 1, il résulte de la définition des Pj que
q−1
D = P2 P32 · · · Pq =qY
j=2j−1

Pj.