Compter les zéros d'un polynôme réel
- Mise à jour2025-07-30
- Temps de lecture : 3 minute(s)
Calcule le nombre de zéros du polynôme réel, P(x), dans un intervalle réel défini par début et fin, sans déterminer les valeurs de ces zéros.

Entrées/Sorties
P(x)
—
P(x) est un tableau qui représente le polynôme. Le premier élément de ce tableau représente le coefficient constant de P(x).
début
—
début est le point le plus à gauche de l'intervalle. La valeur par défaut est 0,0.
fin
—
fin est le point le plus à droite de l'intervalle. La valeur par défaut est 0,0.
nombre de zéros
—
nombre de zéros est le nombre exact de zéros du P(x) dans l'intervalle (début,fin).
erreur
—
erreur renvoie toute erreur ou mise en garde générée par le VI. Lorsque début > fin, l'application l'interprète comme une erreur. Vous pouvez câbler erreur au VI Convertir un code d'erreur en cluster d'erreur pour convertir le code d'erreur ou la mise en garde en cluster d'erreur. |
Ce VI utilise l'algorithme de Sturm pour calculer le nombre de zéros. L'algorithme de Sturm s'applique dans deux situations. Soit p(x) un polynôme réel en x et soit p'(x) la dérivée de p(x). Si d(x) représente le plus grand commun diviseur de p(x) et p'(x),
d(x) = pgcd(p(x), p´(x))de sorte que p(x) a de mutiples zéros, si d(x) est un polynôme non constant. Autrement dit, le polynôme p(x)/d(x) a seulement des zéros simples.
En répétant cette idée, vous pouvez décomposer le polynôme p(x) en produit de polynômes simples ayant chacun un zéro réel. Le nombre de zéros de p(x) est égal à la somme de tous les zéros des polynômes simples définis ayant seulement un zéro.
Pour déterminer le nombre de zéros d'un polynôme réel p(x) avec la propriété des zéros simples, utilisez l'algorithme euclidien suivant :
p(x) =q1(x)p1(x) -p2(x) p1(x) =q2(x)p2(x) -p3(x) ⋮ pr - 2(x) =qr - 1(x)pr - 1(x) - pr(x)La chaîne de Sturm
(p(x), p1(x), …, pr(x))détermine deux valeurs W(début) et W(fin). W(x) est le nombre de changements de signe de la chaîne
(p(x), p1(x), …, pr(x))Le nombre de tous les zéros de p(x) est exactement égal à W(fin)–W(début).
Si vous êtes intéressé par tous les zéros réels d'un polynôme réel, choisissez
start = -max{(|a0|+ ... +|an-1|)/|an|, 1}
et end = max{(|a0|+ ... +|an-1|)/|an|, 1}
oùa0,a1, ..., an sont les éléments du polynôme.
P(x)
—
début
—
nombre de zéros
—