|
|
| Table of contents |
|
2 Applications de l'arithmétique modulaire 3 Congruence modulo 4 Ressources externes |
Si a est un entier quelconque et n un entier strictement positif, nous écrivons a mod n pour représenter le reste dans {0, ..., n-1} obtenu en effectuant une division euclidienne de a par n. Par exemple, 26 mod 12 = 2.
Dans certains langages de programmation, cette opération est écrite a % n.
Dans la pratique x mod y peut être calculé en utilisant d'autres fonctions. Des différences apparaissent suivant les types des variables utilisées, lesquels contiennent le type entier dans les implémentations courantes.
En utilisant la partie entière floor, floor(z) est le plus grand entier inférieur à z:
x mod y = x - y*floor(x/y).
En utilisant la fonction de troncature de la partie décimale (désignée par remain() dans certains calculateurs et qui retourne toujours un entier positif; réalisée en C par l'opérateur de base %):
x mod y = x - y*iPart(x/y)
Dans le cas de la fonction partie entière floor, le résultat est négatif pour un modulo avec un entier strictement négatif (en convenant de poser a mod -n = -(a mod n), par exemple 1 mod -2 = -1). Nous obtenons une fonction notée mod() sur les calculateurs et implémentée dans certains langages de haut niveau incluant Perl. Perl utilise aussi l'opérateur % pour effectuer une opération modulo, en faisant allusion à l'opérateur de division /.
Les deux définitions permettent à x et y d'être des entiers ou des nombres rationnels.
L'expression x mod 0 n'est pas définie dans la majorité des systèmes numériques, bien que certains la définissent comme étant x.
L'arithmétique modulaire, fut pour la première fois étudiée par Carl Friedrich Gauss à la fin du dix-huitième siècle, et appliquée à la théorie des nombres, à l' algèbre abstraite et à la cryptographie.
Les opérations arithmétiques fondamentales sont effectuées par de nombreux ordinateurs en arithmétique modulaire, modulo 2b (b étant le nombre de bits utilisés pour représenter les données).
Ceci intervient les langages de programmation tel que le langage C; où par exemple les opérations arithmétiques sur les nombres entiers de type int sont prises modulo 232, sur la plupart des ordinateurs.
Deux entiers a et b sont dits congruents modulo n, ce qui s'écrit
En algèbre abstraite, il apparaît que l'arithmétique modulaire est un cas particulier d'un anneau quotient formé à partir d'un anneau modulo un idéal. À partir de la dernière des quatre conditions équivalentes, nous déduisons que est l'anneau quotient de par l'idéal , et est souvent noté .
Si a et b sont des entiers, l'équation de congruence
Posons b=1. La proposition précédente est équivalente à l'affirmation que les éléments inversibles de l'anneau sont précisément les éléments [a]n tels que a et n n'ont aucun diviseur en commun non trivial (sont premiers entre eux). Ainsi,
Définition de Modulo
Implémentation de la fonction mod
Applications de l'arithmétique modulaire
Congruence modulo
si l'une des conditions équivalentes suivantes est vérifiée :
Par exemple
C'est une relation d'équivalence, et la classe d'équivalence de l'entier a est notée [a]n (ou a + nZ ou a mod n, bien que cette dernière notation soit ambiguë). Cette relation d'équivalence a une importante propriété: si
alors
et
Ceci peut être aussi exprimé de la façon suivante:
et
Ce qui permet de définir une addition et une multiplication sur l'ensemble
de toutes les classes d'équivalence par les règles suivantes:
De cette façon, Zn devient un anneau commutatif à n éléments.
Par exemple, dans l'anneau Z12, nous avons
Le terme « anneau » vient d'ici, parce que les nombres 0, ..., n-1 sont arrangés dans un anneau de la même manière que les chiffres des heures sur une horloge.
a une solution x si et seulement si le plus grand commun diviseur pgcd(a, n) divise b. Pour plus de détails vous pourrez consulter la page concernant le théorème de congruence linéaire. Des systèmes d'équations de congruence plus compliqués avec différentes congruences peuvent être résolus en utilisant le théorème du reste chinois.est un corps si et seulement si n est un nombre premier. Tous les corps finis sont des extensions de ceux-ci.
Un important théorème relatif aux congruences modulo un nombre premier est le petit théorème de Fermat: si p est un nombre premier et a est un entier quelconque, alors
Ce résultat fut généralisé par Euler: pour tout entier strictement positif n et tout entier a premier avec n,
Ressources externes