Si xest un réel en lequel aucun des polynômes Pkne s’annule, on note W(x) le nombre de changements
de signes entre deux termes consécutifs de la suite de Sturm S(x). La fonction Wpermet de déterminer
le nombre de racines réelles de Pde la façon suivante :
– Si aucun des Pkne s’annule sur le segment [u, v], alors W(u) = W(v).
– Si il existe un entier k∈[[0, q+1]] tel que Pk(x0) = 0, choisissons alors un segment [u, v] tel que x0∈]u, v[
et qu’aucun des Pine s’annule sur [u, v]\ {x0}(ça existe, pourquoi ?). Évaluons W(u)−W(v).
– si k= 0. Soit ε∈ {−1,1}le signe de P0sur [u, x0[. Alors sur [u, x0[, S(x) = (ε, −ε, . . . ) et sur
]x0, v], S(x) = (−ε, −ε, . . . ) (pourquoi ?). Ainsi, la contribution du polynôme P0=Pà la différence
W(u)−W(v) est de 1.
– si 1 6k6q(k6=q+ 1 car Pq+1 est constant). Alors Pk−1et Pk+1 ne s’annulent pas en x0(première
condition), donc pas sur [u, v], donc ont un signe constant (théorème des valeurs intermédiaires).
Comme Pks’annule en x0, ces signes sont opposés (deuxième condition). Ainsi, sur [u, x0[, S(x) =
(...,ε,ε1,−ε, . . . ) et sur ]x0, v], S(x) = (...,ε,−ε1,−ε, . . . ) : la contribution de Pkà la différence
W(u)−W(v) est nulle.
Finalement, si West définie en uet v, alors W(u)−W(v) est le nombre de racines de Pcomprises entre u
et v.
Application :
– Écrire une procédure Sturm penant en paramètre un polynôme P, calculant la liste [P0, . . ., Pq+1 ].
– Écrire une procédure Wà deux arguments : une liste de polynômes let un réel a, qui évalue la liste
en apuis compte le nombre de changements de signes dans cette liste évaluée.
– Écrire une procédure nombreRacines à trois arguments : un polynôme Pet deux réels a < b, indiquant
combien le polynôme Pa de racines dans l’intervalle [a, b] (on utilisera bien sûr les deux procédures
précédentes).
Tester sur le polynôme P=X4+ 4X3+X2−7X−1. Calculer le nombre de racines réelles de P,
puis localiser chacune d’elles dans un intervalle ne contenant aucune autre racine (par approximations
successives cette fois). Comment déterminer des valeurs approchées des racines ?
Cas d’un polynôme ayant des racines multiples (complexes) : comment le détecter grâce à la suite de
Sturm ? Comment s’affranchir de cet inconvénient en se ramenant à un polynôme n’ayant que des
racines simples ?
Exemple : P=X8+ 15X7+ 73X6+ 124X5+ 17X4−57X3−6X2+ 9X−1.
2