Calculer une racine carrée sans calculatrice – La méthode d’Héron

On n’apprend pas l’informatique avec une calculatrice de poche, mais on peut oublier l’arithmétique.

Alan Jay Perlis

Au Ier siècle après J.-C., le mathématicien grec Héron d’Alexandrie se retrouve, dans ses travaux sur les aires de triangles, à devoir calculer la racine carrée de 720. Évidemment à cette époque il ne dispose pas de calculatrice et se doit donc de trouver une autre façon de la calculer. Il décrit sa méthode ainsi1 :

Puisqu’alors les 720 n’ont pas le côté exprimable, nous prendrons le côté avec une très petite différence ainsi. Puisque le carré le plus voisin de 720 est 729 et il a 27 comme côté, divise les 720 par le 27 : il en résulte 26 et deux tiers. Ajoute les 27 : il en résulte 53 et deux tiers. De ceux-ci la moitié : il en résulte 26 2′ 3′4. Le côté approché de 720 sera donc 26 2′ 3′. En effet 26 2′ 3′ par eux-mêmes : il en résulte 720 36′, de sorte que la différence est une 36e part d’unité. Et si nous voulons que la différence se produise par une part plus petite que le 36′, au lieu de 729, nous placerons les 720 et 36′ maintenant trouvés et, en faisant les mêmes choses, nous trouverons la différence qui en résulte inférieure, de beaucoup, au 36′.

Héron d’Alexandrie, Metrica, tome I, 8

Vous n’avez rien compris ? Moi non plus. Avant nous n’avions pas le formalisme mathématique tel qu’aujourd’hui et c’était comme cela qu’on faisait des mathématiques ! Mais bon ça c’est une autre histoire et dans cet article nous allons simplement essayer, comme l’a fait Héron, de trouver une méthode pour calculer la racine carrée de 720 sans utiliser de calculatrice.

Étape 1 : Comprendre la question

Qu’est-ce qu’une racine carrée ? La racine carrée d’un nombre n est le nombre positif x tel que mis au carré il donne n :

    \[x^2 = n \text{ et } x\geq 0 \Rightarrow x=\sqrt{n}\]

Par exemple, la racine carrée de 25 est 5 car 5^2=25 (et 5 est bien un nombre positif, on ne veut pas que la racine soit -5 même si (-5)^2=25).

Bon là ça tombe pile sur un entier mais si on cherche maintenant la racine carrée de 26 ? La façon la plus naturelle de trouver cela est sans doute de tâtonner. On sait que 5^2=25 et 6^2=36>26 donc la racine carrée de 26 va commencer ainsi : 5,...

Comment trouver la première décimale ? On tâtonne à nouveau. On sent qu’on était déjà très proche de 26 avec 5^2 donc on va calculer 5,1^2. Pour faire cela de tête on peut faire

    \[5,1^2 = 5\times 5,1+0,1\times 5,1 = 25,5+0,51=26,01>26\]

On dépasse déjà 26, cela signifie que la racine carré sera de la forme : 5,0...

Trouvons maintenant la 2ème décimale. En faisant 5,1^2 on dépassait tout juste 26 donc la racine carrée va probablement être de la forme 5,09.... Vérifions en calculant 5,09^2.

    \[5,09^2 =5\times 5,09+0,09\times 5,09=25,45+\frac{9\times5,09}{100}=25,45+\frac{50,9-5,09}{100}=25,9081\]

Ceci est <26 donc la racine carrée va bien être de la forme 5,09....

Bon c’est faisable mais c’est quand même galère, surtout que jusque là on a bien tâtonné mais on pourrait avoir à faire plus de tentatives à chaque fois pour trouver la bonne décimale. Est-ce qu’on ne peut pas trouver une meilleure méthode ?

Étape 2 : La représentation visuelle

Peut être encore plus pour les Grecs que pour nous, un carré de nombre fait immédiatement penser à une aire. Trouver la racine carrée d’un nombre N ça revient à trouver la longueur du côté d’un carré qui aurait une aire de N. Peut-on déjà construire une figure d’aire N ? Oui très simplement on peut construire un rectangle de longueur N et de largeur 1.

Bon très bien mais nous ce qu’on veut c’est un carré… Comment peut-on transformer ce rectangle en carré ? Une façon naturelle est sans doute de rétrécir le plus grand côté et d’agrandir le plus petit côté de la même façon jusqu’à ce qu’ils aient la même longueur. A la fin du processus, les côtés auront chacun une longueur égale à la moyenne des deux côtés, c’est-à-dire une longueur de \frac{(N+1)}{2}.

Bon il y a évidemment un gros problème quand on fait cela : on ne conserve pas l’aire !!! Cette idée avait l’air sympa pourtant, ne l’abandonnons pas tout de suite. Plutôt que de faire ce jeu là avec les deux longueurs, on va le faire avec une seule et adapter la deuxième longueur pour qu’elle nous donne bien une aire de N. Dans notre exemple cela donne :

Ensuite on reproduit ce processus. La longueur de 13,5 va devenir \frac{13,5+2}{2}=7,75. La longueur de 2 devient elle la longueur l qu’il faut pour avoir 26 c’est-à-dire qu’on doit avoir 7,75l=26 donc l=\frac{26}{7,75}.

Et on continue encore et encore, ce qui nous rapproche de plus en plus d’un carré d’aire N.

Étape 3 : Justifier l’intuition

Bon il s’agit maintenant de s’assurer rigoureusement que notre méthode permet de s’approcher de plus en plus de la racine carrée cherchée. Pour n un entier naturel, notons l_n la longueur de notre rectangle à l’étape n. Avant de commencer, à l’étape 0, on a l_0=N. Ensuite pour passer de l’étape n à l’étape n+1, on transforme la longueur en la moyenne de la longueur et de la largeur, largeur étant égale à ce qu’il faut pour que l’aire du rectangle fasse N. On a donc pour tout n\in \mathbb{N},

    \[l_{n+1}=\frac{l_n+\frac{N}{l_n}}{2}.\]

Il s’agit d’une suite récurrente et c’est un exercice classique de lycée d’étudier de telles suites. Notons déjà que cette suite est toujours au dessus de la racine carrée de N. En effet, soit n\in\mathbb{N},

    \[l_{n+1}^2-N=(\frac{l_n^2+N}{2l_n})^2-N=(\frac{l_n^2-N}{2l_n})^2 \geq 0\]

Donc pour tout n\in \mathbb{N}, l_n\geq \sqrt{N}. De plus on peut voir que la suite est décroissante :

    \[l_{n+1}-l_n=\frac{l_n^2+N}{2l_n}-l_n=\frac{N-l_n^2}{2l_n}\leq 0\]

en utilisant le fait que l_n\geq \sqrt{N}. Finalement la suite l_n est décroissante et minorée donc elle converge vers une limite l. Ce l est positif car l_n\geq 0 pour tout n et vérifie de plus l’équation

    \[l=\frac{l+\frac{N}{l}}{2}\]

D’où on déduit l=\sqrt{N}. On a donc bien montré qu’en faisant ce processus, la longueur du rectangle s’approche de plus en plus de \sqrt{N}.

Étape 4 : Mettre la méthode en pratique

Bon voyons voir si on arrive à approcher la racine carrée de 720 à 2 décimales près avec cette méthode. On peut noter que tout le raisonnement précédent est valable pour n’importe quelle valeur de départ l_0\geq \sqrt{N}. Si on prend 720 pour cette valeur on part d’un rectangle tout plat très éloigné d’un carré. Il vaut donc mieux prendre comme valeur de départ une valeur relativement proche de la racine carrée recherchée. De tête, on peut voir que 27^2=729>720, on va donc prendre l_0=27 comme valeur de départ. Puis on a

    \[l_1 = \frac{27+\frac{720}{27}}{2}=\frac{27}{2}+\frac{720}{54} = 13,5+\frac{720}{54}\]

Or on peut simplifier la fraction ainsi

    \[\frac{720}{54}=\frac{360}{27}=\frac{120}{9}=\frac{40}{3}=13+\frac{1}{3}=13,3333...\]

Donc l_1=26+\frac{1}{3}=26,8888...

Ensuite on a

    \[l_2 \approx \frac{26,88+\frac{720}{26,88}}{2} \approx 13,44+13,39 \approx 26,83\]

Il y a certes des fractions un peu pénibles à approcher, mais ça reste des divisions que l’on peut poser.

Conclusion

Avec leur vision très géométrique, les Grecs ont donc réussi à trouver une méthode assez efficace pour calculer la racine carrée d’un nombre. Pour pouvoir juger de l’utilité de cette méthode, il serait intéressant de calculer la vitesse de convergence de la suite. On a

    \[l_{n+1}-\sqrt{N}=\frac{(l_n-\sqrt{N})^2}{2l_n}\leq \frac{(l_n-\sqrt{N})^2}{2\sqrt{N}}\]

Cela montre que la convergence est quadratique, c’est-à-dire que le nombre de décimales exactes double à chaque étape ce qui est très bien.


  1. Citation extraite de Bernard Vitrac, « Euclide et Héron : Deux approches de l’enseignement des mathématiques dans l’Antiquité ? », dans Gilbert Argoud, Science et vie intellectuelle à Alexandrie (Ier-IIIe siècle après J. C.), Publications de l’Université de Saint-Étienne, 121-145, 1995. (lire en ligne). ↩︎

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *