Math'O Man : le Blog des Maths

Méthode de multiplication


Revisitons la multiplication !


Vous croyez déjà tout savoir sur la multiplication ? Vous allez être surpris ! Voici trois méthodes pour multiplier deux nombres entiers.
  • Multiplication posée du bon élève.
  • Multiplication posée de deux nombres, comment calculer le produit de deux nombres


     
  • Méthode du cancre.
  •  

    Comment multiplier deux nombres, méthode des paresseux

    Mode d'emploi : A gauche on prend toujours la moitié en arrondissant, s'il le faut, vers le bas ; à droite on prend toujours le double. Puis on supprime les lignes (en noir) dont le nombre gauche est pair et à droite on additionne les lignes restantes (en rouge).
     
     
  • Méthode de Karatsuba (publiée en 1962).
  • On sépare chaque facteur en deux parties
    Multiplication selon Karatsuba
    puis on effectue les multiplications suivantes :

    Algorithme pour la multiplication de Karatsuba

    Le résultat est ensuite
    Trouver le produit de deux nombres entiers
Remarque
L'idée de tout ça c'est de se ramener à des opérations élémentaires (opérations entre deux nombres entre 0 et 9). Sur un ordinateur le choix d'un bon algorithme peut accélerer considérablement le temps de calcul — quelques jours pour des facteurs constitués de plusieurs milliards de chiffres ! Le calcul avec de très grands nombres n'est pas une question purement théorique mais a beaucoup d'applications, notamment en théorie de cryptage.
 
Questions
  1. Pourquoi la méthode du cancre fonctionne-t-elle ? Les deux facteurs jouent des rôles différents; lequel choisir pour quel rôle ?
  2. Utilisez la méthode de Karatsuba pour calculer 3116 x 1014. Pourquoi cette méthode fonctionne-t-elle ?
  3. Avec la méthode classique (multiplication posée du bon élève), combien de multiplications élémentaires sont nécessaires pour calculer le produit de deux nombres à n chiffres ?
  4. En réitérant la méthode de Karatsuba on obtient un algorithme. Combien de multiplications élémentaires sont alors nécessaires pour calculer le produit de deux nombres à n chiffres ? Comparer avec l'algorithme classique.
Réponses
Cliquez pour afficher les solutions en format pdf.

Et pour finir une vidéo présentant une méthode qui produit une belle calligraphie — elle s'appelle donc la multiplication chinoise !

L'idée de base de la multiplications chinoise est le fait suivant : un ensemble de n droites parallèles coupe un autre ensemble de m droites parallèles en nxm points.

Pourquoi ne pas lire aussi :


Faut-il un corps pour la méthode du pivot ?

A l'occasion de la solution d'un joli exercice de type colle sur les matrices (voir le blog de Pierre Lecomte), je suis naturellement amené à poser la question suivante.

Soit A une matrice inversible à coefficient dans un corps. Alors par des opérations élémentaires sur les lignes on peut transformer A en la matrice unité. En fait c'est la méthode du pivot de Gauss qui permet cela. On en déduit que A est un produit de matrices correspondantes aux trois types d’opérations élémentaires (permutation de lignes, multiplication d’une ligne par un scalaire non-nul, ajout d’une ligne à une autre).
Cette écriture en produit est pratique car elle permet de prouver plein de choses. Par exemple, pour montrer que le déterminant conserve les produits il suffit de le vérifier pour la multiplication entre une matrice de ce type et une matrice quelconque — et c'est tout facile.

Or comment ça se passe-t-il sur un anneau ? Plus précisément :

Soit R un anneau commutatif et A une matrice carrée avec coefficients dans R telle que det(A) est une unité de R. On sait que A est une matrice inversible (c’est du classique, voir par exemple ici pour la formule qui donne l'inverse en fonction de (det A)-1 et de la comatrice).
Question : Peut-on ramener A à la matrice unité par des opérations élémentaires ?

Peut-être avez-vous déjà réfléchi là-dessus et connaissez la réponse...

La comatrice conserve la multiplication

La comatrice com(M) d'une matrice carré M d'ordre n est la matrice des cofacteurs, c'est-à-dire sa composante en (l,k) est \small{(-1)^{l+k}} fois le déterminant de la matrice qui s'obtient lorsqu'on ôte à M sa l-ème ligne et sa k-ème colonne.
Mais c'est surtout la transposée de la comatrice qui nous intéresse ; elle s'appele matrice complémentaire (en allemand Adjunkte, en anglais adjugate matrix) et on démontre dans tout cours d'algèbre linéaire qu'elle vérifie la propriété fondamentale :

^t\text{com}(M)\:M\;=\;M\:^t\text{com}(M)\;=\;\det(M)\:I\:.

Par conséquence si on travaille avec des coefficients dans un anneau A, alors la matrice M est inversible dans l'anneau matriciel à coefficients dans A si et seulement si le scalaire det(M) est inversible dans l'anneau A. Par exemple les matrices inversibles sur \small\mathbb{Z} sont précisément celles dont le déterminant est 1 ou -1.

Exercice :  Démontrer que  com  est compatible avec la multiplication matricielle,

com(I) = I      et      com(MN) = com(M) com(N).

Le piège d'une méthode qui marche...

Mystères de la psychologie

Posez les deux questions suivantes à un ami.

"Comment demandes-tu l'heure à un sourd?" — Probablement il fera un geste.
"Comment demandes-tu un peigne à un chauve?" — Probablement il fera également un geste... au lieu de demander simplement!

Exemple:


Elèves en math spé Lycée Fénelon-Sainte Marie


Presque tout le monde tombe dans ce piège. Et très souvent, si plusieurs personnes sont présentes, ce n'est pas la personne à laquelle on a adressé la parole qui répond mais une autre qui se sent moins observée!

Nous mathématiciens sommes les spécialistes de la généralisation. Si nous avons trouvé une méthode pour résoudre un problème particulier nous essayons de l'adapter à des situations similaires ou plus générales. Nous sommes (dé)formés ainsi et ça fonctionne — au prix que ça n'aboutit pas toujours à la méthode la plus élégante.

Les juristes, en revanche, ont l'habitude de considérer chaque cas de manière indépendante. En effet, tout avocat sait que le fait d'avoir gagné un procès aujourd'hui n'implique pas qu'un procès identique sera gagné demain.
Je posais la question du peigne aussi à mes amis juristes et avocats. Sans avoir procédé à une statistique fiable, j'ai l'impression que le pourcentage des piégés est inférieur chez eux que chez les mathématiciens.

Deux autres exemples:


Philippe Calderon, réalisateur de film

Une preuve à prendre avec précaution

Le fait que

0,999999... = 1

est une des premières choses qu'un étudiant apprend lorsqu'il étudie les nombres réels. Voici une démonstration de cette égalité.

On pose
X = 0,99999...
Alors on a l'égalité
10X = 9,99999...
dont on soustrait la première,
9X = 9,00000...
D'où X = 1.

Convaincant, n'est-ce pas ? Pour beaucoup de gens il s'agit d'une preuve — mais en réalité ça reste une tricherie car on ômet de réfléchir sur un certain nombre détails (comme par exemple à la signification rigoureuse de 0,99999... ou du produit 10 × 0,99999.... C'est un peu comme en topologie où il faut aussi faire comprendre au débutant que le fait que les boules ouvertes sont des ouverts nécessite une preuve.)
Or qui a bien compris le cours sur les nombres réels n'a pas besoin d'une preuve car l'égalité 0,999999... = 1 est une conséquence immédiate des diverses définitions possibles du corps des réels.

Voici la manière dont j'expliquerai l'égalité 1=0,99999... à quelqu'un qui ne connais pas grand chose en maths :

Une bien meilleure méthode

On pose X = 0,99999... et on part de

0 < 0,9 < 0,99 < 0,999 < 0, 9999 < ... < X

donc par multiplication par -1 les inégalités changent de sens,

0 > - 0,9 > - 0,99 > - 0,999 > - 0,9999 > ... > - X.

En ajoutant 1 à chaque membre de ces inégalités, on obtient

1 > 1 - 0,9 > 1 - 0,99 > 1 - 0,999 > 1 - 0,9999 > ... > 1 - X.

Autrement dit,
1 > 0,1 > 0,01 > 0,001 > 0,0001 > ... > 1 - X.

Ainsi la différence 1-X est plus petite que tout nombre de la forme 0,000...0001. C'est-à-dire 1-X ne peut pas être strictement positif. D'autre part 1-X n'est pas strictement négatif car X est n'est pas plus grand que 1. Cela prouve que 1-X = 0 , ou encore que X = 1.   CQFD

Avec un tel raisonnement, je crois, le non-initié comprend mieux les idées mathématiques qu'avec une tricherie qui fait seulement appel à ses habitudes de calcul.

Brenoms

D'ailleurs au lieu d'écrire une infinité de chiffres après la virgule on peut aussi écrire une infinité de chiffres devant. On obtient alors ce qu'on appelle un brenom (verlan de nombre). On additionne les brenoms en commencant par la droite. Ca donne des résultats bizarres comme par exemple

addition posée d'un brenom, somme de nombres bizarres, nombre à l'envers

Plus de détails sur les brenoms dans ce bel article.

Exercice d'arithmétique

Après une longue absence je viens de faire un peu le ménage dans les commentaires du billet précédent sur les exercices de la liste de Vladimir Arnol'd et je me suis rendu compte que PB y a posé un petit problème que toute le monde a oublié dans la déferlante de solutions (dues pour la plupart à JLT). Le voilà, dans un billet à lui tout seul !

Exercice de PB : calculer la signature de la (multiplication par 541 modulo 1223).

Remarques sur l'enseignement des math au collège

Constat : Lacunes dans le post-bac

Il y a quelques semaines, lors d'une colle en prépa MPSI (math sup) sur les développements limités, une étudiante était amenée à calculer la somme de trois fractions,

\frac3{40}\;+\;\frac1{12}\;+\;\frac3{8}\;.

Voici comment elle s'y prenait (avec mon téléphone portable j'ai pris la photo du tableau) :

réduire au même dénominateur
A éviter : dénominateur inutilement grand

Ce qui est gênant dans cette histoire c'est que cette étudiante n'est pas une mauvaise élève, mais apparemment au collège on ne lui a pas enseigné qu'il faut toujours privilégier le plus petit dénominateur commun pour additionner des fractions. En effet, cela évite des grands nombres difficiles à gérer ; le plus petit dénominateur commun n'est pas le produit 40x12x8 des trois dénominateurs ! Il fallait procéder comme suit :

\begin{array}{rcl}
\frac3{40}\;+\;\frac1{12}\;+\;\frac3{8} \;&=&\;\frac3{2^3\times5}\;+\;\frac1{2^2\times3}\;+\;\frac3{2^3} \\
\;&=&\;\frac{3\times3}{2^3\times3\times5}\;+\;\frac{2\times5}{2^3\times3\times5}\;+\;\frac{3\times3\times5}{2^3\times3\times5}
\\&&\phantom{\frac{\frac AA}{\frac AA}}\\
\;&=&\;\frac{9+10+45}{2^3\times3\times5}\;=\;\frac{64}{2^3\times3\times5}\;=\;\frac{8}{3\times5}\;=\;\frac{8}{15}
\end{array}

On voit sur la première ligne ci-dessus que le plus petit dénominateur commun est 2^3\times3\times5 car c'est le plus petit nombre qui contient les facteurs premiers qu'on obtient en décomposant chaque dénominateur. Autrement dit, c'est le plus petit commun multiple (PPCM) des trois dénominateurs.
On remarque d'ailleurs que je n'ai pas vraiment calculé ce dénominateur, je l'ai laissé sous forme de produit car à la fin cela permet de simplifier plus facilement...

Les nombres premiers ont disparu du collège

Comment se fait-il que certains élèves arrivent aujourd'hui en classes préparatoires de sciences et ne savent pas manipuler correctement des fractions ? La réponse est que la décomposition en produit de facteurs premiers est enseignée beaucoup trop tard et seulement à une partie des bacheliers scientifiques ; en effet, elle n'est plus au programme du collège mais seulement au programme de l'option mathématiques en terminale S.

Il fut une époque en France (pas lointaine et dans autres pays on y est toujours) où tout les enfants apprenaient à l'âge de dix ou onze ans de décomposer un nombre entier en facteurs premiers.

Valeurs pédagogiques et conceptuelles de cette décomposition :

  • On apprend à décomposer un grand problème en petits problèmes, certaines composantes, les nombres premiers, étant irréductibles comme des atomes — ou les briques d'un jeu de légo.
  • On trouve facilement le PGCD et le PPCM de deux, trois, quatre nombres ou plus à partir de leurs décompositions en nombres premiers. (En revanche, l'algorithme d'Euclid s'applique seulement à deux nombres à la fois.)
  • Avec le PPCM on rencontre le concept de la réunion d'ensembles et la signification exacte du mot ou.
  • Avec le PGCD on rencontre le concept de l'intersection et la signification exacte du mot et. Ce sont d'ailleurs des notions importantes en probabilités.
  • On apprend sa table de multiplication...

On se demande vraiment pour quelle raison mystérieuse l'Inspection Générale a-t-elle ôté des programmes le concept simple et fondamental de la décomposition en nombres premiers ? Pour trouver le PGCD de deux nombres elle préconise l'algorithme d'Euclide ! Or cet algorithme est moins intuitif et son fonctionnement plus délicat à comprendre que la décomposition en nombres premiers. Son seul avantage est qu'il marche bien avec les très grands nombres — autrement dit, il n'a aucun intérêt pédagogique... Un jeune esprit a besoin d'apprendre des idées, des concepts et pas quelques recettes pour manipuler de nombres élevés, nombres qui n'ont aucun intérêt, ni pour lui ni pour nous autres mathématiciens (sauf quelques spécialistes en cryptographie, informatique ou théorie des nombres) ! D'abord un enfant doit maîtriser la manipulation des petits nombres, se faire une idée de leurs multiples, de leur diviseurs, et ce défi n'est point gagné à l'époque de la calculatrice...
Supprimer l'enseignement de la décomposition en facteurs premiers était donc une grave erreur et qui plus tard devient source de lacunes ; en plus c'était une occasion manquée de réviser les tables de multiplication.

Plus de vraies constructions géométriques au collège ?

Pour finir, voici deux exemples de l'enseignement actuel de la géométrie, extraits du manuel scolaire Transmath 6e (Nathan 2005). Dans les deux cas l'approximatif remplace une idée de construction simple et précis :

Bissection d'un angle.  On ne fait plus appel à la symétrie !

construire la bisectrice
Bissectrice — méthode approximative avec pauvre valeur pédagogique

Encore une fois, une belle idée conceptuelle est remplacée par un procédé rapide qui n'a pas de valeur pédagogique, comme s'il s'agissait de faire croire aux enfants que plus tard dans la vie ils seraient amenés quotidiennement à diviser des angles ! Or ce qui est intéressant dans la division d'un angle par deux, ce n'est pas le résultat lui-même mais la manière dont on l'obtient, à savoir par un simple concept, la symétrie : si je fais la même construction des deux côtés d'un angle alors j'obtiens une figure symétrique.
Voici donc la vraie construction avec règle et compas telle qu'elle devrait être enseignée :

construire la bissectrice
Bissectrice — la vraie construction intéressante

Parallèle à une droite.  En appliquant la bissection d'un angle au cas particulier de 180° on obtient une perpendiculaire ; et en faisant la même chose à cette perpendiculaire on trouve une parallèle. C'est une idée simple et facile à retenir. Mais qu'est-ce qu'on enseigne à la place ? La construction approximative que voici :

construire une parallèle
Parallèle passant par un point — méthode avec peu d'intérêt

Multiplicateurs de Lagrange

En économie, physique, ingénierie, on enseigne la méthode des multiplicateurs de Lagrange : Si P est un extrémum d'une fonction f de n variables x1, ... ,xn sous m contraintes données par g1(x1,...,xn)=0, ... , gm(x1,...,xn)=0, alors il existe des réels λ1, ... ,λm tels que

grad f(P) = λ1 grad g1(P) + ··· + λm grad gm(P).

Généralement, lorsqu'on enseigne ce théorème à des non-matheux, il est préférable de ne pas faire la démonstration en toute généralité. D'habitude je me contente d'expliquer deux cas particuliers où on "voit" géométriquement ce qui se passe :

  • n=3 et m=1. Grâce à la règle de dérivation d'une fonction composée, on montre que les gradients de f et g en P sont orthogonaux au plan tangent à la surface décrite par g(x,y,z) = 0. Donc ces gradients sont colinéaires.

  • n=3 et m=2. De même, on montre que les gradients de f, g1 et g2 en P sont orthogonaux à la tangente à la courbe décrite par g1(x,y,z) = g2(x,y,z) = 0. Ils sont donc coplanaires.

Concernant une application de ce théorème j'ai une question à laquelle vous savez peut-être répondre.

Y a t-il un exemple élémentaire mais non trivial? L'exemple classique de minimisation de coût lorsqu'on construit une boîte rectangulaire dont le volume est fixé et dont le couvercle coûte, au cm2, le double des autres côtés n'est pas vraiment intéressant; en effet, on peut isoler l'une des variables dans l'équation de la contrainte et se ramener à une fonction de deux variables indépendantes.

Les limites des logiciels de calcul formel?

Dans ce billet j'ai posé l'exercice de montrer que la loi binaire

x¤y := x(y2+1)½+y(x2+1)½

définit une structure de groupe sur l'ensemble des réels. Le seul obstacle est l'associativité; la preuve n'est pas très difficile (il s'agit d'un simple transport de la loi + par le sinus hyperbolique). Mais avec Maple je n'arrive pas à faire la preuve par force brute; en effet, je ne sais pas comment faire en sorte que le logiciel simplifie l'expression concernée (tandis que le logiciel Xcas y arrive, comme l'a remarqué Tukikun).

Dans le même esprit, je me demande si quelqu'un arrive à démontrer avec Maple que, sur les courbes elliptiques (réelles), l'addition par la méthode des sécantes est associative. Je n'y suis pas arrivé.

A propos

Le nom du blog
peut faire penser à Math Ol’ Man, à mythomane, à math zéro man, à Mannomann !

Le logo du site
illustre la fameuse formule  e^{i\times\pi}+1=0  qui réunit huit symboles et nombres fondamentaux en mathématiques :

  • la relation d’égalité =
  • l’addition +
  • la multiplication \times
  • le nombre 0 (élément neutre de l’addition)
  • le nombre 1 (élément neutre de la multiplication)
  • le nombre transcendant \pi (pour calculer l'aire d’un cercle)
  • le nombre transcendant e (pour la croissance exponentielle)
  • le nombre imaginaire i (solution de l’équation x^2+1=0).

L’auteur du blog
c'est moi, , alias MathOMan.
J'ai étudié les mathématiques en Allemagne (Munich et Bonn) et en France (Nice et Paris) pour terminer avec une thèse de doctorat (directeur de thèse : Frédéric Pham, rapporteur : Mikhaïl Zaidenberg, rapporteur et président du jury : Pierre Cartier). D'ailleurs à cette occasion j'ai formulé une conjecture à l'apparence simple et toujours ouverte actuellement... peut-être elle vous tente !

J'ai aussi passé l'agrégation (année 2002 r.83) et, après avoir enseigné dans divers établissements de l'Education Nationale, j'ai donné des cours, TD et heures d'interrogation dans des écoles d'ingénieurs et classes préparatoires parisiennes ; aujourd'hui je suis professeur agrégé à l'Université de Versailles.

Avec d'autres auteurs j'ai écrit le livre Mathématiques L1 (publié chez Pearson Education) destiné aux étudiants en première année d'université ou classe prépa. (Lisez ici un chapitre extrait de ce manuel.)

Septembre 2008 a vu la naissance de ce blog éclectique sur divers sujets liés aux maths qui me passent par la tête. Pour des questions ou suggestions je vous prie de me contacter via ce formulaire.

Adresse professionnelle
Université de Versailles Saint Quentin
Département de Mathématiques — Bureau G-212
45 avenue des États-Unis
F-78035 Versailles
Tél.: +33 139254620

Groupes et compagnie

Un magma est un ensemble G muni d'une loi de composition interne ¤.
Si en plus cette loi est associative, c'est-à-dire (x¤yz = x¤(y¤z) pour tous x,y,z dans G, alors on dit que (G,¤) est un demi-groupe.
Et si en plus il existe un élément neutre e dans G, c'est-à-dire e¤x = x¤e = x pour tout x dans G, alors on dit que (G,¤) est un monoïde.
Enfin, si chaque élément x de G possède un neutralisant x' dans G, c'est-à-dire x¤x' = x'¤x = e, alors on dit que (G,¤) est un groupe.

On dit aussi le symétrique de x pour l'élément neutralisant x' de x. Si la loi est notée par une addition on le note souvent -x (opposé) et si la loi est notée par une multiplication on le note souvent x-1 (inverse).

Exemples :

  • Considérons la loi de l'addition habituelle de nombres. Muni de cette loi l'ensemble des naturels strictements positifs N*={1,2,3,...} est un semi-groupe. Il manque l'élément neutre 0 ; on l'ajoute et on obtient le monoïde N={0,1,2,3,...}. Il manque les neutralisants (les opposés) -1, -2, -3, ... ; on les ajoute et on obtient le groupe des entiers Z={0,±1,±2,±3,...}.
  • Considérons la loi de la multiplication habituelle de nombres. Muni de cette loi l'ensemble des naturels N est un monoïde, son élément neutre étant 1. Que faut-il ajouter ou enlever pour en faire un groupe ? D'abord on remarque que 0 multiplié avec tout nombre donne 0, donc jamais 1, autrement dit on ne pourra jamais trouver un neutralisant de 0 (on ne peut pas diviser par zéro...). Il faut donc enlever le 0, on trouve N*. Ensuite il faut ajouter les inverses : l'union de N* et de l'ensemble des 1/nn parcourt N*, est-il un groupe ? Non, pas encore, car il faut aussi s'assurer que les produits restent dedans et donc on doit en fait ajouter toutes les fractions de la forme m/n avec m et n dans N*. On trouve le groupe multiplicatif Q*+ des rationnels strictement positifs.
    De même l'ensemble des nombres rationnels non nuls Q* est un groupe.
  • Il existe des loi internes non-associatifs. L'ensemble Z muni de la soustraction est un magma (mais pas un demi-groupe). L'ensemble R3 muni du produit vectoriel
    (x1, x2, x3) × (y1, y2, y3) = (x2y3-x3y2, x3y1-x1y3, x1y2-x2y1)
    en est un autre.

Pour résumer, un groupe est un ensemble muni d'une loi interne associative, possédant un élément neutre et tel que chaque élément a un neutralisant. Il s'agit alors de vérifier ces trois axiomes pour montrer qu'un objet proposé est un groupe. Beaucoup d'exercices sont de ce type et très souvent ce sont de simples vérifications mécaniques, permettant au débutant de se familiariser avec la notion de groupe. La rédaction de la réponse à la question suivante m'a pris un peu plus de temps, à savoir toute la durée d'un examen que j'ai surveillé hier — pas terrible de réussir un seul exo pendant que les étudiants doivent en faire cinq ;-) mais évidemment cet exo ne faisait pas partie de l'examen...

Exercice : On définit x¤y := x(y2+1)½+y(x2+1)½. L'ensemble des réels muni de cette loi est-il un groupe ?

Toutes les solutions sont acceptées... en particulier celles utilisant la force brute du logiciel de calcul formel Maple car j'aimerais bien savoir si Maple arrive à faire ça. J'ai essayé de forcer Maple mais il ne voulait pas ; soit ça dépasse ses capacités, soit ça dépasse mes compétences maple-istiques.