Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Algorithme de multiplication d'entiers — Wikipédia
Algorithme de multiplication d'entiers — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Algorithme de multiplication)

Les algorithmes de multiplication permettent de calculer le résultat d'une multiplication.

Graphiquement, il s'agit de transformer un rectangle multiplicateur × multiplicande en une ligne, en conservant le nombre d'éléments.

Multiplication basée sur le nombre 2

[modifier | modifier le code]

Ce type de multiplication n'utilise que des additions et des multiplications ou des divisions par 2. Elle ne nécessite pas de connaître de table de multiplication (autre que la multiplication par 2).

  • Technique de la multiplication dans l'Égypte antique
  • (variante) Technique de multiplication dite russe

Multiplication basée sur la notation décimale

[modifier | modifier le code]

Ce type de multiplication utilise la décomposition décimale des nombres et nécessite de multiplier chaque chiffre du premier nombre par chaque chiffre du second. Elle nécessite de connaître les tables de multiplications d'un chiffre par un autre. Cependant, plusieurs types de disposition ont été adoptés au cours des temps.

  • Technique de la multiplication en Chine antique
  • Technique de la multiplication par glissement
  • Technique de la multiplication par jalousies
  • Technique de multiplication à la main (avec la table de multiplication)
  • Technique graphique de multiplication par décompte de points d'intersection (ne nécessite pas de connaître la table de multiplication).

Multiplication rapide

[modifier | modifier le code]

Les méthodes décrites dans les pages précédentes nécessitent pour la plupart de multiplier chaque chiffre du multiplicateur par chaque chiffre du multiplicande. Si ces deux nombres ont n {\displaystyle n} {\displaystyle n} chiffres, cela exige n 2 {\displaystyle n^{2}} {\displaystyle n^{2}} produits : on dit que le calcul a une complexité en temps quadratique, ou en O ( n 2 ) {\displaystyle {\mathcal {O}}(n^{2})} {\displaystyle {\mathcal {O}}(n^{2})}.

L'apparition des ordinateurs a permis et exigé la mise au point d'algorithmes plus rapides pour les grands nombres, les premiers trouvés ayant une complexité en temps de la forme O ( n 1 + a ) {\displaystyle O(n^{1+a})} {\displaystyle O(n^{1+a})}, où a est un réel positif strictement inférieur à 1. Arnold Schönhage et Volker Strassen ont conjecturé en 1971 que le produit de deux entiers a une complexité en O ( n log ⁡ n ) {\displaystyle O(n\log n)} {\displaystyle O(n\log n)}, c'est-à-dire qu'il existe un algorithme ayant cette complexité en temps, et qu'aucun n'en a de meilleure[1],[2]. La meilleure complexité actuelle est depuis 2019 en O ( n log ⁡ n ) {\displaystyle O(n\log n)} {\displaystyle O(n\log n)} mais n'est pas utilisable en pratique car elle n'est atteinte que pour des nombres extrêmement grands, supérieurs à 2 1729 12 {\displaystyle 2^{1729^{12}}} {\displaystyle 2^{1729^{12}}} dans la publication d'origine[1],[2]. Aucun algorithme présentant une meilleure complexité que celle conjecturée n'a été trouvé et la conjecture de Schönhage et Strassen est toujours supposée valide en 2019[1]. Tous les algorithmes ci-dessous ont été mis au point après 1960.

  • Algorithme de Karatsuba : complexité en O ( n log 2 ⁡ ( 3 ) ) {\displaystyle {\mathcal {O}}(n^{\log _{2}(3)})} {\displaystyle {\mathcal {O}}(n^{\log _{2}(3)})} soit approximativement en O ( n 1 , 585 ) {\displaystyle {\mathcal {O}}(n^{1,585})} {\displaystyle {\mathcal {O}}(n^{1,585})} ; conçu en 1962[3], c'est le premier algorithme ayant une complexité sub-quadratique[1];
  • Algorithme Toom-Cook ou "Toom3" : complexité en O ( n log 3 ⁡ ( 5 ) ) {\displaystyle {\mathcal {O}}(n^{\log _{3}(5)})} {\displaystyle {\mathcal {O}}(n^{\log _{3}(5)})} soit approximativement en O ( n 1 , 465 ) {\displaystyle {\mathcal {O}}(n^{1,465})} {\displaystyle {\mathcal {O}}(n^{1,465})} ;
  • Algorithme de Schönhage-Strassen, méthode utilisant la transformation de Fourier rapide : complexité en O ( n ⋅ log ⁡ n ⋅ log ⁡ log ⁡ n ) {\displaystyle {\mathcal {O}}(n\cdot \log n\cdot \log \log n)} {\displaystyle {\mathcal {O}}(n\cdot \log n\cdot \log \log n)}, conçu en 1971[1];
  • Algorithme de Fürer : complexité en O ( n log ⁡ n K O ( log ∗ ⁡ n ) ) {\displaystyle {\mathcal {O}}(n\log nK^{O(\log ^{*}n)})} {\displaystyle {\mathcal {O}}(n\log nK^{O(\log ^{*}n)})}, où log ∗ ⁡ n {\displaystyle \log ^{*}n} {\displaystyle \log ^{*}n} désigne le logarithme itéré et K {\displaystyle K} {\displaystyle K} un nombre strictement supérieur à 1[1], conçu en 2007;
  • Algorithme de Harvey et van der Hoeven : en mars 2019, David Harvey et Joris van der Hoeven annoncent un algorithme de multiplication en O ( n log ⁡ n ) {\displaystyle {\mathcal {O}}(n\log n)} {\displaystyle {\mathcal {O}}(n\log n)}[4],[5]. L'algorithme est publié dans les Annals of Mathematics en 2021[6],[1]. Schönhage et Strassen ont prédit que n log(n) est le meilleur résultat possible, et Harvey en conclut : « ...notre travail devrait être la fin de la route pour ce problème, bien que nous ne sachions pas encore comment le prouver rigoureusement[7]. »

La plupart des processeurs récents implémentent les multiplications sous forme de circuits électroniques, mais qui ne gèrent que des entiers de taille limitée. On appelle de tels circuits des multiplieurs.

Autres multiplications

[modifier | modifier le code]
  • Multiplication de matrices

Notes et références

[modifier | modifier le code]
  1. ↑ a b c d e f et g (en) David Harvey et Joris Van Der Hoeven, « Integer multiplication in time O(n log n) », HAL,‎ 18 mars 2019 (lire en ligne).
  2. ↑ a et b Céline Deluzarche, « Oubliez vos tables de multiplication : voici une nouvelle méthode bien plus efficace », sur Futura Sciences, 12 avril 2019.
  3. ↑ A. Karatsuba and Yu. Ofman, « Multiplication of Many-Digital Numbers by Automatic Computers », Doklady Akademii Nauk, vol. 145,‎ 1962, p. 293–294
    traduit en anglais dans le journal Doklady Physics (en), 7 (1963), pp. 595–596
  4. ↑ Kevin Hartnett, « Mathematicians Discover the Perfect Way to Multiply », Quanta Magazine,‎ 11 avril 2019 (lire en ligne, consulté le 3 mai 2019).
  5. ↑ Kheira Bettayeb, « La multiplication réinventée », sur CNRS, 15 mai 2019 (consulté le 26 juin 2019).
  6. ↑ David Harvey et Joris van der Hoeven, « Integer multiplication in time O ( n log ⁡ n ) {\displaystyle O(n\log n)} {\displaystyle O(n\log n)} », Annals of Mathematics Second series, vol. 193, no 2,‎ 2021, p. 563-617 (DOI 10.4007/annals.2021 .193.2.4, MR 4224716).
  7. ↑ Lachlan Gilbert, « Maths whiz solves 48-year-old multiplication problem », UNSW,‎ 4 avril 2019 (lire en ligne, consulté le 18 avril 2019)

Voir aussi

[modifier | modifier le code]
  • Preuve par neuf
  • Calcul mental
v · m
Multiplication
  • Facteur
    • Multiplicande
    • Multiplicateur
  • Produit
  • Croix de multiplication
  • Table de multiplication
Propriétés
  • Distributivité
  • Associativité
  • Commutativité
Exemples
  • Produit scalaire
  • Produit vectoriel
  • Multiplication par un scalaire
  • Produit matriciel
Algorithmes de multiplication
Multiplication d'entiers
  • Égypte antique
  • Russe
  • Chine antique
  • Par glissement
  • Par jalousies
  • Méthode Trachtenberg
  • Algorithme de multiplication de Booth
  • Karatsuba
  • Toom-Cook
  • Schönhage-Strassen
  • Fürer
Multiplication de matrices
  • Hadamard
  • Kronecker
  • Strassen
  • Coppersmith-Winograd
  • Algorithme de multiplication de matrices enchaînées
Algorithmes de vérification
Multiplication d'entiers
  • Preuve par neuf
Multiplication de matrices
  • Algorithme de vérification de Freivalds
  • icône décorative Arithmétique et théorie des nombres
  • icône décorative Portail de l'informatique théorique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Algorithme_de_multiplication_d%27entiers&oldid=212962319 ».
Catégories :
  • Multiplication
  • Technique de calcul
  • Algorithme
Catégories cachées :
  • Article contenant un appel à traduction en anglais
  • Portail:Arithmétique et théorie des nombres/Articles liés
  • Portail:Sciences/Articles liés
  • Portail:Mathématiques/Articles liés
  • Portail:Informatique théorique/Articles liés
  • Portail:Informatique/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id