Théorème de Sturm

En mathématiques, et plus précisément en analyse, le théorème de Sturm, établi en 1829 par Charles Sturm, permet de calculer le nombre de racines réelles distinctes d'une fonction polynomiale comprises dans un intervalle donné. La méthode effective de calcul correspondante s'appelle l'algorithme de Sturm[1].

Suite de Sturm

On se donne un polynôme P = xn + an – 1 xn – 1 + ... + a1 x + a0. La suite de Sturm ou chaîne de Sturm à partir du polynôme P est une suite finie de polynômes P0, P1, ..., Pm. Elle est construite par récurrence :

  • P0 = P ;
  • P1 = P', où P' est la dérivée de P, c'est-à-dire le polynôme P' = nxn – 1 + ... + a1 ;
  • Pour i ≥ 2, Pi est l'opposée du reste de la division de Pi – 2 par Pi – 1.
  • La construction s'arrête au dernier polynôme non nul.

Pour obtenir cette suite, on calcule les restes intermédiaires que l'on obtient en appliquant l'algorithme d'Euclide à P0 et sa dérivée P1 :

Si P possède uniquement des racines distinctes, le dernier terme est une constante non nulle. Si ce terme est nul, P admet des racines multiples, et on peut dans ce cas appliquer le théorème de Sturm en utilisant la suite T0, T1, ..., Tm – 1, 1 que l'on obtient en divisant les P1, P2, ..., Pm – 1 par Pm.

Énoncé du théorème

Le nombre de racines réelles distinctes dans un intervalle [a , b] d'un polynôme à coefficients réels, dont a et b ne sont pas des racines, est égal au nombre de changements de signe de la suite de Sturm aux bornes de cet intervalle.

Plus formellement, notons σ(ξ) le nombre de changements de signe (zéro n'est pas compté comme un changement de signe) dans la suite

.

Le théorème de Sturm dit que pour deux nombres réels a, b, a < b, où a et b ne sont pas des racines de P, le nombre de racines dans l'intervalle [a , b] est :

.

Exemple

Supposons que l'on souhaite connaître le nombre de racines dans un certain intervalle du polynôme p(x) = x4 + x3x –1. On commence par calculer les deux premiers termes.

En divisant p0 par p1 on obtient le reste 3/16x23/4x15/16, et en le multipliant par −1 on obtient p2(x) = 3/16x2 + 3/4x + 15/16. Ensuite, on divise p1 par p2 et en multipliant le reste par −1, on obtient p3(x) = –32x –64. Puis on divise p2 par p3 et en multipliant le reste par −1, on obtient p4(x) = –3/16.

Finalement, la suite de Sturm du polynôme P est donc :

Pour trouver le nombre de racines totales, ie. entre −∞ et +, on évalue p0, p1, p2, p3, et p4 en −∞ et on note la séquence de signes correspondante : + − + + −. Elle contient trois changements de signe (+ à , puis à +, puis + à ). On fait la même chose en + et obtient la séquence de signes + + + − −, qui contient juste un changement de signe. D'après le théorème de Sturm, le nombre total de racines du polynôme P est 3 − 1 = 2. Nous pouvons faire une vérification en remarquant que p(x) = x4 + x3x − 1 se factorise en (x2 − 1)(x2 + x + 1), où on voit que x2 − 1 a deux racines (−1 et 1) alors que x2 + x + 1 n'a pas de racines réelles.

Applications

On peut utiliser ce théorème pour calculer le nombre total de racines réelles distinctes, en choisissant les bornes a et b de telle sorte que toutes les racines réelles soient dans l'intervalle [a , b] : par exemple [a , b] = [–M , M] convient, avec, au choix[3] :

[4] ou [5].

On peut aussi utiliser ce théorème pour trouver les racines d'un polynôme quelconque par dichotomie, et, par là même, optimiser un critère polynomial quelconque (en trouvant les racines de sa dérivée).

Notes et références

  1. (en) Peter Bürgisser, Michael Clausen et Amin Shokrollahi, Algebraic Complexity Theory, Springer Science & Business Media, , 618 p. (ISBN 978-3-662-03338-8, lire en ligne) (exercice 3.10, p. 93).
  2. [PDF] Sandrine Caruso, « Suite de Sturm. ».
  3. Pour d'autres exemples, voir l'article Théorie des équations (mathématiques).
  4. Voir Théorème de Lagrange sur les polynômes.
  5. (en) Holly P. Hirst et Wade T. Macey, « Bounding the Roots of Polynomials », The College Mathematics Journal, MAA, vol. 28, no 4,‎ , p. 292-295 (DOI 10.2307/2687152).