Le théorème de la racine rationnelle, francisé à partir de l’appellation Rational root theorem, nous permet de trouver des éventuelles racines à un polynôme à coefficients entiers.

Dans cet article, je vous parlais de la formule de Viète sur les polynômes. Comme j’aime les polynômes, je vous propose encore un article sur les polynômes.

Théorème de la racine rationnelle: l’énoncé et preuve

Énoncé du théorème de la racine rationnelle

Soit un polynôme P tel que:$$P(x)=\sum_{k=0}^n a_kx^k = a_nx^n + a_{n-1}x^{n-1}+\cdots+a_1x+a_0.$$ P admet une racine rationnelle \(\frac{p}{q}\) si p divise \(a_0\) et q divise \(a_n\).

Preuve du théorème

Supposons que \(\frac{p}{q}\) soit une racine de P, avec p et q premiers entre eux. Alors,$$\sum_{k=0}^n a_k\left(\frac{p}{q}\right)^k = 0,$$soit:$$a_n\left(\frac{p}{q}\right)^n + a_{n-1}\left(\frac{p}{q}\right)^{n-1}+\cdots+a_1\left(\frac{p}{q}\right)+a_0=0.$$

En multipliant les membres de cette égalité par \(q^n\), on obtient:$$a_np^n + a_{n-1}p^{n-1}q + a_{n-2}p^{n-2}q^2+\cdots+a_1pq^{n-1}+a_0q^n=0,\quad(1)$$soit::$$p\big(a_np^{n-1} + a_{n-1}p^{n-2}q + a_{n-2}p^{n-3}q^2+\cdots+a_1q^{n-1}\big)=-a_0q^n.$$Ce qu’il y a entre parenthèses étant entier, p divise donc \(a_0q^n\).

p et q étant premiers entre eux, p et \(q^n\) sont aussi premiers entre eux; ainsi, d’après le théorème de Gauss, p divise \(a_0\).

De l’égalité (1), on peut aussi écrire:$$q\big(a_{n-1}p^{n-1}+a_{n-2}p^{n-2}q+\cdots+a_0q^{n-1}\big)=-a_np^n.$$Pour les mêmes raisons que précédemment, on déduit que q divise \(a_n\).

Utilisation du théorème de la racine rationnelle

Un exemple

Posons \(P(x)=4x^3+4x^2+5x-4\). Le théorème de la racine rationnelle stipule que si P admet une racine rationnelle \(\frac{p}{q}\) alors p divise 4 et q divise 4.

Il suffit donc de dresser la liste des diviseurs de 4 et de former toutes les fractions possibles, en n’oubliant pas leurs versions négatives. Ainsi, comme 4 admet pour diviseurs 1, 2 et 4, si P admet une racine rationnelle alors elle est nécessairement dans l’ensemble:$$\mathcal{E}=\left\{ 1;-1;\frac{1}{2};-\frac{1}{2};\frac{1}{4};-\frac{1}{4};2;-2;4;-4 \right\}.$$

Il suffit donc de tester toutes les valeurs \(r \in\mathcal{E}\) et voir si \(P(r)=0\). S’il n’y en a pas, alors P n’a pas de racine rationnelle.

Ici, on voit que seule \(P\left(\frac{1}{2}\right)=0\), et à l’aide d’une simple étude de fonction, on démontre qu’elle est unique.

Implémentation en Python

Je vais ici proposer une fonction Python qui me renvoie une liste des éventuelles racines rationnelles. Sur l’exemple précédent, cela donne:

>>> rational_root(4,4,5,-4)
Liste des racines rationnelles du polynôme 4X^3 +4X^2 +5X -4:
['1/2']

Pour cette fonction, j’ai besoin des modules fractions (pour effectuer des calculs sur les fractions de manière simple) et itertools (pour former un produit cartésien).

Pour commencer, il me faut une fonction diviseurs(n) qui renvoie la liste des diviseurs de n.

Ensuite, je créée une liste égale au produit cartésien de la liste des diviseurs de \(a_0\) et de celle des diviseurs de \(a_n\).

Je parcours cette dernière liste, forme la fraction correspondant et vérifie si la fraction est une racine du polynôme. Pour cela, je ne vais bien entendu pas remplacer x par la fraction dans P(x), pour éviter les erreurs d’arrondis de Python. Je vais remplacer x dans \(q^nP(x)\).


5 1 vote
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x