Indicatrice d’Euler
1) Cyclicit´e
a) Il suffit de montrer que pour tout (m, n)∈Z2,fg(m+n)=fg(m).fg(n).
Or soit (m, n)∈Z2,fg(m+n)=gm+n=gm.gn=fg(m).fg(n), d’o`u la conclusion.
b) L’´el´ement gengendre le groupe Gsi, et seulement si, pour tout h∈G, il existe un n∈Z
tel que h=gndonc si, et seulement si, pour tout h∈G, il existe un n∈Ztel que h=fg(n)
donc si, et seulement si, fgest surjective.
c) Le morphisme fgn’est pas injectif, si et seulement si, ker(fg)≠{0}ssi il existe un n≠0
tel que gn=essi gest d’ordre fini dans (G, ⋅).
Si en outre fgest surjective gest d”ordre fini et engendre (G, ⋅)donc le groupe Gest
fini. C’est alors un groupe cyclique.. comme annonc´e par le titre de la question !
2) Indicatrice d’Euler
a) A la main : ϕ(1)=1 car 1 est premier avec tout le monde donc avec 0.
Dans 0,9: les nombres premiers avec 10 sont 1,3,7,9 donc ϕ(10)=4.
Pour ppremier tous les nombres dans 1, p −1sont premiers avec p, et 0 n’est pas
premier avec pdonc ϕ(p)=p−1.
Remarque : pour 10 =2×5 avec 2 ∧5=1, on verra plus loin au e) que ϕ(10)=
ϕ(2)ϕ(5)=1×4, on retrouve le r´esultat pr´ec´edent.
b) Vue la derni`ere ligne, pour que l’algorithme fonctionne, il faut qu’`a la fin de la boucle
principale for i in range(2,n//2+1), on ait pour tout i=2,...,n−1, table[i]=1 si
et seulement si iest premier avec n.
Les modifications faites dans table consistent `a mettre des entr´ees `a 0, sachant qu’au
d´epart toutes les entr´ees de table sont `a 1(sauf l’entr´ee 0 car 0 n’est pas premier avec
n, si n>1).
Montrons que la propri´et´e P(i)suivante est v´erifi´ee pour chaque valeur de idans la
boucle principale :
P(i): `a la fin du i-i`eme tour de la boucle principale, toutes les entr´ees de la forme
table[k.j]avec 2 ≤j≤i,jdiviseur de n,k≥1, k≤(n−1)jsont mises `a 0.
La preuve de P(i)par r´ec. est imm´ediate puisque le rˆole du i-i`eme tour de boucle est
exactement si iest un diviseur de n, de mettre `a 0 les entr´ees table[ki] avec k≥1,
k≤(n−1)i.
Or pour kentier, la condition k≤(n−1)i=(n−1)i´equivaut `a k≤(n−1)iet donc
`a ki ≤(n−1).
Donc P(i)s’´ecrit encore : `a la fin du i-i`eme tour de la boucle principale, toutes les entr´ees
de la forme table[k.j] avec 2 ≤j≤i,jdiviseur de n,k≥1, kj ≤(n−1)sont mises `a 0.
Ainsi P(n2)(derni`ere valeur prise par idans la boucle) dit que `a la fin de la boucle,
toutes le entr´ees de la forme table[kj]avec j≤n2 et jdiviseur de n,kj ≤(n−1)sont
mises `a 0.
Or tout facteur premier pd’un nombre nsera inf´erieur ou ´egal `a n2, donc `a l’issu de la
boucle on aura bien mis `a z´ero toutes les entr´ees de table de la forme kp pour pfacteur
premier quelconque de net la conclusion.
c) def phi(n):
return len(premAvec(n))
d) On conjecture que si a∧b=1 alors ϕ(ab)=ϕ(a)ϕ(b).
e) Question pas si facile par des m´ethodes ´el´ementaires !
(M1) Avec un peu d’alg`ebre sup´erieure :
Rappel – Si on d´efinit ϕ(n)comme le nombre d’entiers q k∈[[0, n −1]] tels que
k∧n=1, alors par caract´erisation des inversibles dans ZnZ, on a pour tout n≥2,
ϕ(n)=Card U(ZnZ)(le nombre d’´el´ements inversibles de ZnZ).
1