Méthode de Horner
Calcul d'un polynôme

Rappelons la méthode utilisée pour diviser un polynôme par un binôme de la forme \(x-a\) qui est appelée: "méthode de Horner ".

On utilise tout d'abord une disposition des calculs semblable à celle utilisée pour la division écrite des nombres. Pour rendre les choses le plus clair possible, nous prendrons un exemple numérique. Soit le polynôme \(3x^5 - 6x^4 + x^3 + 5x^2 - 3x - 4\) à diviser par \(x - 1\).

De manière un peu surprenante, bien que nous sachions qu'il n'existe pas, nous allons d'abord essayer de déterminer le terme en \(x^5\) du quotient, ensuite celui en \(x^4\), etc. Nous en verrons la raison un peu plus loin.

On dispose soigneusement les calculs:

\(3x^5\) \(- 6x^4\) \(+ x^3\) \(+ 5x^2\) \(- 3x\) \(- 4\) barre \(x - 1\)
barre
\( 0x^5\) \(0x^5 + 3x^4 -3x^3 - 2x^2 + 3x + 0\)
barre
\( 3x^5\) \(- 6x^4\)
\(- 3x^5\) \(+ 3x^4\)
barre
\(- 3x^4\) \(+ x^3\)
\(+ 3x^4\) \(- 3x^3\)
barre
\(- 2x^3\) \(+ 5x^2\)
\(+ 2x^3\) \(- 2x^2\)
barre
\(+ 3x^2\) \(- 3x\)
\(- 3x^2\) \(+ 3x\)
barre
\( 0x\) \(- 4\)
\( 0x\) \(- 0\)
barre
\(- 4\)

À présent quelques remarques qui simplifieront la mise en page:

  • à chaque étape, par définition même de la division écrite, le premier terme de la seconde ligne est l'opposé de celui de la première ligne: on peut donc se dispenser de l'écrire,
  • au lieu d'écrire au départ le polynôme complet, on peut se borner à écrire les seuls termes nécessaires et à n'écrire les autres qu'au fur et à mesure des nécessités,
  • enfin, puisqu'on a pris soin de bien aligner les termes, on peut se permettre de ne pas écrire les puissances de \(x\).

Avec ces remarques la division écrite ci-dessus devient:

\((3x^5\) \(- 6x^4\) \(+ x^3\) \(+ 5x^2\) \(- 3x\) \(- 4)\) \(:\) \((x - 1)\)
barre
\( 3\) barre \(x - 1\)
barre
\( 0\) \(0x^5 +\) \(3\) \(x^4\) \(- 3\) \(x^3\) \(- 2\) \(x^2\) \(+ 3\) x + \(0\)
barre
\( 3\) \(-6\)
\(\) \(+ 3\)
\(\) barre
\(\) \(-3\) \(+ 1\)
\(\) \(\) \(-3\)
barre
\(-2\) \(+5\)
\(- 2\)
barre
\( +3\) \(-3\)
\(\) \( +3\)
barre
\( 0\) \(-4\)
\(\) \( 0\)
barre
\(- 4\)

A nouveau quelques petites remarques:

  • il suffit de connaître le terme indépendant du diviseur,
  • pas la peine d'écrire le quotient; les coefficients du polynôme quotient figurent chaque fois sous la barre,
  • pas la peine, non plus, d'écrire le(s) premier(s) zéro(s),
  • le dernier nombre qui apparaît est le reste de la division.

Réécrivons la division en condensant le tout sur 3 lignes:

\(3\) \(- 6\) \(+ 1\) \(+ 5\) \(- 3\) \(- 4\) barre \(- 1\)
\(+ 3\) \(- 3\) \(- 2\) \(+ 3\) \( 0\)
barre barre
\(3\) \(- 3\) \(- 2\) \(+ 3\) \( 0\) \(- 4\)

L'usage veut que l'on supprime la dernière colonne et qu'on écrive en première position l'opposé du terme indépendant du diviseur juste au-dessus de la barre de séparation. De plus on trace une barre verticale séparant les coefficients du polynôme quotient du reste de la division. On obtient finalement la disposition suivante:

barre \(3\) \( - 6\) \(+ 1\) \(+ 5\) \(- 3\) barre \(- 4\)
\(+ 1\) \(+ 3\) \(- 3\) \(- 2\) \(+ 3\) \( 0\)
barre barre barre
\(3\) \(- 3\) \(- 2\) \(+ 3\) \( 0\) \(- 4\)

qui est appelée méthode de Horner.

Un élément de la ligne inférieure s'obtient en multipliant l'élément qui le précède par le nombre figurant dans la première colonne, en plaçant le résultat dans sa colonne et en effectuant la somme de deux premiers nombres de la colonne.

Le résultat de cette division est :

\[ 3x^5-6x^4+x^3+5x^2-3x-4=(3x^4-3x^3-2x^2+3x+0)(x-1)-4\]

Après ce long rappel, voici quelques remarques plus intéressantes.

La méthode décrite peut se généraliser sans difficulté à la division d'un polynôme par un binôme de degré quelconque; il suffit de décaler correctement les coefficients qui apparaissent à la deuxième ligne.

La méthode de Horner est, la plupart du temps, utilisée à des fins de factorisation. On vérifie si un polynôme est divisible par \(x-a\). Si tel est le cas, le reste de la division est nul et on factorise le polynôme \(P(x)=Q(x).(x-a)\) Si ce n'est pas le cas, que le reste n'est pas nul et vaut \(R\), il peut sembler superflu d'avoir effectué ce travail pour rien; le mieux qu'on puisse faire est d'écrire: \(P(x) = Q(x).(x-a)+R\) !

Entêtons-nous et continuons à vérifier la divisibilité du polynôme Q(x) par (x - a), et ainsi de suite pour les quotients successivement obtenus. Effectuons ce travail sur notre exemple initial.

barre \( 3\) \( - 6\) \(+ 1\) \(+ 5\) \(- 3\) barre \(- 4\)
\(+ 1\) \( 3\) \(- 3\) \(- 2\) \(+ 3\) \( 0\)
barre barre barre
\( 3\) \(- 3\) \(- 2\) \(+ 3\) barre \( 0\) \(- 4\)
\(+ 1\) \( 3\) \( 0\) \(- 2\) \( 1\)
barre barre barre
\(3\) \(0\) \(-2\) barre \(1\) \(1\)
\(+1\) \(3\) \(3\) \(1\)
barre barre barre
\(3\) \(3\) barre \(1\) \( 2\)
\(+1\) \(3\) \(6\)
barre barre barre
\(3\) barre \(6\) \(7\)
\(+1\)
barre barre barre
\(3\) \(9\)
\(+1\)
barre barre
\(3\)

A nouveau, rien d'intéressant, bien que...

En utilisant les restes successifs nous pouvons écrire:

\[\small \begin{align} 3x^5-6x^4+x^3+5x^2-3x-4&=(3x^4-3x^3-2x^2+3x+0)(x-1)-4\\ &=((3x^3+0x^2-2x+1)(x-1)+1)(x-1)-4\\ &=(((3x^2+3x+1)(x-1)+2)(x-1)+1)(x-1)-4\\ &=((((3x+6)(x-1)+7)(x-1)+2)(x-1)+1)(x-1)-4\\ &=(((((3(x-1)+9)(x-1)+7)(x-1)+2)(x-1)+1)(x-1)-4\\ \end{align}\]

Le polynôme :

\[3x_5-6x_4+x_3+5x_2-3x-4\]

peut donc également s'écrire sous la forme:

\(3\) \((x-1)^5+\) 9 \((x-1)^4+\) \(7\) \((x-1)^3+\) \(2\) \((x-1)^2+\) \(1\) \((x-1)\) \(- 4\)

ce qui correspond à remplacer dans l'espace vectoriel des polynômes, la base "naturelle" formée des puissances de \(x\) \((1, x, x^2, x^3,...)\) par une base formée des puissances de \(x-1\) \((1, x-1, (x-1)^2, (x-1)^3, ...)\).

Voila donc l'écriture du polynôme initial dans cette nouvelle base et ses coefficients ne sont autres que les restes successifs que nous avons obtenus dans les divisions effectuées.

Une autre remarque: Dans l'exemple donné, si l'on souhaite calculer la valeur du polynôme pour \((x-1)=-2\), il suffit de multiplier le premier coefficient \(3\) par \(-2\), lui ajouter \(9\), multiplier le résultat par \(-2\) lui ajouter \(7\), et ainsi de suite. Cette méthode est bien plus rapide que celle qui consisterait à calculer chaque terme du polynôme et en faire la somme.

En résumé, on voit qu'il est très simple de calculer la valeur numérique d'un polynôme en l'écrivant sous la forme obtenue plus haut. S'il est donné sous la forme habituelle dans la base formée des puissances de \(x\), comme celui donné initialement, il suffit de l'écrire:

\[3x^5-6x^4+x^3+5x^2-3x-4 \text{ peut s'}\acute{e}\text{crire } (((((3x) - 6)x + 1)x + 5)x - 3)x - 4\]

Le calcul de sa valeur numérique, pour une valeur donnée de \(x\), ne nécessite que deux opérations: la multiplication par un nombre et l'addition d'un nombre. Cette méthode est particulièrement bien adaptée au calcul par ordinateur.

C'est en particulier cette méthode de calcul qui a rendu célèbre Horner ainsi que, par voie de conséquence, sa disposition simplifiée de la division d'un polynôme par un binôme.