Matematica Discreta II
Lezione del giorno 15 novembre 2007
Dagli ultimi risultati dimostrati segue che se n è primo (quindi Z
nè un campo finito) il gruppo moltiplicativo Z
n* ={1,2,….,n-1} è un gruppo ciclico (un generatore a di Z
n* è chiamato radice primitiva modulo n).
Illustriamo l’algoritmo di Gauss, che permette di calcolare una radice primitiva modulo n (se n è primo), cioè di trovare nel gruppo Z
n* un elemento di periodo n-1= Z
n*:
1) si sceglie un qualunque elemento x in Z
n*
2) si calcolano le successive potenze x
1, x
2, x
3, …. in Z
n* fino ad ottenere x
r=1, dove r è il periodo di x: se r=n-1 si esce (abbiamo trovato un elemento di periodo n-1, dunque una radice primitiva modulo n)
2) se r<n-1, si sceglie un qualunque elemento y¹ x
1, x
2, x
3, …., x
r, si calcolano le successive potenze y
1, y
2, y
3, …. fino ad ottenere y
s=1, dove s è il periodo di y: se s=n-1 si esce (come sopra)
3) se s<n-1, si considerano le fattorizzazioni di r,s in prodotto di potenze di primi distinti (dove, per avere lo stesso elenco di primi nelle due fattorizzazioni, si utilizzano eventualmente esponenti nulli):
r = p1k1p
2k2...p
rkr s= p1h1p
2h2...p
rhr (con k
i, h
i³0) e si costruiscono i seguenti numeri naturali:
p
2h2...p
rhr(con k
i, h
i³0) e si costruiscono i seguenti numeri naturali:
a =
³ i
i i
h k
ik
p
(quindi a è divisore di r, cioè r=ac con c naturale) b =
i
i i
h k
ih
p