Théorème des restes chinois

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Crystal Clear app fonts.svg Cette page contient des caractères spéciaux ou non latins. Si certains caractères de cet article s’affichent mal (carrés vides, points d’interrogation…), consultez la page d’aide Unicode.

Le théorème des restes chinois est un résultat d'arithmétique modulaire traitant de résolution de systèmes de congruences. Ce résultat, établi initialement pour ℤ/nℤ, se généralise en théorie des anneaux. Ce théorème est utilisé en théorie des nombres.

Fragments d'histoire[modifier | modifier le code]

La forme originale du théorème apparait sous forme de problème dans le livre de Sun Zi, le Sunzi suanjing (en), datant du IIIe siècle[1]. Il est repris par le mathématicien chinois Qin Jiushao dans son ouvrage le Shùshū Jiǔzhāng (« Traité mathématique en neuf chapitres (en) ») publié en 1247. Le résultat concerne les systèmes de congruences (voir arithmétique modulaire).

Soient des objets en nombre inconnu. Si on les range par 3 il en reste 2. Si on les range par 5, il en reste 3 et si on les range par 7, il en reste 2. Combien a-t-on d'objets ?

Cette énigme est parfois associée au général Han Xin (en) comptant son armée[2].

La résolution proposée par Sun Zi pour ce problème est la suivante :

Multiplie le reste de la division par 3, c’est-à-dire 2, par 70, ajoute-lui le produit du reste de la division par 5, c’est-à-dire 3, avec 21 puis ajoute le produit du reste de la division par 7, c'est-à-dire 2 par 15. Tant que le nombre est plus grand que 105, retire 105.

Mais la solution n'explique qu'imparfaitement la méthode utilisée. On peut cependant remarquer que :

  • 70 a pour reste 1 dans la division par 3 et pour reste 0 dans les divisions par 5 et 7 ;
  • 21 a pour reste 1 dans la division par 5 et pour reste 0 dans les divisions par 3 et 7 ;
  • 15 a pour reste 1 dans la division par 7 et pour reste 0 dans les divisions par 3 et 5.

Le nombre 2 × 70 + 3 × 21 + 2 × 15 a bien alors pour restes respectifs 2, 3 et 2 dans les divisions par 3, 5 et 7. Enfin, comme 105 a pour reste 0 dans les trois types de division, on peut l’ôter ou l'ajouter autant de fois que l'on veut sans changer les valeurs des restes. La plus petite valeur pour le nombre d'objets est alors de 23.

On retrouve ce problème presque à l'identique en 1202 dans le Liber Abbaci de Fibonacci[3] dans le chapitre XII qui concerne les problèmes et énigmes où l'on trouve également le problème des lapins de la suite de Fibonacci. Le problème avait aussi été étudié par Ibn al-Haytham (Alhazen) – voir l'article Mathématiques arabes – dont Fibonacci a pu lire les œuvres.

Euler[4] s'est également intéressé à cette question, ainsi que Gauss[5].

Selon Ulrich Libbrecht (de)[6], la motivation de ce type de calcul chez les Chinois serait l'astronomie. On peut en effet penser que les Chinois, férus de calculs astronomiques, puissent être intéressés par des concordances de calendrier et qu'ils aient été amenés très tôt à s'intéresser à des questions du type :

Dans combien de jours la pleine lune tombera-t-elle au solstice d'hiver ?

Si la question se pose alors qu'il reste 6 jours avant le solstice d'hiver et 3 jours avant la pleine lune, la question se traduit par :

Existe-t-il un entier x tel que le reste de la division de x par 365 donne 6 et le reste de la division de x par 28 donne 3 ?

Mais selon Daumas et al.[7], il s'agirait plus probablement de problèmes associés à des comptages par paquets, peut-être d'origine divinatoire.

Enfin, il serait dommage de ne pas présenter ce problème concernant des pirates et un trésor, très fréquemment cité pour illustrer le théorème des restes chinois :

Une bande de 17 pirates possède un trésor constitué de pièces d'or d'égale valeur. Ils projettent de se les partager également, et de donner le reste au cuisinier chinois. Celui-ci recevrait alors 3 pièces. Mais les pirates se querellent, et six d'entre eux sont tués. Un nouveau partage donnerait au cuisinier 4 pièces. Dans un naufrage ultérieur, seuls le trésor, six pirates et le cuisinier sont sauvés, et le partage donnerait alors 5 pièces d'or à ce dernier. Quelle est la fortune minimale que peut espérer le cuisinier s'il décide d'empoisonner le reste des pirates ?

L'arithmétique modulaire a rendu ce type de problème plus facile à résoudre.

Système de congruences d'entiers[modifier | modifier le code]

Théorème[modifier | modifier le code]

Soient , …, des entiers deux à deux premiers entre eux (ce qui veut dire pgcd (ni , nj) = 1 lorsque ij). Alors pour tous entiers , …, , il existe un entier , unique modulo , tel que

Une solution x peut être trouvée comme suit :

Pour chaque i, les entiers et sont premiers entre eux, et d'après le théorème de Bachet-Bézout on peut trouver (en utilisant par exemple l'algorithme d'Euclide étendu) des entiers et tels que ( est l'inverse de modulo ). Si on pose , alors nous avons

et

pour ji.

Une solution particulière de ce système de congruences est par conséquent

et les autres solutions sont les entiers congrus à ce modulo le produit .

Exemple[modifier | modifier le code]

Le problème des soldats se réduit à

on obtient alors

  • et , or donc
  • et , or donc
  • et , or donc

une solution pour x est alors

et les solutions sont tous les entiers congrus à 233 modulo 105, c'est-à-dire à 23 modulo 105.

Généralisation à des nombres non premiers entre eux[modifier | modifier le code]

Article détaillé : Congruence linéaire.

Les systèmes de congruences peuvent être résolus même si les ni ne sont pas premiers entre eux deux à deux. Le critère précis est le suivant :

une solution x existe si et seulement si pour tous i et j. L'ensemble des solutions x forme alors une classe de congruence modulo le PPCM des ni.

Exemple : le système x ≡ –1 mod 4 et x ≡ –1 mod 6 équivaut à : x + 1 multiple de 4 et 6 c'est-à-dire de PPCM(4, 6) = 12, ou encore : x ≡ –1 mod 12.

Une méthode de résolution de tels systèmes est la méthode chinoise, qui consiste à se ramener à des modules premiers entre eux deux à deux (dans l'exemple ci-dessus : les modules 4 et 3). Une autre est la méthode des substitutions successives.

Interprétation mécanique[modifier | modifier le code]

La résolution du système suivant :

d'inconnue passe par le calcul du PPCM de et .

Ce problème mathématique est une modélisation d'un problème sur des engrenages: une roue dentée comportant dents s'engrène dans une tringle horizontale. Combien de dents doivent passer pour que sa -ième dent vienne en coïncidence avec la -ième dent d'une autre roue dentée comportant elle dents ?

Le PPCM des deux nombres et est ce qui permet de comprendre le comportement périodique de ce système : c'est le nombre de dents séparant deux contacts de même congruence. On peut donc trouver la solution, s'il y en a une, dans l'intervalle . Il y a une solution si PGCD(a, b) divise r – s.

GeoplanPpcm.png

On peut comprendre simplement pourquoi le calcul sur des roues dentées fait intervenir de l'arithmétique modulaire, en remarquant que l'ensemble des dents d'une roue en comptant n peut être paramétré par l'ensemble des racines n-ièmes de l'unité, qui a une structure de groupe naturellement isomorphe à celle de ℤ/n.

Résultat pour les anneaux[modifier | modifier le code]

Dans les anneaux Z/nZ[modifier | modifier le code]

Le théorème chinois a également une version plus abstraite : si n1, …, nk sont deux à deux premiers entre eux alors, en notant n le PPCM des ni, c'est-à-dire dans le cas présent le produit des ni, l'application (à valeurs dans l'anneau produit)

est un isomorphisme d'anneaux.

Pour le montrer, on remarque d'abord que les deux ensembles et ont le même nombre d'éléments. Comme est un morphisme d'anneaux, il suffit donc de démontrer qu'il est injectif pour en déduire que c'est un isomorphisme. Pour cela, il suffit de montrer que son noyau est réduit à 0 : si pour , c’est-à-dire si est un multiple de chaque ni, alors , c’est-à-dire est un multiple du produit n1, …, nk. Ceci résulte de l'hypothèse que les ni sont premiers entre eux deux à deux.

Dans le cas où les ni ne sont pas deux à deux premiers entre eux, le morphisme ci-dessus n'est qu'injectif. Il existe une solution au problème initial si et seulement si les données sont dans l'image, c'est-à-dire que le pgcd de ni et nj divise ai – aj pour tout couple (i, j).

Dans un anneau principal[modifier | modifier le code]

Pour un anneau principal R, le théorème des restes chinois prend la forme suivante : Si r1, …, rk sont des éléments de R qui sont premiers entre eux deux à deux, et r désigne le produit r1rk, alors le morphisme d'anneaux

est un isomorphisme.

L'isomorphisme inverse peut être construit comme ceci. Pour chaque i, les éléments ri et r / ri sont premiers entre eux et par conséquent, il existe des éléments ui et vi dans R tels que

Fixons ei = vi r / ri. On a :

pour ji.

Alors l'inverse de f est le morphisme construit à l'aide des idempotents ei (mod r) :

Exemple des polynômes[modifier | modifier le code]

Le théorème des restes chinois permet de résoudre explicitement tout système de congruences dans l'anneau euclidien R = K[X] des polynômes sur un corps K, c'est-à-dire tout système de la forme.

où les données sont des polynômes Ri deux à deux premiers entre eux et des polynômes Ai, et l'inconnue est le polynôme P.

L'interpolation lagrangienne correspond au cas particulier où les Ri sont de la forme X – xi et les Ai sont constants, et fournit la solution P de degré ≤ n . Plus explicitement, si x0, x1, … , xn sont n + 1 éléments de K distincts deux à deux, on prend pour Ei les polynômes interpolateurs de Lagrange, définis par : Pour j différent de i, Ei est divisible par Rj, de sorte que Ei ≡ 0 modulo Rj. Par ailleurs, modulo Ri, X ≡ xi, de sorte que Ei ≡ 1 modulo Ri.

Pour n + 1 éléments quelconques y0, y1, … , yn de K, dire qu'un polynôme P est tel que P(xi) = yi pour tout i, est équivalent à dire que Pyi modulo Ri. Un tel polynôme P est donné par ce qu'on peut vérifier par un calcul direct.

Dans les corps munis de valuations indépendantes[modifier | modifier le code]

Le théorème des restes chinois s'étend de plusieurs façons aux corps munis d'un certain nombre de valuations indépendantes (voir [[8]]). On le trouve alors sous le nom de "théorème d'approximation faible":

Soient v1, v2, ... vn n valuation discrètes indépendantes d'un corps K, a1, a2, ... an n éléments de K, et k1, k2, ... , kn n entiers relatifs. Alors il existe xK tel que vi(x - ai) = ki pour tout i.

Si par exemple K est le corps des rationnels et que les vi sont n valuations pi-adic standard, on voit que ce théorème est un cas particulier du théorème des restes chinois, en faisant ni = piki (avec les notations du début de l'article).

Le théorème reste vrai pour les valuations non discrètes, en remplaçant les ki par des éléments du groupe des valeurs des vi (voir ref. cit.).

Résultat pour les anneaux généraux[modifier | modifier le code]

Si R est un anneau et I1, …, Ik des idéaux bilatères de R deux à deux premiers entre eux (ce qui signifie que Ii + Ij = R lorsque ij), on démontre (par récurrence sur k)[9] que le morphisme

est un isomorphisme et que l'idéal intersection de ces idéaux est égal à la somme de tous leurs produits dans n'importe quel ordre :

Si l'anneau est commutatif, tous ces produits sont égaux et l'intersection des Ii est simplement égale à leur produit. Mais s'il ne l'est pas, pour deux idéaux bilatères I et J premiers entre eux, en général[10] , et on a seulement , d'où l'expression ci-dessus, avec une somme indexée par le groupe symétrique.

Applications notoires[modifier | modifier le code]

Des applications notoires du théorème des restes chinois se rencontrent dans la branche diophantine de la théorie des congruences.

Le théorème suivant peut être vu soit comme une application du théorème des restes chinois, soit comme une généralisation de ce théorème.

Soit Pi(x1, x2, ... , xn) ≡ 0 mod mi (i = 1,2, ... k) un système de k congruences, où les Pi sont des polynômes de n variables, et où les modules mi sont premiers deux à deux. Alors ces congruences sont conjointement solvables si et seulement si chacune d'entre elle est solvable séparément; plus précisément, si m est le produit des modules mi, chaque n-uplet (x1, x2, ... , xn)xi est une solution de la i-ème congruence, détermine bijectivement un n-uplet (y1, y2, ... , yn) modulo m satisfaisant toutes les congruences à la fois.

De plus, si l'on convient d'appeler "primitive" une solution (x1, x2, ... , xn) d'une congruence telle que chacun des xi soit premier avec le module mi, alors le théorème précédent reste vrai si on le restreint aux solutions primitives: Les congruences sont conjointement primitivement solvables si et seulement si chacune d'entre elle l'est séparément, et il y a bijection entre les n-uplets de solutions primitives modulo mi, et ceux de solutions primitives conjointes modulo m.

La preuve de ce théorème est simple : une solution conjointe induit évidemment une solution pour chaque équation séparément, et inversement, à partir de telles solutions, on reconstruit une solution conjointe avec le théorème des restes chinois.

Évidemment, si Pi(x) = x - ai, on retrouve le théorèmes des restes chinois.

Un autre théorème notoire est le suivant:

Soit P(x1, x2, ... , xn) ≡ 0 mod m une congruence, où P est un polynôme de n variables, et supposons que m soit le produit de k modules mi premiers deux à deux. Alors cette congruence est solvable (resp. primitivement solvable) modulo m si et seulement si elle est solvable (resp. primitivement solvable) modulo chaque mi. À nouveau, il y a bijection entre les solutions de la première congruence modulo m et les k-uplets de solutions de congruences modulo chaque mi. La preuve est similaire à celle du théorème précédent.

Grâce à ce dernier théorème, la solution d'une congruence modulo m se réduit a celle des solutions modulo chacune des puissances maximales de facteurs premiers composant m.

Parmi les nombreuses applications du théorème des restes chinois à la théorie des nombres, citons encore la démonstration de la multiplicativité de l'indicatrice d'Euler.

Une méthode connexe[modifier | modifier le code]

On a vu qu'une des applications majeures du théorème des restes chinois résidait dans le fait que la résolution d'une congruence modulo un nombre m, produit de deux nombres m1 et m2, se réduisait à la résolution de cette même congruence modulo m1 et m2, lorsque m1 et m2 sont premiers entre eux. Typiquement, les mi sont des puissances d'un nombre premier, le théorème chinois étant poussé le plus loin possible. Cela simplifie déjà considérablement les problèmes théoriques et pratiques, mais comment réduire la question plus encore ? La technique suivante est déjà utilisée par Gauss dans les Disquisitiones arithmeticae. Pratiquée avec habilité, le plus souvent par le biais d'une descente infinie, elle permet une analyse fine des cas où les nombres m1 et m2 ne sont pas premiers entre eux, et de ramener finalement la question aux moduli premiers.

Soit P(x1, x2, ... , xn) ≡ 0 mod m une congruence, où P est un polynôme de n variables, et m est le produit de m1 et m2, non nécessairement premiers entre eux. La résolution de cette congruence équivaut à la résolution successive de P(x'1, x'2, ... , x'n) ≡ 0 mod m1, puis de Q(x"1, x"2, ... , x"n) ≡ 0 mod m2, où le polynôme Q à coefficients entiers est égal à

Utilisations[modifier | modifier le code]

Le théorème des restes chinois est largement utilisé en arithmétique et en algèbre, notamment sous sa forme générale dans l'arithmétique des corps, que ce soit au cours de démonstrations théoriques aussi bien que dans des cas pratiques.

Dans le domaine de l'algorithmique, il est par exemple utilisé dans l'algorithme RSA en cryptographie, et il intervient aussi dans l'algorithme de Silver-Pohlig-Hellman pour le calcul du logarithme discret.

Il permet de représenter de grands nombres entiers comme n-uplets de restes de divisions euclidiennes. Sous cette forme, des opérations comme l'addition ou la multiplication peuvent se faire en parallèle en temps constant (pas de propagation de retenue). Par contre, la comparaison ou la division ne sont pas triviales.

Notes et références[modifier | modifier le code]

  1. Selon A. Zachariou, le théorème des restes chinois aurait été découvert antérieurement par les Grecs (Paulo Ribenboim, Nombres premiers et records, PUF, 1re éd., 1994, p. 24).
  2. (en) Man-Keung Siu, « “Algorithmic mathematics” and “Dialectics mathematics” », Proc. 2nd International Conference on the Teaching of Mathematics, 2002, p. 6.
  3. (la) Leonardus « Pisanus », Liber Abbaci, Tipogr. delle Scienze Matematiche e Fisiche, 1857, p. 304 (S. 311).
  4. (la) L. Euler, « Solutio problematis arithmetici de inveniendo numero, qui per datos numeros divisus relinquat data residua », Commentarii academiae scientiarum Petropolitanae, vol. 7, 1740, p. 46-66, ou bien Opera Omnia, Series 1, vol. 2, p. 18-32.
  5. (la) C. F. Gauss, Disquisitiones arithmeticae, 1801, p. 23, §32. Reproduction de la traduction Recherches arithmétiques, Gabay, 1989, p. 15.
  6. (en) Ulrich Libbrecht, Chinese Mathematics in the Thirteenth Century, 1973.
  7. Denis Daumas, Michel Guillemot, Olivier Keller, Raphaël Mizrahi et Maryvonne Spiesser, Le théorème des restes chinois, Textes, commentaires et activités pour l’arithmétique au lycée, sur le site CultureMath de l'ENS, § 1. Le problème des restes chinois : Questions sur ses origines.
  8. (en) Moshe Jarden, Intersections of local algebraic extensions of a Hilbertian field, p. 17, prop. 4.4, 4.5 et rmk 4.6. lire en ligne (article no 56).
  9. N. Bourbaki, Algèbre, chapitres 1 à 3, Springer, 2007 (ISBN 978-3-540-33849-9) p. A I.105 et 103.
  10. Un contre-exemple dans l'anneau des matrices triangulaires supérieures de taille 2 est proposé en exercice dans Bourbaki, op. cit., p. A I.151.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Lien externe[modifier | modifier le code]

(en) Chinese Remainder Theorem sur cut-the-knot