MakarovSuites
Français
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Contact et licences

Math

L'horloge modulaire

Un cadran de m marques et une aiguille. L'addition trace une étoile qui se referme après m/pgcd(s, m) coups ; la multiplication, un cycle dont la longueur divise phi(m). Certains modules n'ont aucune racine primitive, et la carte le dit : c'est un théorème, pas une recherche ratée.

L'horloge modulaire — Image réelle de l’application
Image réelle de l’application

Ce qui se passe

L'aiguille avance coup par coup et les marques touchées s'allument ; celles qui restent sombres répondent avant que le panneau ne nomme le pgcd. Le pas 8 sur douze marques trace un triangle ; le pas 5, une étoile sur les douze, car 5 et 12 n'ont pas de facteur commun. En multipliant, la règle change : k → k·g, la longueur du cycle est l'ORDRE de g, et selon Euler cet ordre DIVISE phi(m) - sur dix-sept marques, seules 1, 2, 4, 8 et 16 sont possibles. Une racine primitive est un g dont l'ordre vaut exactement phi(m) ; sur un cadran premier, elle parcourt toutes les marques sauf zéro. Combien y en a-t-il ? Exactement phi(phi(m)), et le panneau les compte aussi par recherche exhaustive. Et l'essentiel : les racines primitives n'existent pas pour tout module, seulement pour 1, 2, 4, p^k et 2p^k. Pour 8, 12, 15, 16, 20, 21 ou 24 il n'y en a aucune, et la carte le dit à voix haute plutôt que de ne rien trouver en silence.

Équations du module
Équations
addition :  l'aiguille à la position k passe à k + s (mod m) ;  le cycle se referme après m / gcd(s, m) déplacements et visite TOUTES les marques exactement quand gcd(s, m) = 1
m = 12, s = 8 → 3 marques (un triangle) ;  m = 12, s = 5 → toutes les 12 ;  m = 360, s = 84 → 30
multiplication :  k → k·g (mod m) ;  la longueur du cycle est l'ORDRE de g, et d'après le théorème d'Euler elle divise phi(m)
m = 17 : phi = 16 et les ordres présents sont 1, 2, 4, 8, 16 - rien d'autre ne peut apparaître
une racine primitive est un g dont l'ordre EST phi(m) ; pour m premier, cela signifie un cycle passant par les m − 1 marques non nulles
combien :  exactement phi(phi(m)) quand elles existent -  m = 7 → 2 (la plus petite : 3), m = 11 → 4 (la plus petite : 2), m = 23 → 10 (la plus petite : 5)
QUAND ELLES EXISTENT :  seulement pour m = 1, 2, 4, p^k et 2p^k.  Pour 8, 12, 15, 16, 20, 21, 24 il n'y a AUCUNE racine primitive - un théorème, non une recherche infructueuse
phi est calculé ici, non tabulé :  phi(7) = 6, phi(9) = 6, phi(12) = 4, phi(16) = 8, phi(36) = 12, phi(100) = 40, phi(1000) = 400

Autres expériences

Retour au catalogue
Le crible et la densité des nombres premiers — Image réelle de l’application

Math

Le crible et la densité des nombres premiers

Faites le crible à la main sur des tuiles numérotées : prenez le diviseur suivant, prédisez où commence sa vague et regardez-la barrer ses multiples - ceux déjà barrés sont seulement touchés. À côté, pi(x) compté face aux approximations x/ln x et Li(x).

RSA sur de petits nombres — Image réelle de l’application

Math

RSA sur de petits nombres

Un message traverse deux puissances modulaires sur une table de bois et de laiton. Exécutez les étapes entières, explorez la permutation et cherchez un diviseur avec un compteur exact.

Hachages et casiers — Image réelle de l’application

Math

Hachages et casiers

Une table de tri : les clés sont des étiquettes en papier, un chariot hache chacune et la laisse tomber dans le casier que son hachage nomme, une collision est deux clés différentes dans un même casier. Le hachage est une fonction nommée – somme des codes, polynôme en base 31, FNV-1a – ou l’oracle uniforme derrière la courbe des anniversaires. Modifiez une clé, suivez son hachage caractère par caractère, basculez un bit et comptez les bits du hachage qui bougent ; comparez deux fonctions sur les mêmes clés.