Les Newsletters Interstices
Photo © Christian Tourniaire / Inria
    Niveau facile
    Niveau 1 : Facile

    Les tables de multiplication, mauvais souvenirs ?

    Culture & Société
    Algorithmes
    Ah ! les tables de multiplication de notre enfance, quels mauvais souvenirs ! (en ce qui me concerne, c’est la table de 7 qui m’a posé des problèmes). Elles nous narguaient sur le dos des cahiers de brouillon... Y aurait-il encore aujourd’hui des mathématiciens qui tenteraient d’en simplifier l’usage ?

    Une première version de ce document est parue sur le site Image des mathématiques du CNRS, en janvier 2009.

    Je voudrais expliquer comment un simple problème comme « multiplier deux nombres » peut avoir beaucoup de solutions différentes, selon le but cherché, selon la société dans laquelle on vit, selon les outils qu’on peut utiliser. Les écoliers d’aujourd’hui ignorent qu’en faisant des multiplications, ils utilisent le résultat de siècles de progrès constants en mathématiques. Et la majorité des adultes pensent que tout a été dit sur la multiplication depuis bien longtemps. Et pourtant.

    Sans vouloir nous lancer dans une longue histoire de la numération [1], commençons par nous mettre à la place d’un patricien romain qui veut calculer la surface de son champ rectangulaire dont il a mesuré la longueur et la largeur. Il doit donc faire une multiplication comme par exemple :

    CXXIV × XXIX = ?

    Tout le monde en conviendra, avec une telle numération, c’est impossible à faire ! Ceci n’est d’ailleurs peut-être pas sans rapport avec le fait que les Romains aient développé si peu de sciences (à part dans le génie civil ou militaire…). Mais si on parvient à l’idée mathématique — géniale — de décrire les nombres en unités, dizaines, centaines, milliers, etc., alors calculer 124 × 29 = ? est beaucoup plus facile. Pourquoi ? Parce que si on dit que 124 est 1 centaine, 2 dizaines et 4 unités, et si on écrit :

    124=1×100 + 2×10 + 4

    et

    29=2×10 + 9

    alors, quand on multiplie

    (1×100 + 2×10 + 4) × (2×10 + 9)

    il suffit de distribuer les termes. On trouve :

    (1×100 + 2×10 + 4)×9 + (1×100 + 2×10 + 4)×2×10

    c’est-à-dire :

    1×9×100 + 2×9×10 + 4×9 + 1×2×1000 + 2×2×100 + 4×2×10

    ou encore :

    1116 + 2480

    soit :

    3596.

     

    Notez bien que pour multiplier nos deux nombres, nous n’avons eu besoin que de multiplier entre eux des nombres compris entre 0 et 9, autrement dit de « connaître nos tables ». Si on présente bien les calculs, ça devient assez simple et c’est exactement ce que nos instituteurs nous ont appris. La présentation dépend des pays en fait, mais en France, vous le savez, on écrit :

      1 2 4
    ×   2 9
    1 1 1 6
    2 4 8 .
    3 5 9 6

     

    et on chante dans la tête : « Neuf fois quatre, trente-six, je pose six, et je retiens trois. Neuf fois deux, dix-huit, et trois, vingt-et-un, je pose un, et je retiens deux. etc. etc. » Un grand progrès conceptuel est franchi, qui nous rend incomparablement plus efficaces que les Romains. Pour multiplier des nombres, écrits avec notre numérotation décimale, il faut apprendre ses tables de multiplications (bon, on y arrive finalement…), et ensuite apprendre par cœur des instructions de calcul, un algorithme. Ensuite, le processus est entièrement automatique et en principe n’importe quel écolier doit pouvoir faire n’importe quelle multiplication, même « à beaucoup de chiffres ». Qui a conscience de l’énorme travail de préparation mathématique qui a pris tant de siècles pour arriver à une solution satisfaisante ?

    Une solution satisfaisante ?

    Oui, et non. Ça dépend pour qui, dans quel contexte. Pendant longtemps, les hommes n’avaient pas besoin de multiplications bien compliquées. Un commerçant peut être amené à calculer le prix d’achat d’une certaine quantité d’objets en multipliant par le prix unitaire. Et d’ailleurs, pour la vie quotidienne, il est bien rare qu’on soit amené à faire des multiplications compliquées : vous souvenez-vous par exemple de la dernière fois que vous avez multiplié à la main deux nombres de 5 chiffres ? Probablement pas depuis l’école. En un certain sens, l’algorithme qu’on nous apprend à l’école primaire est bien suffisant. Mais la science est plus exigeante, on a eu vite besoin de faire des calculs plus importants, plus précis. Prenez l’exemple des astronomes : leurs calculs sont très vite devenus si compliqués qu’encore aujourd’hui on parle de calculs astronomiques. Au fur et à mesure des besoins, les mathématiciens ont inventé de nouvelles méthodes, de nouveaux outils, pour faire des calculs chaque fois plus adaptés à leurs besoins. Voici quelques exemples, certains très anciens, d’autres plus récents, et enfin d’autres très récents, car il faut bien savoir que l’art de bien multiplier est encore amélioré en permanence aujourd’hui par certains chercheurs en mathématiques, mais nous y reviendrons. Les premiers outils utilisés pour compter sont bien sûr les doigts. Voici une méthode bien astucieuse, extrêmement ancienne [2], pour multiplier deux entiers compris entre 6 et 9 (les cas les plus difficiles à mémoriser, vous en conviendrez) en connaissant seulement celles de 1 à 5 (extraite du livre de Georges Ifrah déjà cité). Le truc est très simple, à recommander aux élèves de l’école primaire qui ont des « difficultés avec leurs tables ». Supposons par exemple qu’il s’agisse de multiplier 7 et 8. Regardez la figure suivante :

    multiplication avec les doigts

    © Georges Ifrah (Histoire Universelle des Chiffres).

    On dit que 7 est « une main et 2 doigts » et on replie 2 doigts sur une main. On a donc 3 doigts levés. On dit que 8 est « une main et 3 doigts » et on replie 3 doigts sur l’autre main. On a donc 2 doigts levés. On compte le nombre total de doigts repliés : c’est 5 : c’est le chiffre des dizaines du résultat cherché. On multiplie les nombres de doigts levés : c’est 3 fois 2, c’est-à-dire 6 : c’est le chiffre des unités du résultat cherché. Ainsi, 7 fois 8 égal 56. Pourquoi ça marche ? Il faut vérifier que (5 + x)(5 + y)=10(x + y) + (5−x)(5−y). Exercice : Dans un monde extraterrestre où les habitants auraient deux mains de six doigts chacune, leurs mathématiciens compteraient en base 12 bien sûr, mais le « truc » ci-dessus fonctionnerait-il ?

    Oui, car (6+x)(6+y)= 12(x+y)+(6-x)(6-y).

    Et d’ailleurs, ça marcherait aussi avec N doigts par main, car (N+x)(N+y)=2N(x+y)+(N-x)(N-y).

    Parmi les outils plus élaborés pour faire des multiplications, on trouve :

    • les machines à calculer, commençant par la Pascaline en 1652,
      pascalinenew

      Une Pascaline, signée par Pascal en 1652, visible au Musée des arts et métiers à Paris. Photo © 2005 David Monniaux / Source : Wikipédia.

    • en passant par les machines à calculer mécaniques, comme celle-ci, datant de 1958,

      Photo Hannes Grobe / Source : Wikipédia.

    • pour aboutir à nos calculettes contemporaines.
      calculette-wiki

      Photo Adrian Pingstone / Source : Wikipédia.

    Là encore, la quantité de travail des mathématiciens, des informaticiens, des ingénieurs, des physiciens qui a été nécessaire à l’élaboration de la plus simple de nos calculettes est immense.

    tableLogs

    Photo Monster1000 / Source : Wikipédia.

    En parallèle, les tables de logarithmes sont devenues populaires très tôt parmi les calculateurs. Elles sont oubliées de nos jours, mais elles ont simplifié le travail de générations d’ingénieurs. Chaque nombre a un logarithme qu’on trouve dans une table de logarithmes : par exemple, le logarithme de 17 vaut 1,2304489 et celui de 21 vaut 1,3222192. La propriété fondamentale est que le logarithme d’un produit est la somme des logarithmes. Si on veut calculer le produit de 17 et de 21, on fait la somme de 1,2304489 et 1,3222192, on trouve 2,5526681, et on cherche dans sa table quel est le nombre dont le logarithme a cette valeur. On trouve 357, c’est le résultat de la multiplication. On a ainsi remplacé une multiplication par une addition (bien plus facile) et trois consultations de la table.

    Dérivé de ce principe des logarithmes, la règle à calcul, maniée par les scientifiques et les ingénieurs jusqu’aux années 70, a été très populaire.

    règle à calcul

    Photo Roger McLassus / Source : Wikipédia.

    Sans oublier une curiosité : les quarts de carrés.

    Savez-vous pourquoi à une certaine époque, on publiait des tables des quarts de carrés ? À cause de l’identité remarquable suivante :
    x × y = (x + y)2 /4 − (x − y)2/4.

    Pour multiplier deux nombres x,y, on les ajoute et on les retranche, puis on cherche dans la table les quarts de carrés, puis on fait la différence. Et voilà ! Cela paraît presque plus simple encore que les logarithmes, mais les logarithmes ont un véritable intérêt théorique qui va bien au delà du calcul numérique du produit de deux nombres. Pour une discussion des tables de quarts de carrés, voir l’article de Mehmke et d’Ocagne dans l’Encyclopédie des mathématiques pures et appliquées (1906-1911) (dirigée par Molk), Tome I, Arithmétique et Algèbre : Vol. 4, Calcul des probabilités. Théorie des erreurs. Applications diverses.

    On le voit, chaque époque développe ses outils, pratiques ou conceptuels, pour résoudre un problème en fonction des besoins du moment ou des utilisateurs. Personne n’irait faire ses courses avec une table de logarithmes et la plupart des gens font leurs multiplications domestiques à l’ancienne. En fait, il faut bien admettre que de plus en plus de gens font des calculs de plus en plus simples avec des calculatrices de plus en plus sophistiquées, et de moins en moins chères. Faut-il regretter le bon vieux temps où tout le monde pouvait multiplier deux nombres de 6 chiffres en quelques minutes sur une feuille de papier ? Certainement pas : il s’agit d’une compétence qui est devenue inutile pour le plus grand nombre et il y a tant d’autres compétences mathématiques qui seraient plus utiles aujourd’hui. Faut-il abandonner l’enseignement de la multiplication à la main à l’école ? Certainement pas, à condition d’expliquer pourquoi elle fonctionne (ce qu’on n’expliquait pas souvent jadis) car elle permet une compréhension profonde de la multiplication.

    Peut-on encore faire progresser l’art du calcul et améliorer la façon de multiplier les nombres ?

    Pour terminer, je voudrais expliquer qu’il s’agit d’un problème actuel, sur lequel des chercheurs travaillent activement, à la limite entre l’informatique et les mathématiques.

    Commençons par nous poser une question simple. Combien de temps me faut-il pour multiplier deux nombres ? Si je dois multiplier par exemple 1789 et 1515, je pose ma multiplication :

    1 7 8 9
    × 1 5 1 5

     

    et je commence à chanter :

    « Cinq fois neuf quarante-cinq, je pose cinq, et je retiens quatre.

    Cinq fois huit quarante, et quatre, quarante-quatre, je pose quatre, et je retiens quatre.

    … »

    Combien de « vers » contiendra ma chanson ? Chacun des 4 chiffres du multiplicateur doit être multiplié par chaque chiffre du multiplicande, ce qui fait que ma chanson aura 16 vers. Supposons que je connaisse bien mes tables, et disons qu’il me faut 10 secondes pour scander une ligne. Au total, j’aurai pris 160 secondes pour arriver à :

    1 7 8 9
    × 1 5 1 5
    8 9 4 5
    1 7 8 9 .
    8 9 4 5 . .
    1 7 8 9 . . .

     

    Il me reste à faire l’addition (et trouver 2 710 335), mais oublions cette partie du travail, chacun sait que c’est bien plus facile de faire des additions que des multiplications. Donc, il me faut 160 secondes, disons 3 minutes. Maintenant, supposons que je doive multiplier deux nombres qui ont 100 fois plus de chiffres : une multiplication de deux nombres de 400 chiffres ! Vous me direz que vous n’avez jamais eu à faire ce genre de calculs et vous auriez raison. mais les ordinateurs le font en permanence pour vous, sans vous en parler, alors faisons comme si vous vous atteliez à cette tâche. Vous auriez à multiplier chacun des 400 chiffres avec chacun des 400 autres, ce qui fait que la chanson a maintenant 160 000 vers, et que ça vous prendra (prendrait) 1 600 000 secondes, soit plus de 40 heures de calcul, à condition que vous ne vous arrêtiez pas en route (et que vous ne commettiez pas la moindre erreur). Remarquez la conclusion : si je multiplie des nombres qui ont 100 fois plus de chiffres, mon temps de calcul est multiplié par 10 000. En général vous comprenez que si je multiplie des nombres qui ont N fois plus de chiffres, le temps de calcul est multiplié par N au carré. Avec des nombres « à peine » 1 000 fois plus longs, il faut un temps un 1 000 000 fois plus long.

    Bien entendu, ceci n’a aucun intérêt pour le client d’un supermarché qui fait ses courses, mais un ordinateur qui détermine par exemple le temps qu’il fera demain fait un nombre gigantesque de calculs, d’une très grande précision. Bien sûr, l’ordinateur ne met pas 10 secondes pour lire une ligne, mais seulement un milliardième de seconde par exemple, mais comme il fait un très grand nombre de multiplications, il est indispensable de bien réfléchir à l’algorithme qu’on lui « enseigne », et il est important d’essayer de lui donner une méthode meilleure que l’algorithme de l’école primaire que nous connaissons. « Meilleur » n’est pas le mot correct : un ordinateur ne fonctionne pas comme un être humain, et il est normal qu’il utilise un algorithme différent quand il multiplie, plus adapté à sa condition, si on peut s’exprimer ainsi.

    Ici, si je veux rester à un niveau élémentaire, je suis obligé de ne plus tout expliquer. Si je devais donner des détails, ce serait sans aucun doute du hors piste. Alors, voici donc, sans explications, quelques étapes d’un développement mathématique.

    Au début du dix-neuvième siècle, le mathématicien Fourier, alors qu’il s’intéresse à la propagation de la chaleur (un problème qui n’a donc rien à voir a priori avec les multiplications), développe une méthode pour comprendre les « fonctions périodiques ». Cette méthode deviendra fondamentale par la suite dans un grand nombre d’applications les plus diverses.

    Pendant longtemps, cette « transformation de Fourier » était plus un outil théorique que pratique puisque les calculs impliqués étaient beaucoup trop lourds. En 1965, Cooley et Tukey, deux mathématiciens américains, ont eu une idée théorique fondamentale qui a permis de diminuer les temps de calculs de manière incroyable : c’est la « transformation de Fourier rapide ». Ceci rendait l’outil de Fourier enfin utilisable [3].

    En 1971, deux mathématiciens allemands, Strassen et Schönhage, eurent l’idée de transposer la transformation de Fourier rapide dans le contexte qui nous intéresse : la multiplication. Ils mirent ainsi au point un algorithme qui permet de multiplier deux nombres à N chiffres, non pas en un temps proportionnel à N carré, comme le donnerait la méthode des écoliers, mais en un temps proportionnel à N seulement [4]. Le gain de temps est excellent. Supposons par exemple qu’au lieu de multiplier des nombres de N chiffres, on multiple maintenant des nombres de 10N chiffres. Eh bien, avec la brave méthode de l’école primaire un ordinateur mettra 100 fois plus de temps pour calculer le résultat, alors qu’avec la méthode améliorée il ne mettra que 10 fois plus de temps… S’il s’agit de gagner quelques microsecondes, ce n’est pas bien grave, mais si notre ordinateur obtient le résultat en 10 heures au lieu de 100 heures, le gain devient évident.

    Une fois que ces idées théoriques sont en place, il faut ensuite les implémenter sur les ordinateurs, dans la pratique. Cela requiert beaucoup de savoir faire, mais aussi beaucoup de théorie, parfois intégralement mathématique, parfois intégralement informatique, parfois intégralement technologique, mais le plus souvent à la rencontre de tous ces aspects. Il faut bien savoir que les progrès du calcul scientifique résultent pour moitié de l’amélioration du matériel, et pour une autre moitié de l’amélioration des algorithmes utilisés.

    Pour vous faire une idée de ce genre de recherches, vous pouvez aller voir par exemple la page personnelle de Jean-Michel Muller, directeur de recherche CNRS au LIP. Voyez en particulier la table des matières de son livre Calcul et Arithmétique des ordinateurs (qui, pour le coup, n’est pas du tout élémentaire.). On peut donc dire, en exagérant à peine, que certains mathématiciens/informaticiens d’aujourd’hui contribuent à préparer de nouvelles méthodes pour multiplier des nombres, mais bien sûr pas destinées aux êtres humains.

    Un problème aussi simple que la multiplication a donc des solutions variées, suivant l’époque, l’usage qu’on veut en faire et les outils qui sont à notre disposition, qui peuvent être nos doigts ou un super calculateur coûtant des fortunes. C’est le rôle du mathématicien de proposer une solution adaptée à chaque situation. Henri Poincaré le disait bien : « Il n’y a pas des problèmes qu’on se pose, il y a des problèmes qui se posent. Il n’y a pas de problèmes résolus, il y a seulement des problèmes plus ou moins résolus. »

    Pour rire !

    Le mathématicien Stiefel commençait son cours de mathématiques appliquées au Poly de Zürich [5] en racontant son expérience de débutant cherchant à savoir le résultat de la multiplication 2 fois 3. Comme un débutant ne sait rien, il s’adressait à plusieurs spécialistes l’un après l’autre.

    Le premier, ingénieur, sortait une petite règle de son veston avec laquelle il jouait quelques secondes avant de répondre : 5,97.

    Le second, puisqu’il faut vérifier toute information, chimiste vêtu d’une blouse anciennement blanche, sortait d’un rayon d’étagère un livre tout taché au titre bizarre (table de noragythmes ?) et s’adonnait à des incantations bizarres avant de répondre : 60. 002.

    Le troisième, lui aussi en blouse mais heureusement lavée de plus frais, physicien aux marmonnements étranges, traçait des gribouillis incompréhensibles par moi, du genre 2×3=2/(1/3)=…=2/(1−2/3) avant de prétendre que l’approximation au premier ordre était bien suffisante pour répondre = 2(1 + 2/3) = 3,333333.

    Le quatrième, spécialiste des spécialistes puisque mathématicien, n’était pas à son bureau le matin. À l’heure du thé, il commença comme le troisième, passa par (-2)(1 – 4/3) et se trouva coincé par une divergence déplacée, mais m’assura qu’il était bien connu que la réponse existe et qu’elle est unique, avant de passer au sujet qui l’intéressait lui ce jour-là.

    La morale est qu’il faut faire attention aux spécialistes, surtout lorsque dans la rue toute le monde est d’accord : 2 fois 3 ça fait 5 si on achète et 7 si on vend.

    Parfois, il y a plusieurs réponses possibles à la même question…

    Notes

    [1] On pourra consulter avec profit le livre de G. Ifrah Histoire Universelle des Chiffres, dont la lecture est passionnante mais qui semble critiqué par certains spécialistes, dont je ne suis pas.
    [2] Un des personnages de la série américaine « Prison Break », saison un, (un psychopathe au doux nom de Teddy Bag) la connaît et la montre à deux enfants…
    [3] Il semble même que le grand Gauss avait eu cette même idée en … 1805, ce qui le place non seulement 160 ans avant Cooley et Tukey mais 17 ans avant la publication du livre de Fourier sur la question : encore une petite espièglerie de l’histoire des mathématiques.
    [4] Je triche un tout petit peu, il faut un temps proportionnel à N logN loglogN en fait.
    [5] Merci à Pierre de la Harpe pour l’anecdote.

    Newsletter

    Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité

    Niveau de lecture

    Aidez-nous à évaluer le niveau de lecture de ce document.

    Si vous souhaitez expliquer votre choix, vous pouvez ajouter un commentaire (Il ne sera pas publié).

    Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !

    Etienne Ghys

    Directeur de recherche au CNRS, dans l'Unité de Mathématiques Pures et Appliquées de l'ENS de Lyon.

    Voir le profil

    Ces articles peuvent vous intéresser

    ArticleCulture & Société
    Algorithmes

    Faire une multiplication… plus vite qu’à l’école !

    Arno Eigenwillig
    Kurt Mehlhorn

    Niveau intermédiaire
    Niveau 2 : Intermédiaire