Théorème des restes chinois

Page d’aide sur la police de caractères Unicode

Cette page contient des caractères spéciaux ou non latins. S’ils s’affichent mal (▯, ?etc.), consultez la page d’aide Unicode.

En mathématiques, 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, initialement établi 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

Exemple de Sun Zi : il y a 23 objets.

Exemple de Sun Zi

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 ») 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 233 ( 2 × 70 + 3 × 21 + 2 × 15 ) {\displaystyle 233\;(2\times 70+3\times 21+2\times 15)} a bien alors pour restes respectifs 2, 3 et 2 dans les divisions par 3, 5 et 7. Enfin, comme 105 (3×5×7) 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].

Astronomie

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 ?

Comptage de paquets

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 ?

La réponse est 785. Les nombres 17, 11 et 6 étant premiers entre eux deux à deux, les solutions sont distantes d'un multiple de 1122 (17×11×6) ; par ailleurs 785 vérifie bien l'énoncé : 785 = 17×46 + 3 = 11×71 + 4 = 6×130 + 5. Il s'ensuit que 785 est bien le plus petit des nombres possibles[8].

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

Système de congruences d'entiers

Théorème

Soient n 1 , , n k {\displaystyle n_{1},\ldots ,n_{k}} des entiers deux à deux premiers entre eux, c'est-à-dire que PGCD {\displaystyle {\text{PGCD}}} ( n i , n j ) = 1 {\displaystyle (n_{i},n_{j})=1} lorsque i j {\displaystyle i\neq j} . Alors pour tous entiers a 1 , , a k {\displaystyle a_{1},\ldots ,a_{k}} , il existe un entier x {\displaystyle x} , unique modulo n = i = 1 k n i {\displaystyle n=\prod _{i=1}^{k}n_{i}} , tel que

{ x a 1 ( mod n 1 ) x a k ( mod n k ) {\displaystyle {\begin{cases}x\equiv a_{1}{\pmod {n_{1}}}\\\quad \vdots \\x\equiv a_{k}{\pmod {n_{k}}}\\\end{cases}}}

Algorithme

Une solution x {\displaystyle x} peut être trouvée comme suit. Pour chaque i, les entiers n i {\displaystyle n_{i}} et n ^ i = n n i = n 1 n i 1 n i + 1 n k {\displaystyle {\hat {n}}_{i}={\frac {n}{n_{i}}}=n_{1}\ldots n_{i-1}n_{i+1}\ldots n_{k}} sont premiers entre eux. D'après le théorème de Bachet-Bézout on peut calculer l'inverse v i {\displaystyle v_{i}\,} de n ^ i {\displaystyle {\hat {n}}_{i}} modulo n i {\displaystyle n_{i}} . Pour cela, on peut utiliser l'algorithme d'Euclide étendu et obtenir des entiers u i {\displaystyle u_{i}\,} et v i {\displaystyle v_{i}\,} tels que u i n i + v i n ^ i = 1 {\displaystyle u_{i}n_{i}+v_{i}{\hat {n}}_{i}=1} . Si on pose e i = v i n ^ i {\displaystyle e_{i}=v_{i}{\hat {n}}_{i}} , alors nous avons

e i 1 ( mod n i ) {\displaystyle e_{i}\equiv 1{\pmod {n_{i}}}\,} et e i 0 ( mod n j ) {\displaystyle e_{i}\equiv 0{\pmod {n_{j}}}\,} pour ji.

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

x = i = 1 k a i e i   , {\displaystyle x=\sum _{i=1}^{k}a_{i}e_{i}~,}

et les autres solutions sont les entiers congrus à x {\displaystyle x} modulo le produit n {\displaystyle n} .

Exemple

L'exemple de Sun Zi, présenté plus haut dans la section histoire, se réduit à

x 2 ( mod 3 ) {\displaystyle x\equiv 2{\pmod {3}}\,}
x 3 ( mod 5 ) {\displaystyle x\equiv 3{\pmod {5}}\,}
x 2 ( mod 7 ) {\displaystyle x\equiv 2{\pmod {7}}\,}

on obtient alors

  • n = 3 × 5 × 7 = 105 {\displaystyle n=3\times 5\times 7=105}
  • n 1 = 3 {\displaystyle {n_{1}}=3} et n ^ 1 = 5 × 7 = 35 {\displaystyle {\hat {n}}_{1}=5\times 7=35} , or 2 n ^ 1 1 ( mod 3 ) {\displaystyle 2{\hat {n}}_{1}\equiv 1{\pmod {3}}} donc e 1 = 70 {\displaystyle e_{1}=70}
  • n 2 = 5 {\displaystyle n_{2}=5} et n ^ 2 = 3 × 7 = 21 {\displaystyle {\hat {n}}_{2}=3\times 7=21} , or n ^ 2 1 ( mod 5 ) {\displaystyle {\hat {n}}_{2}\equiv 1{\pmod {5}}} donc e 2 = 21 {\displaystyle e_{2}=21}
  • n 3 = 7 {\displaystyle n_{3}=7} et n ^ 3 = 3 × 5 = 15 {\displaystyle {\hat {n}}_{3}=3\times 5=15} , or n ^ 3 1 ( mod 7 ) {\displaystyle {\hat {n}}_{3}\equiv 1{\pmod {7}}} donc e 3 = 15 {\displaystyle e_{3}=15}

une solution pour x {\displaystyle x} est alors x = 2 × 70 + 3 × 21 + 2 × 15 = 233 {\displaystyle x=2\times 70+3\times 21+2\times 15=233}

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

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 a i a j ( mod P G C D ( n i , n j ) ) {\displaystyle a_{i}\equiv a_{j}{\pmod {{\rm {PGCD}}(n_{i},n_{j})}}} 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 [ 4 ] {\displaystyle x\equiv -1\;[4]} et x 1 [ 6 ] {\displaystyle x\equiv -1\;[6]} équivaut à : x + 1 {\displaystyle x+1} multiple de 4 {\displaystyle 4} et 6 {\displaystyle 6} c'est-à-dire de PPCM ( 4 , 6 ) = 12 {\displaystyle {\text{PPCM}}(4,6)=12} , ou encore : x 1 ( mod 12 ) {\displaystyle x\equiv -1{\pmod {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

La résolution du système { x r ( mod a ) x s ( mod b ) {\displaystyle \left\{{\begin{array}{l}x\equiv r{\pmod {a}}\\x\equiv s{\pmod {b}}\end{array}}\right.}  , d'inconnue x {\displaystyle x} , passe par le calcul du PPCM de a {\displaystyle a} et b {\displaystyle b} .

Une roue dentée comportant a {\displaystyle a} dents s'engrène dans une autre roue dentée comportant elle b {\displaystyle b} dents. Combien de dents doivent passer pour que sa r {\displaystyle r} -ième dent vienne en coïncidence avec la s {\displaystyle s} -ième dent ?

Le PPCM des deux nombres a {\displaystyle a} et b {\displaystyle b} 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 [ 1 , P P C M ( a , b ) ] {\displaystyle [1,{\rm {{PPCM}(a,b)]}}} . Il y a une solution si PGCD(a, b) divise r – s .

Pour cet engrenage, { x 4 ( mod 15 ) x 10 ( mod 12 ) , PPCM ( 12 , 15 ) = 60 {\displaystyle {\begin{cases}x\equiv 4{\pmod {15}}\\x\equiv 10{\pmod {12}}\end{cases}},{\text{PPCM}}(12,15)=60} pour x [ 1 , 60 ] {\displaystyle x\in [1,60]} , la solution est x = 34 {\displaystyle x=34} .

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

Dans les anneaux Z/nZ

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)

ϕ : Z / n Z Z / n 1 Z × × Z / n k Z α [ n ] ( α [ n 1 ] , , α [ n k ] ) {\displaystyle {\begin{matrix}\phi :&\mathbb {Z} /n\mathbb {Z} &\longrightarrow &\mathbb {Z} /n_{1}\mathbb {Z} \times \cdots \times \mathbb {Z} /n_{k}\mathbb {Z} \\&\alpha [n]&\longmapsto &(\alpha [n_{1}],\dots ,\alpha [n_{k}])\end{matrix}}}

est un isomorphisme d'anneaux.

Par exemple, la table suivante[9] compare Z / 15 Z {\displaystyle \mathbb {Z} /15\mathbb {Z} } et Z / 3 Z × Z / 5 Z {\displaystyle \mathbb {Z} /3\mathbb {Z} \times \mathbb {Z} /5\mathbb {Z} } et chaque paire d'éléments de Z / 3 Z × Z / 5 Z {\displaystyle \mathbb {Z} /3\mathbb {Z} \times \mathbb {Z} /5\mathbb {Z} } apparaît exactement une et seule fois :

x 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
x mod 3 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
x mod 5 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4

Pour le montrer, on remarque d'abord que les deux ensembles finis Z / n Z {\displaystyle \mathbb {Z} /n\mathbb {Z} } et Z / n 1 Z × × Z / n k Z {\displaystyle \mathbb {Z} /n_{1}\mathbb {Z} \times \cdots \times \mathbb {Z} /n_{k}\mathbb {Z} } ont le même nombre d'éléments. Comme ϕ {\displaystyle \phi } 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 α 0 mod n i {\displaystyle \alpha \equiv 0\mod {n_{i}}} pour i = 1 , , k {\displaystyle i=1,\dots ,k} , c’est-à-dire si α {\displaystyle \alpha } est un multiple de chaque ni, alors α 0 mod n {\displaystyle \alpha \equiv 0\mod n} , c’est-à-dire α {\displaystyle \alpha } est un multiple du produit n 1 , , n k {\displaystyle n_{1},\ldots ,n_{k}} . Ceci résulte de l'hypothèse que les n i {\displaystyle n_{i}} 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 n i {\displaystyle n_{i}} et n j {\displaystyle n_{j}} divise a i a j {\displaystyle a_{i}-a_{j}} pour tout couple ( i , j ) {\displaystyle (i,j)} .

Dans un anneau principal

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

f : R / r R R / r 1 R × × R / r k R x m o d r R ( x m o d r 1 R , , x m o d r k R ) {\displaystyle {\begin{matrix}f:&R/rR&\longrightarrow &R/r_{1}R\times \cdots \times R/r_{k}R\\&x\;\mathrm {mod} \,rR&\longmapsto &(x\;\mathrm {mod} \,r_{1}R,\cdots ,x\;\mathrm {mod} \,r_{k}R)\end{matrix}}}

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

u i r i + v i r r i = 1 {\displaystyle u_{i}r_{i}+v_{i}{\frac {r}{r}}_{i}=1}

Fixons ei = vi r / ri. On a :

e i 1 ( mod r i ) e t e i 0 ( mod r j ) {\displaystyle e_{i}\equiv 1{\pmod {r_{i}}}\quad \mathrm {et} \quad e_{i}\equiv 0{\pmod {r_{j}}}}

pour ji.

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

g : R / r 1 R × × R / r k R R / r R ( a 1 m o d r 1 R , , a k m o d r k R ) i = 1 k a i e i m o d r R   . {\displaystyle {\begin{matrix}g:&R/r_{1}R\times \cdots \times R/r_{k}R&\longrightarrow &R/rR\\&(a_{1}\;\mathrm {mod} \,r_{1}R,\cdots ,a_{k}\;\mathrm {mod} \,r_{k}R)&\longmapsto &\sum _{i=1}^{k}a_{i}e_{i}\;\mathrm {mod} \,rR~.\end{matrix}}}

Exemple des polynômes

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.

i { 0 , , n } , P A i ( mod R i ) {\displaystyle \forall i\in \{0,\ldots ,n\},P\equiv A_{i}{\pmod {R_{i}}}}

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 : E i = ( X x 0 ) ( X x 1 ) . . . ( X x i 1 ) ( X x i + 1 ) . . . ( X x n ) ( x i x 0 ) ( x i x 1 ) . . . ( x i x i 1 ) ( x i x i + 1 ) . . . ( x i x n ) . {\displaystyle E_{i}={(X-x_{0})(X-x_{1})...(X-x_{i-1})(X-x_{i+1})...(X-x_{n}) \over (x_{i}-x_{0})(x_{i}-x_{1})...(x_{i}-x_{i-1})(x_{i}-x_{i+1})...(x_{i}-x_{n})}.} 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 P yi modulo Ri. Un tel polynôme P est donné par P = i = 0 n y i E i , {\displaystyle P=\sum _{i=0}^{n}y_{i}E_{i},} ce qu'on peut vérifier par un calcul direct.

Pas dans les anneaux factoriels

La pertinence de cette section est remise en cause. Considérez son contenu avec précaution. Améliorez-le ou discutez-en, sachant que la pertinence encyclopédique d'une information se démontre essentiellement par des sources secondaires indépendantes et de qualité qui ont analysé la question. (6/5/2022)

Le théorème des restes chinois n'a pas lieu en toute généralité dans les anneaux factoriels. Considérons par exemple l'anneau factoriel Z [ X ] {\displaystyle \mathbb {Z} [X]} . Soit p un nombre premier. Alors p est irréductible dans Z [ X ] {\displaystyle \mathbb {Z} [X]} , et est par conséquent premier dans cet anneau. Maintenant, posons a1 = 0, et a2 = 1, tous deux éléments de Z [ X ] {\displaystyle \mathbb {Z} [X]} . Posons aussi n1 = p et n2 = X.

S'il existait un élément a de Z [ X ] {\displaystyle \mathbb {Z} [X]} tel que a = a1 mod n1 et a = a2 mod n2, alors a serait un polynôme dont les coefficients sont multiples de p, mais qui serait aussi égal à 1 + (un multiple de X) ; cela ne se peut.

La raison à cela est que les éléments p et X sont premiers entre eux au sens des anneaux factoriels (i.e., pas de facteur irréductible commun) mais pas au sens des idéaux (voir le résultat pour les anneaux généraux). Les idéaux (p) et (X) ne sont pas premiers entre eux car leur somme n'est pas égale à Z [ X ] {\displaystyle \mathbb {Z} [X]} donc il est impossible d'appliquer le théorème des restes chinois dans ce cas.

Dans les corps munis de valuations indépendantes

Le théorème des restes chinois s'étend de plusieurs façons aux corps munis d'un certain nombre de valuations indépendantes[10],[11], tels que les anneaux factoriels (et a fortiori principaux), les anneaux de Dedekind etc. On le trouve alors sous le nom de « théorème d'approximation faible (en) » :

Soient v 1 , v 2 , , v n {\displaystyle v_{1},v_{2},\ldots ,v_{n}} des valuations discrètes indépendantes d'un corps K {\displaystyle K} , a 1 , a 2 , , a n {\displaystyle a_{1},a_{2},\ldots ,a_{n}} des éléments de K {\displaystyle K} , et k 1 , k 2 , , k n {\displaystyle k_{1},k_{2},\ldots ,k_{n}} des entiers relatifs. Alors il existe x K {\displaystyle x\in K} tel que v i ( x a i ) = k i {\displaystyle v_{i}(x-a_{i})=k_{i}} pour tout i {\displaystyle i} .

Le théorème reste vrai pour les valuations non discrètes, en remplaçant les k i {\displaystyle k_{i}} par des éléments du groupe des valeurs des v i {\displaystyle v_{i}} [10].

Le théorème ne suppose pas que les ai soient éléments d'un anneau, ni que les ki soient positifs. Par contre, même si les valuations sont issues d'un anneau (intègre) A, x ne peut être supposé élément de A.

Voyons ce que le théorème signifie pour les rationnels en général lorsque les ki sont positifs, les valuations en jeu étant les valuations p adiques. Si q dénote un nombre rationnel, convenons ici, par homologie avec le cas entier, que q est multiple d'un entier n si le numérateur de q l'est, et si le dénominateur de q est premier avec n. Convenons encore de noter q 1 = q 2 [ n ] {\displaystyle q_{1}=q_{2}\;[n]} si q 1 q 2 {\displaystyle q_{1}-q_{2}} est multiple de n {\displaystyle n} (on peut facilement vérifier que les principes de base des congruences fonctionnent encore pour cette dȩfinition étendue, à quelques adaptations près).

Le théorème d'approximation faible implique[12] alors que si n1, n2, ... nr sont r entiers premiers deux à deux, et q1, q2, ... qr sont r rationels, alors il existe un rationnel q tel que q = qi mod ni pour tout i (ce qui est loin de se déduire trivialement du théorème des restes chinois[13]).

On va maintenant faire voir que ce théorème implique le théorème des restes chinois dans Z {\displaystyle \mathbb {Z} } , et même dans les anneaux principaux. En fait, il est même un peu plus général, car il fournit un élément x de valuation pi-adique exactement égale aux ki.

Supposons donc que A soit un anneau principal, de corps de fractions K. Avec les notations du début de l'article, si les ni sont décomposés en produit de puissances de facteurs premiers pijci,j, on voit facilement, en répétant éventuellement les ai correspondants, qu'il suffit de supposer que ni est une puissance d'un certain élément premier pi, disons pici.

En notant vi les valuations pi-adiques correspondantes, le théorème d'approximation faible dit qu'il existe un élément x de K tel que vi(x - ai) = ci pour tout i. Notons x = r/s, où r et s sont des éléments de A premiers entre eux. On a donc

r s a i = p i c i q ,   q K , {\displaystyle {r \over s}-a_{i}=p_{i}^{c_{i}}q,\ q\in K,}

les numérateurs et dénominateurs de q n'étant pas multiples de pi. Multiplions cette équation par s, puis regardons la modulo pici :

s a i = r   m o d   p i c i . {\displaystyle sa_{i}=r\ {\rm {mod}}\ p_{i}^{c_{i}}.}

Cela implique que s n'est pas multiple de pi pour tout i, puisque r est premier avec s. Il existe donc t dans A tel que s t = 1   m o d   p 1 c 1 p n c n {\displaystyle st=1\ {\rm {mod}}\ p_{1}^{c_{1}}\cdots p_{n}^{c_{n}}} . En multipliant la congruence précédente par t, on obtient a i = r t   m o d   p i c i {\displaystyle a_{i}=rt\ {\rm {mod}}\ p_{i}^{c_{i}}} pour tout i; donc rt satisfait aux conditions du théorème des restes chinois.

Observons pour finir que le théorème d'approximation faible n'est pas englobé par le théorème chinois dans les anneaux généraux, exposé dans la section suivante, car les idéaux premiers associés aux valuations ne réalisent pas nécessairement la condition de Bezout; un exemple simple est l'anneau factoriel Z [ X ] {\displaystyle \mathbb {Z} [X]} , où l'on a les ideaux premiers < p > {\displaystyle <p>} et < X > {\displaystyle <X>} , p un nombre premier quelconque, mais < p > + < X >≠ Z [ X ] {\displaystyle <p>+<X>\not =\mathbb {Z} [X]} .

Résultat pour les anneaux généraux

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)[14] que le morphisme

R / ( I 1 I k ) R / I 1 × × R / I k x m o d I 1 I k ( x m o d I 1 , , x m o d I k ) {\displaystyle {\begin{matrix}R/(I_{1}\cap \cdots \cap I_{k})&\longrightarrow &R/I_{1}\times \cdots \times R/I_{k}\\x\;\mathrm {mod} \,I_{1}\cap \cdots \cap I_{k}&\longmapsto &(x\;\mathrm {mod} \,I_{1},\cdots ,x\;\mathrm {mod} \,I_{k})\end{matrix}}}

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 :

I 1 I k = σ S k I σ ( 1 ) I σ ( k ) . {\displaystyle I_{1}\cap \cdots \cap I_{k}=\sum _{\sigma \in {\mathfrak {S}}_{k}}I_{\sigma (1)}\cdots I_{\sigma (k)}.}

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[15] I J I J {\displaystyle I\cap J\neq IJ} , et l'on a seulement I J = I J + J I {\displaystyle I\cap J=IJ+JI} , d'où l'expression ci-dessus, avec une somme indexée par le groupe symétrique.

Si R est un anneau commutatif général, rien n'autorise à supposer que les idéaux sont co-premiers, même si R est intègre et que ces idéaux sont premiers. Cependant, on peut se demander si le théorème chinois généralisé (c.-à-d. qui ne suppose pas les ni premiers entre eux, mais impose des conditions sur les ai) aurait lieu.

C'est justement le cas des anneaux de Prüfer (en) et en réalité, cette propriété les caractérise. Plus précisément[16],[17], pour qu'un anneau commutatif intègre soit de Prüfer, il faut et il suffit qu'un système de congruences x = x i   m o d   I i {\displaystyle x=x_{i}{\ {\rm {mod\ }}}I_{i}} admette des solutions dès que x i x j   m o d   ( I i + I j ) . {\displaystyle x_{i}\equiv x_{j}{\rm {\ mod\ }}(I_{i}+I_{j}).}

Évidemment, si les idéaux Ii sont co-premiers, l'idéal Ii + Ij est R tout entier, donc la condition sur xi et xj est toujours vérifiée, et le système de congruence a une solution x. On retrouve bien le théorème chinois, tel qu'exposé au début de cette section.

Applications

Des applications du théorème des restes chinois se rencontrent dans la branche diophantienne 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 P i ( x 1 , x 2 , , x n ) 0 [ m i ] {\displaystyle P_{i}\left(x_{1},x_{2},\ldots ,x_{n}\right)\equiv 0\;\left[m_{i}\right]} avec i { 1 , 2 , , k } {\displaystyle i\in \{1,2,\ldots ,k\}} un système de k {\displaystyle k} congruences, où les P i {\displaystyle P_{i}} sont des polynômes de n {\displaystyle n} variables, et où les modules m i {\displaystyle m_{i}} sont premiers deux à deux. Alors ces congruences sont conjointement solvables si et seulement si chacune d'entre elles est solvable séparément; plus précisément, si m est le produit des modules m i {\displaystyle m_{i}} , chaque n-uplet ( x 1 , x 2 , , x n ) {\displaystyle (x_{1},x_{2},\ldots ,x_{n})} x i {\displaystyle x_{i}} 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 elles 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 P i ( x ) = x a i {\displaystyle P_{i}(x)=x-a_{i}} , on retrouve le théorèmes des restes chinois.

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

Soit P ( x 1 , x 2 , , x n ) 0 [ m ] {\displaystyle P(x_{1},x_{2},\ldots ,x_{n})\equiv 0\;[m]} une congruence, où P {\displaystyle P} est un polynôme de n {\displaystyle n} variables, et supposons que m {\displaystyle m} soit le produit de k {\displaystyle k} modules m i {\displaystyle m_{i}} 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

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 de nombres premiers, 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 habileté, 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 ( x 1 , x 2 , x n ) 0 mod m {\displaystyle P(x_{1},x_{2},\ldots x_{n})\equiv 0\mod m} une congruence, où P {\displaystyle 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 m 1 {\displaystyle P(x'_{1},x'_{2},\ldots ,x'_{n})\equiv 0\mod m_{1}} puis de Q ( x 1 , x 2 , , x n ) 0 mod m 2 {\displaystyle Q(x''_{1},x''_{2},\ldots ,x''_{n})\equiv 0\mod m_{2}} où le polynôme Q à coefficients entiers est égal à

Q ( X 1 , , X n ) = 1 m 1 P ( m 1 X 1 + x 1 , , m 1 X n + x n ) {\displaystyle Q(X_{1},\ldots ,X_{n})={1 \over m_{1}}P(m_{1}X_{1}+x'_{1},\ldots ,m_{1}X_{n}+x'_{n})} .

L'ensemble des solutions est alors { ( x i ) = ( x i + m 1 x i ) ,   ( x i ) S 1 ,   ( x i ) S 2 } , {\displaystyle \{(x_{i})=(x'_{i}+m_{1}x''_{i}),\ (x'_{i})\in S_{1},\ (x''_{i})\in S_{2}\},} S 1 {\displaystyle S_{1}} et S 2 {\displaystyle S_{2}} sont les ensembles de solutions des congruences ci-dessus resp.

Démonstration et exemples

Si la proposée a une solution x i {\displaystyle x_{i}} modulo m, alors cette solution est évidemment une solution modulo m1. On peut donc poser x i = x i + m 1 x i {\displaystyle x_{i}=x'_{i}+m_{1}x''_{i}} , où ( x i ) {\displaystyle (x'_{i})} est une solution de la proposée modulo m1, et x i {\displaystyle x''_{i}} est un nombre entier déterminé par x i {\displaystyle x'_{i}} et x i {\displaystyle x_{i}} . Ainsi, les x i {\displaystyle x''_{i}} vérifient R ( x i ) = 0 mod m , {\displaystyle R(x''_{i})=0\mod m,} avec R = P ( x i + m 1 X i ) . {\displaystyle R=P(x'_{i}+m_{1}X_{i}).} Mais il est facile de voir que tous les coefficients du polynôme R sont multiples de m1. On peut donc simplifier cette dernière congruence par m1, ce qui donne Q ( x i ) = 0 mod m 2 {\displaystyle Q(x''_{i})=0\mod m_{2}} (notations de l'énoncé).

Réciproquement, supposons qu'il existe une solution de la congruence P ( x i ) = 0 mod m 1 , {\displaystyle P(x_{i})=0\mod m_{1},} et une autre de la congruence Q ( x i ) = 0 mod m 2 , {\displaystyle Q(x''_{i})=0\mod m_{2},} Q étant défini à partir de P et ( x i ) {\displaystyle (x_{i})} comme précédemment. Alors en remontant l'argument précédent, on voit que ( x i = x i + m 1 x i ) {\displaystyle (x_{i}=x'_{i}+m_{1}x''_{i})} est une solution de la proposée.

Exemples :

  • Donnons-nous un nombre premier impair p, un entier positif n, et un nombre a premier avec p. Soit à démontrer (sans utiliser de racine primitive modulo p) que a est résidu quadratique modulo pn si c'est un résidu quadratique modulo p (la réciproque est triviale).

On suppose par récurrence le résultat vrai pour n = N > 0, puisqu'il est trivialement vérifié pour n = 1. En faisant

P ( X ) = X 2 a , m 1 = p n et m 2 = p {\displaystyle P(X)=X^{2}-a,\quad m_{1}=p^{n}\quad {\hbox{et}}\quad m_{2}=p}

dans le lemme ci-dessus, on obtient d'abord

P ( x ) = x 2 a 0 mod p n {\displaystyle P(x')=x'^{2}-a\equiv 0\mod p^{n}} ,

qui a bien une solution x {\displaystyle x'} par l'hypothèse de récurrence, d'ailleurs première avec p puisque a {\displaystyle a} l'est. Puis

Q ( x ) = p N x 2 + 2 x x + x 2 a p N 0 mod p {\displaystyle Q(x'')=p^{N}x''^{2}+2x'x''+{x'^{2}-a \over p^{N}}\equiv 0\mod p} ,

qui n'est autre qu'une équation linéaire modulo p, et a donc une solution x {\displaystyle x''} puisque p est premier avec 2 x {\displaystyle 2x'} . Donc la congruence x 2 a 0 {\displaystyle x^{2}-a\equiv 0} a lieu pour le modulo m 1 m 2 = p n + 1 {\displaystyle m_{1}m_{2}=p^{n+1}} , et pour tout modulo p k {\displaystyle p^{k}} en général.

  • Tout entier a congru à 1 modulo 8 est résidu quadratique modulo 2n, n N {\displaystyle n\in \mathbb {N} } (réciproque immédiate pour n > 2 et a impair).

La séparation m 1 = 2 n 1 {\displaystyle m_{1}=2^{n-1}} et m 2 = 2 {\displaystyle m_{2}=2} mène à une tautologie. Mais en observant que le résultat est immédiat pour n 3 {\displaystyle n\leq 3} , les carrés impairs étant toujours congrus à 1 modulo 8, on prend la séparation m 1 = 2 n 2 {\displaystyle m_{1}=2^{n-2}} et m 2 = 4 {\displaystyle m_{2}=4} , et on suppose le résultat vrai pour tout n < N {\displaystyle n<N} , avec N > 3 {\displaystyle N>3} . Soit donc n = N {\displaystyle n=N} . L'hypothèse d'induction fournit une solution x , {\displaystyle x',} forcément impaire, de

x 2 a 0 mod 2 n 1 {\displaystyle x'^{2}-a\equiv 0\mod 2^{n-1}} ,

et c'est a plus forte raison une solution modulo m 1 {\displaystyle m_{1}} . On a d'autre part, avec les notations du lemme,

Q ( x ) = 2 n 2 x 2 + 2 x x + x 2 a 2 n 2 2 x x + x 2 a 2 n 2 mod 4 0 x x + x 2 a 2 n 1 0 mod 2. {\displaystyle Q(x'')=2^{n-2}x''^{2}+2x'x''+{x'^{2}-a \over 2^{n-2}}\equiv 2x'x''+{x'^{2}-a \over 2^{n-2}}\mod 4\equiv 0\iff x'x''+{x'^{2}-a \over 2^{n-1}}\equiv 0\mod 2.}

Et comme x {\displaystyle x'} est impair, on a bien une solution x {\displaystyle x''} modulo m 2 {\displaystyle m_{2}} qui permet de conclure.

  • Soit p un nombre premier impair, a Z {\displaystyle a\in \mathbb {Z} } un nombre premier avec p, n un entier positif, et f {\displaystyle f} une forme quadratique entière d'une ou plusieurs variables: sous forme matricielle, f ( x ) = 1 2 x T M x . {\displaystyle f({\mathbf {x} })={1 \over 2}{\mathbf {x} }^{T}M{\mathbf {x} }.} On suppose det ( M ) 0 mod p {\displaystyle \det(M)\not \equiv 0\mod p} . Alors la congruence f ( x ) a mod p n {\displaystyle f({\mathbf {x} })\equiv a\mod p^{n}} est solvable si (et seulement si) la congruence f ( x ) a mod p {\displaystyle f({\mathbf {x} })\equiv a\mod p} l'est.

On prend P ( x ) = 1 2 x T M x a {\displaystyle P({\mathbf {x} })={1 \over 2}{\mathbf {x} ^{T}}M{\mathbf {x} }-a} , et la séparation m 1 = p n {\displaystyle m_{1}=p^{n}} , m 2 = p {\displaystyle m_{2}=p} . Supposons le résultat vrai pour n = N.

L'hypothèse d'induction fournit une solution x , {\displaystyle \mathbf {x} ',} forcément non nulle, de P ( x ) 0 mod p n , {\displaystyle P({\mathbf {x} '})\equiv 0\mod p^{n},} et on a, avec les notations du lemme,

Q ( x ) = P ( x ) p n + x T M x + 1 2 p n x T M x 0 mod p , ou bien x T M x P ( x ) p n mod p . {\displaystyle Q({\mathbf {x} ''})={P({\mathbf {x} '}) \over p^{n}}+{\mathbf {x} '^{T}}M{\mathbf {x} ''}+{1 \over 2}p^{n}{\mathbf {x} ''^{T}}M{\mathbf {x} ''}\equiv 0\mod p,\quad {\hbox{ou bien}}\quad {\mathbf {x} '^{T}}M{\mathbf {x} ''}\equiv -{P({\mathbf {x} '}) \over p^{n}}\mod p.}

Cette dernière congruence, linéaire en x , {\displaystyle \mathbf {x} '',} aura une solution si x T M 0 {\displaystyle {\mathbf {x} '}^{T}M\not \equiv 0} modulo p. Mais cela a lieu puisque x 0 {\displaystyle {\mathbf {x} '}\not \equiv 0} et que M est inversible modulo p. Donc la congruence proposée a une solution modulo p n + 1 {\displaystyle p^{n+1}} , et pour tous les moduli p k {\displaystyle p^{k}} en général.

Observons encore que le théorème des restes chinois peut être vu comme un corollaire de ce lemme, en réduisant la question par induction au cas de deux facteurs m 1 := n 1 {\displaystyle m_{1}:=n_{1}} et m 2 := n 2 {\displaystyle m_{2}:=n_{2}} , et en appliquant la méthode précédente au polynôme P ( X ) = n 2 ( X a 1 ) + n 1 ( X a 2 ) {\displaystyle P(X)=n_{2}(X-a_{1})+n_{1}(X-a_{2})} (avec les notations du début de l'article).

Utilisations

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 intervient dans l'algorithme de test de primalité de Agrawal et Biswas, développé en 1999[18].

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

  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. 2d 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. Louis Frécon, Arithmétiques, Publibook, (lire en ligne), p. 121.
  9. (en) Dexter C. Kozen, Theory of Computation, Springer-Verlag, coll. « Texts in Computer Science », (ISBN 9781846282973, lire en ligne), p. 86, Supplementary Lecture B, Chinese Remaindering
  10. a et b (en) Moshe Jarden (en), « Intersections of local algebraic extensions of a Hilbertian field », dans A. Barlotti et al., Generators and Relations in Groups and Geometries, Dordrecht, Kluwer, coll. « NATO ASI Series C » (no 333), (lire en ligne), p. 343-405, p. 17 du pdf, prop. 4.4, 4.5 et rmk 4.6.
  11. (en) J. W. S. Cassels et A. Fröhlich, Algebraic Number Theory, Academic Press, , 366 p. (ISBN 978-0-9502734-2-6), p. 48.
  12. Les ni sont produits de puissances pi,jci,j où les pi,j sont des facteurs premiers distincts. En appliquant le thm. d'approximation faible aux valuations pi-adiques vi,j correspondantes, on obtient un x tel que vi,j(x - qi) = ci,j. Donc x - qi est multiple de pi,jci,j pour tout j, et donc de ni.
  13. Preuve directe: notons qi = ai / bi, et ci,j = P.G.C.D.(ni, bj). Pour tout i, le théorème chinois fournit des nombres entiers ei tels que ei = 1 mod ni et ei = 0 mod nkck,i, pour tout ki. Alors q = iqi ei satisfait à la question.
  14. N. Bourbaki, Algèbre, chapitres 1 à 3, Springer, (ISBN 978-3-540-33849-9), p. A I.105 et 103.
  15. Un contre-exemple dans l'anneau des matrices triangulaires supérieures de taille 2 est proposé en exercice dans Bourbaki 2007, p. A I.151.
  16. (en) Pete L. Clark, « Commutative Algebra », sur alpha.math.uga.edu, , p. 345-348, Th. 21.1 et 21.6.
  17. (en) László Fuchs (en) et Luigi Salce, Modules over Non-Noetherian Domains, AMS, (lire en ligne), chap. III (« Prüfer Domains »), p. 91-96, Th. 1.1 + ex. 1.9 et 1.10.
  18. Manindra Agrawal et Somenath Biswas, « Primality and Identity Testing via Chinese Remaindering », Proceedings of the 40th Annual Symposium on Foundations of Computer Science, IEEE Computer Society, fOCS '99,‎ , p. 202– (ISBN 9780769504094, lire en ligne, consulté le )

Voir aussi

Articles connexes

Bibliographie

  • Michel Demazure, Cours d'algèbre. Primalité. Divisibilité. Codes., Cassini, coll. « Nouvelle bibliothèque mathématique » (no 1), (ISBN 978-2842250003)

Liens externes

  • icône décorative Portail des mathématiques