Division

Pour les articles homonymes, voir Division (homonymie).

Division en tant que partage. Illustration de la division de 20 par 4 : partage d'un ensemble de 20 pommes en 4 parts égales.

La division est l'une des quatre opérations de l'arithmétique élémentaire avec l'addition, la soustraction et la multiplication. Dans une première approche, la division consiste à calculer combien de fois on peut mettre un nombre dans un autre. Par exemple, si l'on dispose de 20 pommes à distribuer à 4 personnes, il faut donner 5 pommes à chacun (on peut mettre 5 fois 4 pommes pour avoir 20 pommes). Le nombre que l'on divise (20 dans l'exemple) s'appelle le dividende. Nous l'avons divisé par 4 : il s'agit du diviseur. Le résultat s'appelle le quotient ou rapport (5 dans l'exemple).

En termes mathématiques, à deux nombres, le dividende  a {\displaystyle a} et le diviseur  b {\displaystyle b} , la division associe un troisième nombre (loi de composition interne), qui est le quotient. Selon la norme NF EN ISO 80000-2[1],[2], le quotient de  a {\displaystyle a} par  b {\displaystyle b} se note :

* a : b {\displaystyle a:b} ;
* a / b {\displaystyle a/b} (barre oblique, fraction en ligne) ;
* a b {\displaystyle {\frac {a}{b}}} (fraction).

Selon la même norme, il convient de ne pas utiliser la notation  a ÷ b {\displaystyle a\div b} (obélus).

Dans une première approche, on peut voir la quantité  a : b {\displaystyle a:b} comme une séparation de la quantité  a {\displaystyle a} en  b {\displaystyle b} parts égales. Mais cette approche est surtout adaptée à la division entre nombres entiers, où la notion de quantité est assez intuitive. On distingue couramment la division « exacte » (celle dont on parle ici) de la division « avec reste » (la division euclidienne). D'un point de vue pratique, on peut voir la division comme le produit du premier par l'inverse du second. Si un nombre est non nul, la fonction « division par ce nombre » est la réciproque de la fonction « multiplication par ce nombre ». Cela permet de déterminer un certain nombre de propriétés de l'opération.

De manière plus générale, on peut définir le quotient  y = a / b {\displaystyle y=a/b} comme étant la solution de l'équation b × y = a {\displaystyle b\times y=a} . Ceci permet d'étendre la définition à d'autres objets mathématiques que les nombres, à tous les éléments d'un anneau.

## Problématique

[modifier | modifier le code]

La division sert :

* à faire un partage équitable entre un nombre de parts déterminé à l'avance, et donc à déterminer la taille d'une part. Par exemple :

Question : Si on répartit équitablement 500 grammes de poudre de perlimpimpin entre huit personnes, combien chacune d'elles obtiendra-t-elle ?
Réponse :  500 8 = 62 , 5 {\displaystyle {\dfrac {500}{8}}=62{,}5} , chacun obtient 62,5 grammes de poudre de perlimpimpin

* à déterminer le nombre de parts possible, d'une taille déterminée à l'avance. Par exemple :

Question : Si on répartit 500 grammes de poudre de perlimpimpin par tranche de 70 g, combien de personnes pourra-t-on servir ?
Réponse :  500 70 = 7 , 14 … {\displaystyle {\dfrac {500}{70}}=7{,}14\ldots } , on pourra servir  7 {\displaystyle 7} personnes et il restera de quoi servir  1 / 7 {\displaystyle 1/7} de personne ( ≈ 0 , 14 {\displaystyle \approx 0,14} ).

La multiplication est également l'expression d'une loi proportionnelle. La division permet donc « d'inverser » cette loi. Par exemple, on sait qu'à un endroit donné, le poids P {\displaystyle P} (force qui tire un objet vers le bas, exprimée en newtons) est proportionnelle à la masse m {\displaystyle m} (quantité fixe, exprimée en kilogrammes), le coefficient de proportionnalité étant appelé « gravité »  g {\displaystyle g} :

P = m × g {\displaystyle P=m\times g}

Un pèse-personne mesure la force qui lui est exercée, donc  P {\displaystyle P} ; la gravité étant connue, on peut en déduire la masse d'une personne en inversant la loi par une division :

m = P / g {\displaystyle m=P/g} .

Dans le même ordre d'idées, dans le cas d'un mouvement rectiligne uniforme, la distance parcourue  d {\displaystyle d} (en kilomètres) est proportionnelle au temps  t {\displaystyle t} (en heures), le coefficient étant la vitesse moyenne  v {\displaystyle v} (en kilomètres par heure) :

d = v × t {\displaystyle d=v\times t} .

On peut inverser cette loi pour déterminer le temps qu'il faut pour parcourir une distance donnée à une vitesse moyenne donnée :

t = d / v {\displaystyle t=d/v} .

De manière plus générale, la division intervient dans l'inversion d'une loi affine, c'est-à-dire du type

y = a x + b {\displaystyle y=ax+b}

ce qui donne si a est non nul

x = ( y − b ) / a {\displaystyle x=(y-b)/a}

Par ailleurs, on peut approcher la plupart des lois par une loi affine en faisant un développement limité à l'ordre 1. La division permet donc d'inverser une loi de manière approximative : si l'on connaît la valeur de  f {\displaystyle f} et de sa dérivée en un point  x 0 {\displaystyle x_{0}} , on peut écrire « autour de ce point »

y = f ( x ) ≈ f ( x 0 ) + f ′ ( x 0 ) × ( x − x 0 ) {\displaystyle y=f(x)\approx f(x_{0})+f'(x_{0})\times (x-x_{0})}

et ainsi inverser la loi :

x ≃ x 0 + f ( x ) − f ( x 0 ) f ′ ( x 0 ) {\displaystyle x\simeq x_{0}+{\frac {f(x)-f(x_{0})}{f'(x_{0})}}}
f − 1 ( y ) ≃ x 0 + y − f ( x 0 ) f ′ ( x 0 ) {\displaystyle f^{-1}(y)\simeq x_{0}+{\frac {y-f(x_{0})}{f'(x_{0})}}}

Ceci est par exemple utilisé dans l'algorithme de Newton, qui recherche les zéros d'une fonction :

f − 1 ( 0 ) ≃ x 0 − f ( x 0 ) f ′ ( x 0 ) {\displaystyle f^{-1}(0)\simeq x_{0}-{\frac {f(x_{0})}{f'(x_{0})}}}

## Vocabulaire et notations. Historique

[modifier | modifier le code]

Le symbole actuel de la division est un trait horizontal séparant le numérateur (dividende) du dénominateur (diviseur). Par exemple,  a {\displaystyle a} divisé par  b {\displaystyle b} se note  a b {\displaystyle {\dfrac {a}{b}}} .

Le dénominateur donne la dénomination et le numérateur énumère :  3 4 {\displaystyle {\dfrac {3}{4}}} indique qu'il s'agit de quarts, et qu'il y en a trois → trois quarts.

Diophante et les Romains, au IVe siècle écrivaient déjà des fractions sous une forme semblable, les Indiens également au XIIe siècle et la notation moderne fut adoptée par les Arabes.

Le symbole « : » a été plus tard utilisé par Leibniz.

Les fabricants de calculatrices impriment l'obélus  ÷ {\displaystyle \div } ou la barre oblique  / {\displaystyle /} sur la touche « opérateur division ». L'utilisation de ces symboles est plus ambiguë que la barre de fraction, puisqu'elle demande de définir des priorités, mais elle est pratique pour l'écriture « en ligne » utilisée en imprimerie ou sur un écran.

Dans les publications scientifiques, on utilise plus volontiers les notations fractionnelles. La notation avec les deux-points est souvent utilisée pour représenter un rapport de quantités entières ou de longueurs.

Aujourd'hui en France, en classe de 6e de collège, les notations  ÷ {\displaystyle \div } , : et  / {\displaystyle /} sont utilisées, car la division a pour les élèves un statut d'opération. Une nuance de sens est communément admise :

* a ÷ b {\displaystyle a\div b} et  a : b {\displaystyle a:b} désignent une opération (non effectuée), et le vocabulaire approprié est dividende pour  a {\displaystyle a} et diviseur pour  b {\displaystyle b} ;
* a b {\displaystyle {\dfrac {a}{b}}} et  a / b {\displaystyle a/b} désignent l'écriture fractionnaire du résultat de cette opération, et le vocabulaire approprié est numérateur pour  a {\displaystyle a} et dénominateur pour  b {\displaystyle b} .

## Mathématiques et langue française

[modifier | modifier le code]

On peut diviser une entité en un nombre de parties dont l'addition donne cette entité, par un moyen implicite ou explicite.

Ainsi, on peut :

* diviser un gâteau en deux parts, par un coup de couteau
* simplement diviser un gâteau en deux [parts, par un moyen quelconque]
* diviser 1 en 2 demis, par la représentation mentale mathématique que l'on s'en fait
* simplement diviser 1 en 36e
* etc.

On peut également diviser par dichotomie ou par malice, mais diviser par 2 est un concept mathématique :

a b = c {\displaystyle {\dfrac {a}{b}}=c} : « a {\displaystyle a} divisé par  b {\displaystyle b} est égal à  c {\displaystyle c} ».

## Définition

[modifier | modifier le code]

Technique de division avec des variables.

### Approche élémentaire

[modifier | modifier le code]

On commence par définir la division « avec reste » entre nombres entiers naturels. Cette division peut s'approcher de manière intuitive par la notion de « partage, distribution équitable », et donne une procédure de calcul.

Article détaillé : Division euclidienne.

Cette notion permet déjà de mettre en évidence le problème de la division par zéro : comment partager une quantité en 0 part ? Cela n'a pas de sens, il faut au moins une part.

Puis, on définit la notion de nombre décimal, et l'on étend la procédure de calcul en l'appliquant de manière récursive au reste, voir la section ci-dessous Division non abrégée. Cela permet de définir la notion de nombre rationnel.

La notion de partage convient encore mais est plus difficile à appréhender. On peut imaginer des portions de part, donc diviser par des nombres fractionnaires : diviser une quantité par  0 , 1 {\displaystyle 0,1} ( 1 / 10 {\displaystyle 1/10} ), c'est dire que la quantité initiale représente  1 / 10 {\displaystyle 1/10} part, et donc trouver la taille d'une part complète. Diviser une quantité par un nombre négatif, cela revient à calculer la taille d'une part que l'on enlève.

Les nombres réels sont construits à partir des rationnels. Un nombre irrationnel ne peut pas se concevoir comme une quantité ; par contre, il peut se voir comme une proportion : le rapport entre la diagonale d'un carré et son côté, le rapport entre le périmètre d'un cercle et son diamètre. Dès lors, la division ne peut plus être définie comme un partage, mais comme la réciproque de la multiplication.

Avec cette définition, on ne peut toujours pas diviser par 0 : puisque  0 × a = 0 {\displaystyle 0\times a=0} pour tout nombre, il existe une infinité de réciproques. On peut aussi — puisque diviser par un nombre revient à multiplier par son inverse — voir ce problème comme celui de la limite en 0 de la fonction inverse f ( x ) = 1 / x {\displaystyle f(x)=1/x} : elle a deux limites,  − ∞ {\displaystyle -\infty } à gauche et  + ∞ {\displaystyle +\infty } à droite.

Le fait « d'étendre » les nombres réels en incluant des « pseudo-nombres infinis »,  + ∞ {\displaystyle +\infty } et  − ∞ {\displaystyle -\infty } (droite réelle achevée), ne règle pas le problème, puisque reste le problème du signe.

Article détaillé : Division par zéro.

La notion de division est donc fondamentale en algèbre et en analyse.

### Définition complète

[modifier | modifier le code]

Étant donné un anneau intègre ( A , + , × ) {\displaystyle (A,+,\times )} , la division sur  A {\displaystyle A} est la loi de composition :  A × A -> A {\displaystyle \mathrm {A} \times \mathrm {A} \to \mathrm {A} } , notée par exemple « ÷ {\displaystyle \div } », telle que  ∀ ( a , b , c ) ∈ A × A × A {\displaystyle \forall (a,b,c)\in \mathrm {A} \times \mathrm {A} \times \mathrm {A} } ,

a : b = c {\displaystyle a:b=c} si et seulement si  b × c = a {\displaystyle b\times c=a} .

L'intégrité de l'anneau assure que la division a bien un résultat unique. Par contre, elle n'est définie que sur  A × ( A − { 0 } ) {\displaystyle \mathrm {A} \times (\mathrm {A} -\\{0\\})} si et seulement si  A {\displaystyle A} est un corps commutatif, et en aucun cas définie pour  b = 0 {\displaystyle b=0} .

Si la division n'est pas définie partout, on peut étendre conjointement la division et l'ensemble  A {\displaystyle A} : dans le cas commutatif, on définit sur  A × A {\displaystyle \mathrm {A} \times \mathrm {A} } une relation d'équivalence ∼ {\displaystyle \sim } par

( a , b ) ∼ ( a ′ , b ′ ) ⟺ a × b ′ = a ′ × b {\displaystyle (a,b)\sim (a',b')\iff a\times b'=a'\times b}

et on écrit

a : b {\displaystyle a:b} la classe de  ( a , b ) {\displaystyle (a,b)} dans l'anneau quotient.

Cet anneau quotient est un corps dont le neutre est la classe 1 : 1. C'est ainsi que l'on construit Q {\displaystyle \mathbb {Q} } en symétrisant  Z {\displaystyle \mathbb {Z} } pour la multiplication (ou  Z {\displaystyle \mathbb {Z} } à partir de  N {\displaystyle \mathbb {N} } en symétrisant l'addition).

Cette définition ne recouvre pas celle de division euclidienne, qui se pose de manière analogue mais dont le sens est radicalement différent.

Dans l'idée, elle sert aussi à inverser la multiplication (dans  a {\displaystyle a} , combien de fois  b {\displaystyle b} ).

Le problème de définition ne se pose plus, puisque  ∀ ( a , b ) ∈ N × ( N − { 0 } ) {\displaystyle \forall (a,b)\in \mathbb {N} \times (\mathbb {N} -\\{0\\})} ,  { n ∈ N | b × n ⩽ a } {\displaystyle \\{n\in \mathbb {N} \ |\ b\times n\leqslant a\\}} est une partie de  N {\displaystyle \mathbb {N} } non vide et majorée, qui admet donc un plus grand élément.

Cette division, fondamentale en arithmétique, introduit la notion de reste. Néanmoins, comme pour toutes les divisions, le  b {\displaystyle b} de la définition ne peut être zéro.

## Propriétés

[modifier | modifier le code]

La division n'était pas à proprement parler une opération (loi de composition interne, définie partout), ses « propriétés » n'ont pas d'implications structurelles sur les ensembles de nombres, et doivent être comprises comme des propriétés des nombres en écriture fractionnaire.

Non-propriétés

* non commutative car  5 ÷ 3 ≠ 3 ÷ 5 {\displaystyle 5\div 3\neq 3\div 5}
* non associative car  12 ÷ ( 4 ÷ 3 ) ≠ ( 12 ÷ 4 ) ÷ 3 {\displaystyle 12\div (4\div 3)\neq (12\div 4)\div 3}

Remarques

* pseudo-élément neutre à droite : 1

a 1 = a {\displaystyle {\dfrac {a}{1}}=a}
* pseudo-élément absorbant à gauche : 0

si b ≠ 0 , 0 b = 0 {\displaystyle {\mbox{ si }}b\neq 0,{\dfrac {0}{b}}=0}
* égalité de fractions
* de même dénominateur

si b ≠ 0 , a b = c b ⟺ a = c {\displaystyle {\mbox{ si }}b\neq 0,{\dfrac {a}{b}}={\dfrac {c}{b}}\iff a=c}
* en général (qui découle de la construction de  Q {\displaystyle \mathbb {Q} } )

si b ≠ 0 ∧ d ≠ 0 , a b = c d ⟺ a d = b c (produit en croix) {\displaystyle {\mbox{ si }}b\neq 0\wedge d\neq 0,{\dfrac {a}{b}}={\dfrac {c}{d}}\iff ad=bc\,{\text{(produit en croix)}}}
* ordre

si b > 0 , a b {\displaystyle {\mbox{ si }}b>0,{\dfrac {a}{b}}} et  c b {\displaystyle {\dfrac {c}{b}}} sont dans le même ordre que  a {\displaystyle a} et  c {\displaystyle c}

## Algorithmes de la division de nombres décimaux

[modifier | modifier le code]

### Division non abrégée

[modifier | modifier le code]

Division non abrégée de  23 {\displaystyle 23} par  6 {\displaystyle 6} .

L'algorithme de division non abrégée, encore appelé division longue, sert à déterminer une écriture décimale du quotient de deux nombres entiers. C'est une extension de la division euclidienne (voir Poser une division > Généralisation en arithmétique). D'un point de vue pratique, il consiste à continuer la procédure, en « descendant des zéros », les nouveaux chiffres calculés s'ajoutant après la virgule. Cela se justifie par

a b × 10 n = a × 10 n b ⟹ a b = a × 10 n b ÷ 10 n {\displaystyle {\frac {a}{b}}\times 10^{n}={\frac {a\times 10^{n}}{b}}\Longrightarrow {\frac {a}{b}}={\frac {a\times 10^{n}}{b}}\div 10^{n}}

où n est le nombre de décimales que l'on veut. Ainsi, on ajoute  n {\displaystyle n} zéros à droite du numérateur, on effectue une division euclidienne classique, puis sur le quotient obtenu, les  n {\displaystyle n} derniers chiffres sont après la virgule.

Notons que l'on a intérêt à calculer la  n + 1 e {\displaystyle n+1^{\mathrm {e} }} décimale pour savoir dans quel sens faire l'arrondi.

Par exemple, pour calculer  23 : 6 {\displaystyle 23:6} avec deux décimales, la procédure revient à calculer  2 300 : 6 {\displaystyle 2\ 300:6} (  = 383 {\displaystyle =383} , reste  2 {\displaystyle 2} ) puis à diviser le résultat par  100 {\displaystyle 100} (ce qui donne  3 , 83 {\displaystyle 3,83} ).

Cette procédure se généralise au quotient de deux nombres décimaux ; cela se justifie par :

a b = a × 10 n b × 10 n {\displaystyle {\frac {a}{b}}={\frac {a\times 10^{n}}{b\times 10^{n}}}}

où  n {\displaystyle n} est un entier positif tel que  a × 10 n {\displaystyle a\times 10^{n}} et  b × 10 n {\displaystyle b\times 10^{n}} n soient des entiers ; on peut par exemple prendre le plus grand nombre de décimales dans les nombres  a {\displaystyle a} et  b {\displaystyle b} .

Deux situations peuvent se présenter :

* on finit par avoir un reste nul : on obtient donc un nombre décimal ;
* on finit par retomber par un reste qui est déjà apparu auparavant : la division « ne se termine pas », elle boucle à l'infini ; dans ce cas, le quotient est un rationnel non décimal, et on peut prouver que son développement décimal admet une période, dont la longueur est strictement inférieure au diviseur.

Dans une division non exacte  a ÷ b {\displaystyle a\div b} , ( a {\displaystyle a} et  b {\displaystyle b} étant deux nombres entiers,  b {\displaystyle b} non nul), si on note  q p {\displaystyle q_{p}} et  r p {\displaystyle r_{p}} respectivement le quotient et le reste obtenus en poussant les itérations jusqu'à obtenir  p {\displaystyle p} chiffres après la virgule du quotient, on obtient un encadrement ou une égalité :

a b ≈ q p {\displaystyle {\dfrac {a}{b}}\approx q_{p}} à  10 − p {\displaystyle 10^{-p}} près ou  q p < a b < q p + 10 − p {\displaystyle q_{p}<{\dfrac {a}{b}}<q_{p}+10^{-p}}

a b = q p + r p ⋅ 10 − p b {\displaystyle {\dfrac {a}{b}}=q_{p}+{\dfrac {r_{p}\cdot 10^{-p}}{b}}}

Un nombre irrationnel (réel, sans être rationnel) ne peut s'écrire sous forme de fraction, par définition. C'est par contre la limite d'une suite de nombres rationnels (voir Construction des nombres réels).

### Division de nombres codés en binaire

[modifier | modifier le code]

La division en système binaire est une opération fondamentale pour l'informatique.

#### Division euclidienne binaire

[modifier | modifier le code]

On considère dans un premier temps des entiers naturels (positifs). La division se fait de la même manière que la division euclidienne.

Soient deux nombres  a {\displaystyle a} et  b {\displaystyle b} de  n {\displaystyle n} bits. La notation  a ( i ) {\displaystyle a(i)} désigne le  i {\displaystyle i} -ième bit (en partant de la droite, notés de  0 {\displaystyle 0} à  n − 1 {\displaystyle n-1} ),  a ( i : j ) {\displaystyle a(i:j)} désigne les bits situés entre les positions  i {\displaystyle i} et  j {\displaystyle j} . La fonction suivante calcule le quotient  Q {\displaystyle Q} et le reste  R {\displaystyle R} , en pseudo-code :

fonction [Q, R] = diviser(a, b)

si b == 0 alors génère l'exception "division par zéro" ;

Q := 0 ; R := a ; // initialisation
pour i = n-1 → 0
si a(n:i) >= b alors
Q(i) = 1 ; // i-ème bit du quotient
R = a(n:i) - b ; // reste
fin
fin
retourne [Q, R] ;
fin

On cherche une portion de « bits forts » (chiffres de gauche) de  a {\displaystyle a} qui est supérieure à  b {\displaystyle b} ; si l'on n'en trouve pas, alors le quotient garde la valeur  0 {\displaystyle 0} , et le reste  R {\displaystyle R} prend la valeur  a {\displaystyle a} (puisqu'au final il est constitué de tous les chiffres de  a {\displaystyle a} ). Si à un certain rang  i {\displaystyle i} on a  a ( n : i ) ≥ b {\displaystyle a(n:i)\geq b} , alors du fait du système binaire, la réponse à

en a(n:i) combien de fois  b {\displaystyle b}

est nécessairement « une fois » : en base  10 {\displaystyle 10} , la réponse est entre  1 {\displaystyle 1} et  9 = 10 − 1 {\displaystyle 9=10-1} ; ici, elle est entre  1 {\displaystyle 1} et  1 = 2 − 1 {\displaystyle 1=2-1} . On a donc le  i {\displaystyle i} -ème bit du quotient qui vaut  1 {\displaystyle 1} ; le reste  R {\displaystyle R} à cette étape est la différence.

Ce pseudo-programme n'est pas optimisé pour des raisons de clarté ; une version plus efficace serait :

fonction [Q, R] = diviser(a, b)

si b == 0 alors génère l'exception "division par zéro" ;

Q := 0 ; R := 0 ; // initialisation
pour i = n-1 → 0
R = décalage_à_gauche_de_bits(R, 1) ; // équivaut à rajouter un 0 à droite
R(1) = a(i) ; // le bit de poids faible de R est le i-ème bit du numérateur
si R >= b alors
Q(i) = 1 ; // i-ème bit du quotient
R = R - b ; // reste
fin
fin
retourne [Q, R] ;
fin

Cet algorithme marche également avec les nombres réels codés en virgule fixe.

Pour les nombres réels codés en virgule flottante, il suffit de voir que :

2 m a 2 n b = 2 m − n a b {\displaystyle {\frac {2^{m}\,a}{2^{n}\,b}}=2^{m-n}{\frac {a}{b}}}

donc on procède à la différence des exposants (des entiers relatifs, codés en virgule fixe) et à la division des mantisses (des entiers naturels).

On voit que l'on ne fait appel qu'à des fonctions élémentaires — comparaison, décalage, assignation, soustraction — ce qui permet de le mettre en œuvre de manière simple dans un microprocesseur.

#### Méthodes lentes

[modifier | modifier le code]

Dans la division euclidienne de  a {\displaystyle a} par  b {\displaystyle b} , pour des nombres représentés en base  B {\displaystyle B} ( B = 2 {\displaystyle B=2} en binaire), à l'étape  i {\displaystyle i} :

* on considère le reste de l'étape précédente,  R i − 1 {\displaystyle R_{i-1}} ;
* on détermine le  i {\displaystyle i} -ème chiffre du quotient en partant de la gauche, donc le chiffre  j = n − i {\displaystyle j=n-i} en partant de la droite :  Q n − i {\displaystyle Q_{n-i}} ;
* le nouveau reste vaut

R i = B × R i − 1 − Q n − i × b {\displaystyle R_{i}=B\times R_{i-1}-Q_{n-i}\times b} .

Cette construction par récurrence constitue la base des méthodes dites lentes.

Connaissant  R i − 1 {\displaystyle R_{i-1}} , on suppose que  Q n − i = 1 {\displaystyle Q_{n-i}=1} , on a alors

R i = 2 × R i − 1 − b {\displaystyle R_{i}=2\times R_{i-1}-b} .

Si la valeur trouvée est négative, c'est que  Q n − i = 0 {\displaystyle Q_{n-i}=0} . Par rapport à la procédure euclidienne, plutôt que de prendre les chiffres de gauche du numérateur, on ajout des  0 {\displaystyle 0} à droite du dénominateur. À la première étape, on en ajoute autant que le nombre de bits  n {\displaystyle n} servant à coder les nombres (il faut donc un espace mémoire double), puis on multiplie le numérateur par  2 {\displaystyle 2} jusqu'à vérifier la condition. Cela donne en pseudo-code (on omet le test de division par zéro) :

fonction [Q, R] = diviser(a, b)

si b == 0 alors génère l'exception "division par zéro" ;

R := a // valeur initiale du reste
b := décalage_à_gauche_de_bits(b, n)
pour i = n-1 → 0
R := décalage_à_gauche_de_bits(b, 1)
si R >= b alors
Q(i) := 1 // le i-ème bit de i est 1
R = R - b
sinon
Q(i) := 0 // le i-ème bit de i est 0
fin
fin
retourner[Q, R]
fin

Lorsque l'on optimise l'algorithme pour réduire le nombre d'opérations, on obtient le pseudo-code suivant.

fonction [Q, R] = diviser(a, b)

si b == 0 alors génère l'exception "division par zéro" ;

R := a // valeur initiale du reste
b := décalage_à_gauche_de_bits(b, n)
pour i = n-1 → 0
R := 2*R - b // le reste décalé est-il supérieur à b ?
si R >= 0 alors
Q(i) := 1 // le i-ème bit de i est 1
sinon
Q(i) := 0 // le i-ème bit de i est 0
R := R + b // on restaure la valeur du reste en gardant le décalage
fin
fin
retourner[Q, R]
fin

Du fait de la dernière instruction de la boucle, on qualifie cette méthode de « division avec restauration ».

La méthode peut être améliorée en générant un quotient utilisant les nombres +1 et −1\. Par exemple, le nombre codé par les bits

`11101010`

correspond en fait au nombre

`11111111`

c'est-à- dire à 11101010 -00010101 \

 11010101 La méthode est dite « sans restauration » et son pseudo-code est :

fonction [Q, R] = diviser(a, b)

si b == 0 alors génère l'exception "division par zéro" ;

R[0] := a
i := 0
tant que i < n
si R[i] >= 0 alors
Q[n-(i+1)] := 1
R[i+1] := 2*R[i] - b
sinon
Q[n-(i+1)] := -1
R[i+1] := 2*R[i] + b
fin
i := i + 1
fin
Q = transforme(Q)
retourner[Q, R]
fin

La méthode de division SRT — du nom de ses inventeurs, Sweeney, Robertson, et Tocher —, est une méthode sans restauration, mais la détermination des bits du quotient se fait en utilisant une table de correspondance ayant pour entrées  a {\displaystyle a} et  b {\displaystyle b} . C'est un algorithme utilisé dans de nombreux microprocesseurs. Alors que la méthode sans restauration classique ne permet de générer qu'un bit par cycle d'horloge, la méthode SRT permet de générer deux bits par cycle[3].

L'erreur de division du Pentium était due à une erreur dans l'établissement de la table de correspondance[4].

#### Méthodes rapides

[modifier | modifier le code]

Les méthodes rapides consistent à évaluer  x = 1 / b {\displaystyle x=1/b} , puis à calculer  Q = a × x {\displaystyle Q=a\times x} .

La méthode de Newton-Raphson consiste à déterminer  1 / b {\displaystyle 1/b} par la méthode de Newton.

La méthode de Newton permet de trouver le zéro d'une fonction en connaissant sa valeur et la valeur de sa dérivée en chaque point. Il faut donc trouver une fonction  f b ( x ) {\displaystyle f_{b}(x)} qui vérifie

f b ( x ) = 0 ⟺ x = 1 / b {\displaystyle f_{b}(x)=0\Longleftrightarrow x=1/b}

et telle que l'on puisse effectuer l'itération

x i = x i − 1 − f b ( x i − 1 ) f b ′ ( x i − 1 ) {\displaystyle x_{i}=x_{i-1}-{\frac {f_{b}(x_{i-1})}{f'_{b}(x_{i-1})}}}

sans avoir à connaître  1 / b {\displaystyle 1/b} .

On peut par exemple utiliser  f b ( x ) = 1 / x − b {\displaystyle f_{b}(x)=1/x-b} , ce qui donne  x i = x i − 1 + x i − 1 ( 1 − b x i − 1 ) {\displaystyle x_{i}=x_{i-1}+x_{i-1}(1-bx_{i-1})} .

Pour initialiser la procédure, il faut trouver une approximation de  1 / b {\displaystyle 1/b} . Pour cela, on normalise  a {\displaystyle a} et  b {\displaystyle b} par des décalages de bits afin d'avoir  b {\displaystyle b} compris dans  [ 0 , 5 ; 1 ] {\displaystyle [0,5;1]} . On peut ensuite prendre une valeur arbitraire dans cet intervalle — par exemple  b ≈ 0 , 75 {\displaystyle b\approx 0,75} donc  1 / b ≈ 1 , 3 3 _ … {\displaystyle 1/b\approx 1,3{\underline {3}}\ldots } , ou encore  1 ≤ 1 / b ≤ 2 {\displaystyle 1\leq 1/b\leq 2} donc  1 / b ≈ 1 , 5 {\displaystyle 1/b\approx 1,5} —, ou bien faire le développement limité de  1 / x {\displaystyle 1/x} en un point — par exemple en  0 , 75 {\displaystyle 0,75} ( 1 / b ≈ 2 , 6 6 _ … {\displaystyle 1/b\approx 2,6{\underline {6}}\ldots } − 1 , 7 7 _ … × b {\displaystyle 1,7{\underline {7}}\ldots \times b} ) ou en  1 / 1 , 5 {\displaystyle 1/1,5} ( 1 / b ≈ 3 {\displaystyle 1/b\approx 3} − 2 , 25 × b {\displaystyle 2,25\times b} ). On retient souvent l'approximation affine

x 0 = 48 17 − 32 17 b ( ≃ 2 , 82 − 1 , 88 b ) {\displaystyle x_{0}={\frac {48}{17}}-{\frac {32}{17}}b\ (\simeq 2{,}82-1,88b)}

les valeurs de  48 / 17 {\displaystyle 48/17} et de  32 / 17 {\displaystyle 32/17} étant précalculées (stockées « en dur »).

Cette méthode converge de manière quadratique. Pour une précision sur  p {\displaystyle p} bits, il faut donc un nombre d'étapes  s {\displaystyle s} :

s = log 2 ⁡ ( p + 1 log 2 ⁡ 17 ) {\displaystyle s=\log _{2}\left({\frac {p+1}{\log _{2}17}}\right)}

(arrondi au supérieur), soit trois étapes pour un codage en simple précision et quatre étapes en double précision et double précision étendue (selon la norme IEEE 754).

Voici le pseudo-code de l'algorithme.

fonction [Q] = diviser(a, b)
e := exposant(b) // b = M*2^e (représentation en virgule flottante)
b' := b/2^{e + 1} // normalisation ; peut se faire par un décalage de e+1 bits à droite
a' := a/2^{e + 1} // 0.5 <= b <= 1 ; a'/b' = a/b
X := 48/17 - 32/17*b' // initialisation de la méthode de Newton
pour i = 1 → s // s précalculé en fonction du nombre p de bits de la mantisse
X := X + X*(1 - b*X)
fin
Q := a'*X
retourne[Q]
fin

La méthode de Goldschmidt[5] est fondée, elle, sur la considération suivante :

Q 1 = a b {\displaystyle {\frac {\mathrm {Q} }{1}}={\frac {a}{b}}}

donc, il existe un facteur  F {\displaystyle F} tel que  b × F = 1 {\displaystyle b\times F=1} , et ainsi  a × F = Q {\displaystyle a\times F=Q} . Notons que  F = 1 / b {\displaystyle F=1/b} .

Le facteur  F {\displaystyle F} est évalué par une suite ( F k {\displaystyle F_{k}} ) :

F k = f k × f k − 1 × … f 1 = ∏ ( f i ) {\displaystyle F_{k}=f_{k}\times f_{k-1}\times \ldots f_{1}=\prod (f_{i})}

telle que la suite  ( b k ) = F k × b {\displaystyle (b_{k})=F_{k}\times b} converge vers  1 {\displaystyle 1} . Pour cela, on normalise la fraction pour que  b {\displaystyle b} se trouve dans  ] 0 ; 1 ] {\displaystyle ]0;1]} , et l'on définit

f i + 1 = 2 − b i {\displaystyle f_{i+1}=2-b_{i}} .

Le quotient final vaut

Q = F k × a {\displaystyle Q=F_{k}\times a} .

Notons que l'on a

F i + 1 = f i + 1 × F i {\displaystyle F_{i+1}=f_{i+1}\times F_{i}} ;
b i + 1 = f i + 1 × b i {\displaystyle b_{i+1}=f_{i+1}\times b_{i}} .

Cette méthode est notamment utilisée sur les microprocesseurs AMD Athlon et suivants[6],[7].

La méthode binomiale est similaire à la méthode de Goldschmidt, mais consiste à prendre pour suite de facteurs  f i = 1 + x 2 i {\displaystyle f_{i}=1+x^{2i}} avec  x = 1 − b {\displaystyle x=1-b} . En effet, on a :

Q = a 1 − x = a ( 1 + x ) ( 1 − x ) ( 1 + x ) = a ( 1 + x ) 1 − x 2 {\displaystyle \mathrm {Q} ={\frac {a}{1-x}}={\frac {a(1+x)}{(1-x)(1+x)}}={\frac {a(1+x)}{1-x^{2}}}}
Q = a ( 1 + x ) ( 1 + x 2 ) 1 − x 4 = a ( 1 + x ) ( 1 + x 2 ) ( 1 + x 4 ) 1 − x 8 = ⋯ {\displaystyle \mathrm {Q} ={\frac {a(1+x)(1+x^{2})}{1-x^{4}}}={\frac {a(1+x)(1+x^{2})(1+x^{4})}{1-x^{8}}}=\cdots }

suivant la formule du binôme de Newton.

Si l'on normalise  b {\displaystyle b} pour qu'il soit dans  [ 0 , 5 ; 1 ] {\displaystyle [0,5;1]} , alors  x {\displaystyle x} est dans  [ 0 ; 0 , 5 ] {\displaystyle [0;0,5]} et à l'étape  n {\displaystyle n} , le dénominateur  1 − x 2 n {\displaystyle 1-x^{2n}} est égal à  1 {\displaystyle 1} avec une erreur de inférieure à  2 − n {\displaystyle 2^{-n}} , ce qui garantit  2 n {\displaystyle 2^{n}} chiffres significatifs.

Cette méthode est parfois désignée comme « méthode IBM »[8].

## Division d'objets autres que des nombres réels

[modifier | modifier le code]

On peut donc définir la division  x = a / b {\displaystyle x=a/b} pour tout ensemble muni d'une multiplication, comme étant la solution de l'équation.

x × b = a {\displaystyle x\times b=a}

Nous allons voir l'exemple des nombres complexes, des polynômes et des matrices.

### Division complexe

[modifier | modifier le code]

Commençons par la notation polaire. Soient deux nombres complexes z 1 = r 1 e i θ 1 {\displaystyle z_{1}=r_{1}\mathrm {e} ^{i\theta _{1}}} ,  z 2 = r 2 e i θ 2 {\displaystyle z_{2}=r_{2}\mathrm {e} ^{i\theta _{2}}} . La division complexe

x = z 1 / z 2 {\displaystyle x=z_{1}/z_{2}}

est donc définie par

x × z 2 = z 1 {\displaystyle x\times z_{2}=z_{1}}

Si on note  x = r e i θ {\displaystyle x=r\mathrm {e} ^{i\theta }} , alors l'équation devient

r e i θ × r 2 e i θ 2 = r 1 e i θ 1 {\displaystyle r\mathrm {e} ^{i\theta }\times r_{2}\mathrm {e} ^{i\theta _{2}}=r_{1}\mathrm {e} ^{i\theta _{1}}}

soit

r r 2 e i ( θ + θ 2 ) = r 1 e i θ 1 {\displaystyle rr_{2}\mathrm {e} ^{i(\theta +\theta _{2})}=r_{1}\mathrm {e} ^{i\theta _{1}}}

donc

{ r r 2 = r 1 θ + θ 2 = θ 1 ⟹ { r = r 1 r 2 θ = θ 1 − θ 2 {\displaystyle \left\\{{\begin{aligned}rr_{2}=\ &r_{1}\\\\\theta +\theta _{2}=\ &\theta _{1}\end{aligned}}\right.\Longrightarrow \left\\{{\begin{aligned}r=\ &{\frac {r_{1}}{r_{2}}}\\\\\theta =\ &\theta _{1}-\theta _{2}\end{aligned}}\right.}

Ceci n'est défini que si  r 2 ≠ 0 {\displaystyle r_{2}\neq 0} c'est-à-dire  z 2 ≠ 0 {\displaystyle z_{2}\neq 0}

On peut donc écrire

r 1 e i θ 1 r 2 e i θ 2 = r 1 r 2 e i ( θ 1 − θ 2 ) {\displaystyle {\frac {r_{1}\mathrm {e} ^{\mathrm {i} \theta _{1}}}{r_{2}\mathrm {e} ^{\mathrm {i} \theta _{2}}}}={\frac {r_{1}}{r_{2}}}\mathrm {e} ^{\mathrm {i} (\theta _{1}-\theta _{2})}}

Voyons maintenant la notation cartésienne. On a  z 1 = a + b × i {\displaystyle z_{1}=a+b\times i} et  z 2 = c + d × i {\displaystyle z_{2}=c+d\times i} , et  x = e + f × i {\displaystyle x=e+f\times i} . L'équation de définition

x × z 2 = z 1 {\displaystyle x\times z_{2}=z_{1}}

devient

( e + f × i ) × ( c + d × i ) = a + b × i {\displaystyle (e+f\times i)\times (c+d\times i)=a+b\times i}
e c − f d + ( d e + c f ) i = a + b × i {\displaystyle ec-fd+(de+cf)i=a+b\times i}

soit

{ e c − f d = a d e + c f = b ⟹ { e = a c + b d c 2 + d 2 f = b c − a d c 2 + d 2 {\displaystyle \left\\{{\begin{aligned}ec-fd=\ &a\\\de+cf=\ &b\end{aligned}}\right.\Longrightarrow \left\\{{\begin{aligned}e=\ &{\frac {ac+bd}{c^{2}+d^{2}}}\\\f=\ &{\frac {bc-ad}{c^{2}+d^{2}}}\end{aligned}}\right.}

qui est défini si  c 2 + d 2 ≠ 0 {\displaystyle c^{2}+d^{2}\neq 0} , c'est-à-dire si  | z 2 | ≠ 0 {\displaystyle |z_{2}|\neq 0} , ce qui équivaut à dire que  z 2 {\displaystyle z_{2}} est non-nul.

On peut donc écrire

a + b × i c + d × i = a c + b d c 2 + d 2 + b c − a d c 2 + d 2 i {\displaystyle {\frac {a+b\times \mathrm {i} }{c+d\times \mathrm {i} }}={\frac {ac+bd}{c^{2}+d^{2}}}+{\frac {bc-ad}{c^{2}+d^{2}}}\mathrm {i} }

Une mise en informatique « brute » de la méthode de calcul peut mener à des résultats problématiques.

Dans un ordinateur, la précision des nombres est limitée par le mode de représentation. Si l'on utilise la double précision selon la norme IEEE 754, la valeur absolue des nombres est limitée à environ  [ 10 − 307 ; 10 308 ] {\displaystyle [10^{-307};10^{308}]} . Si le calcul génère une valeur absolue supérieure à  10 308 {\displaystyle 10^{308}} , le résultat est considéré comme « infini » (`Inf`, erreur de dépassement) ; et si la valeur absolue est inférieure à  10 − 307 {\displaystyle 10^{-307}} , le résultat est considéré comme nul (soupassement).

Or, la formule ci-dessus faisant intervenir des produits et des carrés, on peut avoir un intermédiaire de calcul dépassant les capacités de représentation alors que le résultat final (les nombres  e {\displaystyle e} et  f {\displaystyle f} ) peuvent être représentés. Notons que dans la norme IEEE 754, `1/0` donne `Inf` ( + ∞ {\displaystyle +\infty } ) et `−1/0` donne `−Inf` ( − ∞ {\displaystyle -\infty } ), mais en mettant un drapeau indiquant l'erreur « division par zéro » ; le calcul de `1/Inf` donne `0`.

Si par exemple l'on met en œuvre cette formule pour calculer[9]

( 1 + i ) / ( 1 + 10 − 307 i ) {\displaystyle (1+i)/(1+10^{-307}i)} , on obtient  0 {\displaystyle 0} alors que le résultat est environ  10 − 307 − 10 − 307 i {\displaystyle 10^{-307}-10^{-307}i} (ce qui est représentable) ;
( 1 + i ) / ( 10 − 307 + 10 − 307 i ) {\displaystyle (1+i)/(10^{-307}+10^{-307}i)} , on obtient `NaN` (résultat d'une opération  0 / 0 {\displaystyle 0/0} ), alors que le résultat est  10 307 {\displaystyle 10^{307}} (représentable) ;

Ces erreurs sont dues au calcul de  ( 10 307 ) 2 {\displaystyle (10^{307})^{2}} et de  ( 10 − 307 ) 2 {\displaystyle (10^{-307})^{2}} .

Pour limiter ces erreurs, on peut utiliser la méthode de Smith[10], qui consiste à factoriser de manière pertinente :

a + b × i c + d × i = { si | d | ≪ | c | : a + b ( d / c ) c + d ( d / c ) + b − a ( d / c ) c + d ( d / c ) i si | d | ≫ | c | : a ( c / d ) + b c ( c / d ) + d + b ( c / d ) − a c ( c / d ) + d i {\displaystyle {\frac {a+b\times \mathrm {i} }{c+d\times \mathrm {i} }}=\left\\{{\begin{aligned}{\text{si }}|d|\ll |c|{\text{ : }}&{\frac {a+b(d/c)}{c+d(d/c)}}+{\frac {b-a(d/c)}{c+d(d/c)}}\mathrm {i} \\\\{\text{si }}|d|\gg |c|{\text{ : }}&{\frac {a(c/d)+b}{c(c/d)+d}}+{\frac {b(c/d)-a}{c(c/d)+d}}\mathrm {i} \\\\\end{aligned}}\right.}

En effet, dans le premier cas,  | d / c | < 1 {\displaystyle |d/c|<1} donc  | x d / c | < x {\displaystyle |xd/c|<x} ( x = a , b , d {\displaystyle x=a,b,d} ), donc la méthode est moins sensible aux dépassements.

### Division matricielle

[modifier | modifier le code]

La multiplication matricielle n'étant pas commutative, on définit deux divisions matricielles.

#### Division à droite

[modifier | modifier le code]

Soit  A {\displaystyle A} une matrice de dimension  m × n {\displaystyle m\times n} et  B {\displaystyle B} une matrice de dimension  n × p {\displaystyle n\times p} , alors on appelle « division à droite de  A {\displaystyle A} par  B {\displaystyle B} » et on note

X = A / B {\displaystyle X=A/B}

la matrice de dimension  m × p {\displaystyle m\times p} vérifiant l'équation :

X B = A {\displaystyle XB=A}

Théorème -- Si  B {\displaystyle B} est une matrice régulière (matrice carrée inversible), alors

X = A / B {\displaystyle X=A/B}

est équivalent à

X = A B − 1 {\displaystyle X=AB^{-1}}

Démonstration

Il vient immédiatement de

X B = A {\displaystyle XB=A}

que

( X B ) − 1 = A B − 1 {\displaystyle (XB)^{-1}=AB^{-1}}

ce qui donne le résultat par associativité.

#### Division à gauche

[modifier | modifier le code]

Soit  A {\displaystyle A} une matrice de dimension  m × n {\displaystyle m\times n} et  B {\displaystyle B} une matrice de dimension  m × p {\displaystyle m\times p} , alors on appelle « division à gauche de  A {\displaystyle A} par  B {\displaystyle B} » et on note

X = A ∖ B {\displaystyle X=A\backslash B}

la matrice de dimension  n × p {\displaystyle n\times p} vérifiant l'équation :

A X = B {\displaystyle AX=B}

Si la matrice  A {\displaystyle A} n'est pas de rang maximal, la solution n'est pas unique. La matrice  A + B {\displaystyle A^{+}B} , où  A + {\displaystyle A^{+}} désigne la matrice pseudo-inverse, est la solution de norme minimale.

Théorème -- Si  A {\displaystyle A} est une matrice régulière (matrice carrée inversible), alors

X = A ∖ B {\displaystyle X=A\backslash B}

est équivalent à

X = A − 1 B {\displaystyle X=A^{-1}B}

Démonstration

Il vient immédiatement de

A X = B {\displaystyle AX=B}

que

A − 1 ( A X ) = A − 1 B {\displaystyle A^{-1}(AX)=A^{-1}B}

ce qui donne le résultat par associativité.

On a par ailleurs :

B / A = t ( t A ∖ t B ) {\displaystyle B/A={^{t}({^{t}A}\backslash {^{t}B})}} .

### Division de polynômes

[modifier | modifier le code]

On peut définir la division de polynômes à la manière de la division euclidienne :

A = B × Q + R {\displaystyle \mathrm {A} =\mathrm {B} \times \mathrm {Q} +\mathrm {R} }
d e g ( R ) < d e g ( B ) {\displaystyle \mathrm {deg} (R)<\mathrm {deg} (B)}

où  Q {\displaystyle Q} et  R {\displaystyle R} sont des polynômes ;  Q {\displaystyle Q} est le quotient et  R {\displaystyle R} est le reste.

Article détaillé : Division d'un polynôme.

On peut également appliquer la méthode de construction des nombres rationnels aux polynômes, ce qui permet de définir de manière formelle une fraction de polynômes. Mais il ne s'agit pas là d'un « calcul » de division, il s'agit de définir un nouvel objet mathématique, un nouvel outil.

Article détaillé : Fraction rationnelle.

## Notes et références

[modifier | modifier le code]

1. ↑ 14:00-17:00, « ISO 80000-2:2019 », sur ISO, 19 mai 2020 (consulté le 7 décembre 2023)
2. ↑ « NF EN ISO 80000-2 », sur Afnor EDITIONS (consulté le 7 décembre 2023)
3. ↑ [Pentium® Processor Divide Algorithm]
4. ↑ [Statistical Analysis of Floating Point Flaw], Intel Corporation, 1994
5. ↑ Robert Elliot Goldschmidt, « Applications of Division by Convergence », MSc dissertation, M.I.T., 1964
6. ↑ (en) Stuart F. Oberman, « Floating Point Division and Square Root Algorithms and Implementation in the AMD-K7 Microprocessor », dans Proc. IEEE Symposium on Computer Arithmetic, 1999, p. 106–115
7. ↑ (en) Peter Soderquist et Miriam Leeser, « Division and Square Root: Choosing the Right Implementation », IEEE Micro, vol. 17, no 4, juillet/août 1997, p. 56–66
8. ↑ Paul Molitor, [(de) Entwurf digitaler Systeme mit VHDL]
9. ↑ [(en) Scilab is not naive]
10. ↑ (en) Robert L. Smith, « Algorithm 116: Complex division », Communications of the ACM, New-York, Association for Computing Machinery, vol. 5, no 8, août 1962, p. 435 (DOI 10.1145/368637.368661, lire en ligne)

## Voir aussi

[modifier | modifier le code]

Sur les autres projets Wikimedia :

* Opérations élémentaires, sur Wikiversity

### Articles connexes

[modifier | modifier le code]

* Divisibilité
* Division par deux
* Fraction
* Congruence sur les entiers
* Multiplication

v · m

Opérations binaires

| Numériques| En ensemble ordonné| Structurelles| Autres

|
|
|

Élémentaires
+ {\displaystyle +} Addition
− {\displaystyle -} Soustraction
× {\displaystyle \times } Multiplication
÷ {\displaystyle \div } Division
^ {\displaystyle {\hat {}}} Puissance

Arithmétiques
d i v {\displaystyle \mathrm {div} } Quotient euclidien
m o d {\displaystyle \mathrm {mod} } Reste euclidien
p g c d {\displaystyle \mathrm {pgcd} } PGCD
p p c m {\displaystyle \mathrm {ppcm} } PPCM

Combinatoires
( ) {\displaystyle ()} Coefficient binomial
A {\displaystyle A} Arrangement

Ensembles de parties
∪ {\displaystyle \cup } Union
∖ {\displaystyle \backslash } Différence
∩ {\displaystyle \cap } Intersection
Δ {\displaystyle \Delta } Différence symétrique

Ordre total
min {\displaystyle \min } Minimum
max {\displaystyle \max } Maximum

Treillis
∧ {\displaystyle \wedge } Borne inférieure
∨ {\displaystyle \vee } Borne supérieure

Ensembles
× {\displaystyle \times } Produit cartésien
∪ ˙ {\displaystyle {\dot {\cup }}} Somme disjointe
^ {\displaystyle {\hat {}}} Puissance ensembliste

Groupes
⊕ {\displaystyle \oplus } Somme directe
∗ {\displaystyle \ast } Produit libre
≀ {\displaystyle \wr } Produit en couronne

Modules
⊗ {\displaystyle \otimes } Produit tensoriel
H o m {\displaystyle \mathrm {Hom} } Homomorphisme
T o r {\displaystyle \mathrm {Tor} } Torsion
E x t {\displaystyle \mathrm {Ext} } Extension

Arbres
∨ {\displaystyle \vee } Enracinement

Variétés connexes
# {\displaystyle \\#} Somme connexe

Espaces pointés
∨ {\displaystyle \vee } Bouquet
∧ {\displaystyle \wedge } Smash-produit
∗ {\displaystyle \ast } Joint

Fonctionnelles
∘ {\displaystyle \circ } Composition de fonctions
∗ {\displaystyle \ast } Produit de convolution

Vectorielles
⋅ {\displaystyle \cdot } Produit scalaire
∧ {\displaystyle \wedge } Produit vectoriel
× {\displaystyle \times \,} Produit vectoriel généralisé

Algébriques
[ , ] {\displaystyle [,]} Crochet de Lie
{ , } {\displaystyle \\{,\\}} Crochet de Poisson
∧ {\displaystyle \wedge } Produit extérieur

Homologiques
⌣ {\displaystyle \smile } Cup-produit
⋅ {\displaystyle \cdot } Produit d'intersection

Séquentielles
+ {\displaystyle +} Concaténation

Logique booléenne :

* ∧ {\displaystyle \land } ET (conjonction)
* ∨ {\displaystyle \lor } OU (disjonction)
* ⊕ {\displaystyle \oplus } OU exclusif
* ⇒ {\displaystyle \Rightarrow } IMP (implication)
* ⇔ {\displaystyle \Leftrightarrow } EQV (équivalence)

* Arithmétique et théorie des nombres

*[g]: gramme
*[IVe]: 4ᵉ siècle
*[XIIe]: 12ᵉ siècle
*[6e]: Sixième
*[36e]: Trente-sixième
*[(en)]: Langue : anglais
*[p.]: page
*[vol.]: volume
*[no]: numéro
*[(de)]: Langue : allemand
*[v]: Voir ce modèle.
*[m]: Modifier ce modèle. Merci de prévisualiser avant de sauvegarder.