• Aucun résultat trouvé

La discussion concernant le fait que le choix de l’ensemble C M ne modifie pas la défini- défini-tion de ϕ vaut également pour l’applicadéfini-tion inverse ϕ1définie sur Im pϕq

1 .1 Les Systèmes de Représentation par les Restes

Remarque 1.2 La discussion concernant le fait que le choix de l’ensemble C M ne modifie pas la défini- défini-tion de ϕ vaut également pour l’applicadéfini-tion inverse ϕ1définie sur Im pϕq

M1i  mi l’inverse deM mi  

mi dansZ{miZ, alors nous avons :

χ1 vk,k Mvppx1, . . . , xnqq  a  n ¸ i1 σv0,miv  xiM1 i   mi  Mi mod M  . (1.3) Comme ϕ est injective, le Théorème 1.1 fournit donc un moyen de créer un système de représentation univoque des éléments de tout ensemble de repré-sentants des classes de congruence modulo M par des uplets de reprérepré-sentants de ces mêmes éléments dans des anneaux congruentiels construits à partir des facteurs de M. Comme souligné dans la preuve du théorème, le choix des re-présentantsCMne joue pas sur la définition de ϕ. En pratique, il est courant de travailler avec un intervalleva, a Mv. L’intérêt est de couvrir un ensemble de données sur lesquelles des opérations arithmétiques peuvent être effectuées, et qui présente donc une certaine stabilité pour l’addition et la multiplication.

L’entier M n’est généralement pas une donnée initiale dans la construction d’un RNS, mais seulement un paramètre : pour tout jeu de donnéesE € Z, un système de représentation RNS des éléments deE se construit avant tout par le choix de l’ensemble des moduli mi.

Remarque 1.2 La discussion concernant le fait que le choix de l’ensembleCM ne modifie pas la défini-tion de ϕ vaut également pour l’applicadéfini-tion inverse ϕ1définie sur Impϕq.

Le Théorème fondamental 1.1 désormais posé, il est possible de définir formellement les systèmes de représentation RNS.

Définition 1.2 Soit E „ Z un ensemble fini d’entiers, et ME  maxt|x  y| | px, yq P E2u son diamètre. Un système de représentation RNS des éléments de E est la donnée d’un ensemble de n P N entiers B  tm1, . . . , mnu, dénommés moduli, vérifiant M  ppcmpm1, . . . , mnq ¥ ME, et de l’application de conversion ψE,B consistant en la composition d’applications suivante :

ψE,B : E ρÑ Z{MZM ϕB

Ñ Z{m1Z  . . .  Z{mnZ

x ÞÑ |x|m ÞÑ |x|m1, . . . ,|x|mn . (1.4) La taille de l’espace d’états du système est défini par MB  ±n

i1mi, et l’intervalle

v0, Mv est dénommé intervalle dynamique.

L’ensembleB est appelé base RNS. Deux bases RNSB etB1 sont dites premières entre elles, ou copremières, si, et seulement si, les entiers MB et MB1 sont premiers entre eux. Tout anneau quotientZ{miZ pourra aussi être dénommé « canal » deB. Exemple 1.1 Le problème énoncé dans « Sun Zi Suanjing » suggère l’utilisation du RNS formé

par la baseB  t3, 5, 7u. L’intervalle dynamique du système est v0, 105v. Un tel sys-tème permet de représenter de manière univoque tout ensemble d’entiersE de diamètre maximal 105.

Par exemple, en choisissant basiquementE  v0, 105v, la représentation du nombre 23 est donnée par :

ψE,Bp23q  ϕB105p23qq  ϕBp|23|105q  p|23|3,|23|5,|23|7q  p|2|3,|3|5,|2|7q . L’unique solution du problème de « Sun Zi Suanjing » dans l’ensembleE est donc 23.

La construction de l’application ϕB de la Définition 1.2 se fait en pratique par la bijection naturelle entre Z{MZ et CM  v0, Mv. Il est cependant tou-jours possible de choisir CM tel que E € CM. L’application ρ est évidem-ment injective puisque CardpEq   M. Ainsi, par le Théorème 1.1 des restes chinois et la condition M ¥ ME, l’application ψE,B  ϕB ρM est injective, et fournit la représentation univoque de tout élément de E par ses résidus dans Z{m1Z  . . .  Z{mnZ. La conversion inverse est donc bien définie sur

ImψE,BpEq, et E  ψ1

E,B ImψE,BpEq. De plus, si les moduli sont choisis de ma-nière à ce qu’ils soient premiers entre eux deux à deux, alors d’après le Théo-rème 1.1 l’application ϕBest bijective, et la Formule 1.3 donne une construction effective de ϕB. Dans la mesure où la non surjectivité de ϕBne nous intéressera pas pour définir un RNS, la convention suivante est établie pour la suite : Convention 1.1 Les moduli d’une base RNS sont, sauf mention contraire, premiers entre eux deux à

deux.

Remarque 1.3 De la convention précédente il découle alors que tout sous-ensemble d’une base RNS est une base RNS. Il en va de même pour la conjonction de deux bases copremières.

La condition de coprimalité des moduli n’est pas réellement limitante. L’in-térêt des RNS repose en grande partie sur la flexibilité dans le choix des tailles et formes des moduli sélectionnés. Il est peu utile d’augmenter l’espace d’états du système en rajoutant à la base B des produits des facteurs de ces moduli. Cela ne changerait pas l’intervalle dynamique v0, Mv. De plus, introduire une redondance en procédant de cette manière revient simplement à utiliser une répétition de certains résidus. Or il se trouve, comme il sera vu par la suite, qu’il est beaucoup plus utile, dans le cadre de la création de systèmes RNS re-dondants, de rajouter des moduli supplémentaires premiers à ceux de la base initiale. Dans de tels systèmes, les résidus redondants ont l’avantage de conte-nir une information partagée avec l’ensemble des résidus du système RNS principal, ce qui se révèle pratique lorsqu’il s’agit par exemple de construire des procédures de détection d’erreurs (cf. Chapitre 2).

Les moduli d’un RNS jouant des rôles identiques, un RNS est intrinsèque-ment un système de représentation non positionnel. Les résidus n’ont pas de relation d’interdépendance, et n’ont donc pas de poids particulier l’un envers l’autre. De ce fait, l’opération de comparaison sur l’unique donnée de résidus se révèle compliquée. Ceci explique que des opérations classiques comme la di-vision sur les entiers et la réduction modulaire sont difficile à mettre en œuvre dans ces systèmes, et peuvent nécessiter de passer par une représentation po-sitionnelle alternative comme le Mixed Radix System (MRS, cf. 1.2.4), ou bien d’utiliser des procédures spécifiques qui permettent de changer de base RNS.

1.1.2 Notations et termes spécifiques aux RNS

Afin de faciliter les discussions à venir, nous établissons une liste de nota-tions et de termes fréquemment utilisés par la suite. Dans un premier temps, la convention suivante est établie :

Convention 1.2 Pour tout doublet d’entiers pa, bq P Z, la notation |a|b désigne indifféremment le représentant de a dansZ{bZ et l’entier σv0,bvp|a|bq  a mod b P v0, bv.

fréquem-ment deux bases RNS copremières ayant respectivefréquem-ment n et ` moduli : B  tm1, . . . , mnu et B1  tm1

1, . . . , m1`u. Les notations qui suivent concernent direc-tement la base B mais valent également pour B1 et toute autre base RNS qui pourra être introduite si besoin.

base RNS :

ù tout ensemble d’entiers premiers entre eux deux à deux

modulus (pluriel : moduli) :

ù tout élément d’une base RNS (e.g. m1 est un modulus deB)

bases copremières :

ù tout ensemble de bases RNS dont la conjonction est une base RNS

canal deB :

ù tout quotient Z{miZ où mi est un modulus de B M, M1 ù M  ±n i1mi, M 1  ±` i1m 1 i intervalle dynamique deB : ù v0, Mv Mi, pour tout iP v1, nw : ù M mi ρM :

ù fonction donnant la classe d’un entier modulo M ρM : Z Ñ Z{MZ

x ÞÑ |x|M

résidu xi, pour tout i P v1, nw et tout x P v0, Mv :

ù ρmipxq  |x|mi comme élément de Z{miZ ou entier de v0, miv (cf. Convention 1.2)

a1

b, pour toutpa, bq P Z  Z avecpgcdpa, bq  1 :

ù l’inverse de ρbpaq dans Z{bZ, ou plus simplement son représentant

dansv0, bv (cf. Convention 1.2)

xB, pour tout xP v0, Mv :

ù le vecteur px1, . . . , xnq des résidus de x dansB

ξx,i,B, pour tout iP v1, nw et tout x P v0, Mv : ùx

iM1i 

mi

sumBpxBq, pour tout x P v0, Mv : ù °n

i1ξx,i,BMi

κBpxBq, pour tout x P v0, Mv : ù tsumBpxBq

ϕB :

ù l’isomorphisme

ϕB : Z{MZ Ñ Z{m1Z  . . .  Z{mnZ

|x|M ÞÑ xB |x|m1, . . . ,|x|mn Z{MZ est, sauf mention contraire, identifié à v0, Mv

ψE,B :

ù fonction de conversion dans le RNS, défini par la base B, des élé-ments d’un ensembleE

ψE,B : E Ñ Z{m1Z  . . .  Z{mnZ

x ÞÑ xB |x|m1, . . . ,|x|mn

Il suit immédiatement des notations précédentes la réécriture de l’Équa-tion (1.3) qui, pour une base RNS B, permet de reconstruire tout entier x P v0, Mv depuis ses résidus xB :

@x P v0, Mv, x ¸n i1  xiM1i  mi Mi mod M sumBpxBq  κBpxBq  M. (1.5) Précisément, l’Équation (1.5) donne la construction de l’application ψv0,Mv,1 B de la Définition 1.2 d’un RNS avec E  v0, Mv. De plus, vu la Convention 1.2, nous pouvons identifier ψv0,Mv,B et ϕB. Ainsi, nous obtenons la formule sui-vante que nous utiliserons souvent par la suite, où xB sont les résidus d’un élément x quelconque de l’intervalle dynamique deB :

ϕ1

B pxBq  sumBpxBq  κBpxBq  M P v0, Mv. (1.6)

1.2 RNS et opérations arithmétiques élémentaires, éléments