Radice primitiva modulo n: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
ortografia |
→Voci correlate: Aggiungo sezione collegamenti esterni. Etichette: Modifica da mobile Modifica da web per mobile |
||
(41 versioni intermedie di 16 utenti non mostrate) | |||
Riga 1:
In [[aritmetica modulare]],
Si consideri per esempio
:<math>(
sono le classi di congruenza di <math>1</math>, <math>3</math>, <math>5</math>, <math>9</math>, <math>11</math> e <math>13</math> che sono [[coprimo|coprimi]] con <math>n = 14.</math>
Si ha che <math>3</math> è un generatore modulo <math>14</math>, perché 3<sup>2</sup> mod 14 = 9, 3<sup>3</sup> mod 14 = 13, 3<sup>4</sup> mod 14 = 11, 3<sup>5</sup> mod 14 = 5 e 3<sup>6</sup> mod 14 = 1. L'unica altra radice primitiva modulo <math>14</math> è <math>5</math>.
I generatori modulo <math>n</math> rivestono un'importanza considerevole in [[crittografia]].
==Trovare i generatori==
Di seguito vi è una tabella che contiene i più piccoli generatori per diversi valori di {| class="wikitable"
! ''n''
Riga 23:
|}
Non è nota nessuna formula generale ragionevolmente semplice per determinare i generatori modulo
:<math>m^{\phi(n)/p_i}\mod n \qquad\text{ per } i=1,\ldots,k</math>
usando il rapido [[algoritmo]] di [[esponenziazione mediante elevamento al quadrato]]. Non appena si trova un numero <math>m</math> per il quale questi <math>k</math> risultati sono tutti diversi da <math>1</math>, allora <math>m</math> è un generatore.
Il numero di generatori modulo <math>n</math>, se ne esistono, è uguale a <math>\phi(\phi(n))</math> dal momento che, in generale, un gruppo ciclico di <math>r</math> elementi possiede <math>\phi(r)</math> generatori.
A volte si può essere interessati ai generatori piccoli. Al riguardo sono stati dimostrati i seguenti risultati:
*per ogni <math>\varepsilon>0</math> esistono delle costanti positive <math>C</math> e <math>p_0</math> tali che, per ogni [[Numero primo|primo]] <math>p\ge p_0</math>, esiste un generatore modulo <math>p</math> minore di <math>Cp^{1/4+\varepsilon}</math>;
*se l'[[ipotesi di Riemann generalizzata]] è vera, allora, per ogni numero primo <math>p</math>, esiste un generatore modulo <math>p</math> minore di <math>70\ln^2 p</math>.
== Dimostrazione dell'esistenza di un generatore modulo ''p''<sup>k</sup>, ''p'' dispari ==
La dimostrazione dell'esistenza del generatore procede dapprima provando che essa esiste per ogni numero primo <math>p</math>, poi dimostrando che, se <math>a</math> è una radice primitiva di <math>p</math>, allora o <math>a</math> o <math>p+a</math> è una radice primitiva di <math>p^2</math>, e che questa è poi radice primitiva anche di ogni potenza successiva di <math>p</math>. Infatti, sia <math>a</math> una radice primitiva modulo <math>p</math>. Allora, per definizione di radice primitiva
:<math>a^{p-1}\equiv 1\mod p,</math>
e <math>p-1</math> è il più piccolo esponente per cui ciò avviene. Poiché <math>\phi(p^2)=p(p-1)</math>, l'[[ordine moltiplicativo]] di <math>a</math> modulo <math>p^2</math> divide <math>p(p-1)</math>, ed è multiplo di <math>p-1</math>, e quindi può essere solamente <math>p-1</math> o lo stesso <math>p(p-1)</math>. In quest'ultimo caso <math>a</math> è una radice primitiva modulo <math>p^2</math>; altrimenti, sviluppiamo con la formula del [[binomio di Newton]]
:<math>(p+a)^{p-1}=p^{p-1}+\cdots+\binom{p-1}{p-2}pa^{p-2}+a^{p-1}\equiv (p-1)pa^{p-2}+a^{p-1}\mod p^2\equiv 1-pa^{p-2}\mod p^2,</math>
che non può essere <math>1</math>, perché altrimenti <math>p</math> dividerebbe <math>a^{p-2}</math>, il che è assurdo, e quindi l'ordine di <math>p+a</math> non è <math>p-1</math>, e deve essere <math>p(p-1)</math>, cioè abbiamo trovato una radice primitiva modulo <math>p^2</math>.
Per dimostrare la proposizione per <math>p^k</math>, con <math>k>2</math>, si procede per [[induzione]]: supponiamo che <math>a</math> sia una radice primitiva per tutti i <math>p^j</math> con <math>j<k</math>. In particolare
:<math>a^{\phi(p^{k-2})}\equiv 1 \mod p^{k-2},</math>
ossia
:<math>a^{\phi(p^{k-2})}=1+lp^{k-2},</math>
per un qualche <math>l</math>. Questa relazione vale anche modulo <math>p^k</math>; inoltre l'ordine di <math>a</math> modulo <math>p^k</math> deve essere un multiplo di <math>\phi(p^{k-1})</math>, perché ha quest'ordine modulo <math>p^{k-1}</math>. Quindi, poiché <math>\phi(p^k)=p\phi(p^{k-1})</math>, l'ordine può essere solo <math>\phi(p^{k-1})</math> o <math>p\phi(p^{k-1})</math>; in particolare, <math>a</math> è una radice primitiva se il suo ordine è il secondo di questi valori. Se <math>p</math> è un primo dispari
:<math>a^{\phi(p^{k-1})}=(a^{\phi(p^{k-2})})^p=(1+lp^{k-2})^p\equiv 1+\binom{p}{p-1}lp^{k-2}\mod p^k\equiv 1+lp^{k-1}\mod p^k.</math>
Questa quantità è uguale a <math>1</math> se e solo se <math>l</math> è divisibile per <math>p</math>; tuttavia, se lo fosse, si avrebbe
:<math>a^{\phi(p^{k-2})}=1+lp^{k-2}\equiv 1\mod p^{k-1}</math>
contro l'ipotesi che l'ordine di
L'estensione ai numeri nella forma
== Funzioni simmetriche delle radici primitive modulo p ==
Indicando con <math>g</math> il generatore di <math>\Z_p
Gauss nelle Disquisitiones Arithmeticae dimostrò agli articoli 80 ed 81 il valore (modulo <math>p</math> primo) della somma delle radici primitive di <math>\Z_p</math> e del loro prodotto.
Esse valgono:
* <math>\prod_{(i,p-1)=1} g^i \equiv 1 \pmod{p}</math>
* <math>\sum_{(i,p-1)=1} g^i \equiv \mu(p-1) \pmod{p}</math>
La seconda identità si può estendere considerando tutti gli elementi di ordine <math>d</math>, con <math>d</math> divisore di <math>p-1</math>. Sia <math>h</math> un elemento di <math>\Z_p ^*</math> di ordine <math>d</math>, allora tutti gli elementi di ordine d saranno del tipo <math>h^j</math> con <math>(j,d)=1</math> e quindi saranno in numero <math>\phi(d)</math>. La loro somma vale
:<math>\sum_{(j,d)=1} h^j \equiv \mu(d) \pmod{p}.</math>
Tramite tale formula possiamo calcolare la somma delle potenze <math>k</math>-esime delle radici primitive. Supponiamo che <math>k</math> sia tale che <math>(k,p-1)=1</math> allora tale elevamento a potenza <math>k</math> manda l'insieme delle radici primitive in sé stesso e pertanto
:<math>\sum_{(i,p-1)=1} (g^i)^k \equiv \mu(p-1) \pmod{p}.</math>
Ora consideriamo un <math>k</math> che divida interamente <math>p-1</math>, se <math>g</math> è radice primitiva (e quindi ha ordine <math>p-1</math>), l'elemento <math>g^k</math> avrà ordine uguale a <math>\tfrac{p-1}{k}</math> quindi l'insieme delle radici primitive (ossia l'insieme degli elementi di ordine <math>p-1</math>) viene mandato nell'insieme degli elementi di ordine <math>\tfrac{p-1}{k}</math> che ha cardinalità <math>\phi(\tfrac{p-1}{k})</math>. Tale funzione è iniettiva se e solo se <math>k=1</math> mentre negli altri casi si assiste ad una "restrizione" delle radici primitive, nel senso che <math>\tfrac{\phi(p-1)}{\phi\left(\tfrac{p-1}{k}\right)}</math> radici primitive vengono mandate nello stesso elemento di ordine <math>\tfrac{p-1}{k}</math>. Tale funzione è suriettiva, detto ciò per calcolare
:<math>\sum_{(i,p-1)=1} (g^i)^k,</math>
basta calcolare la sommatoria degli elementi di ordine <math>\tfrac{p-1}{k}</math> e moltiplicare tale valore per l'"indice di restrizione" <math>\tfrac{\phi(p-1)}{\phi\left(\tfrac{p-1}{k}\right)}</math>. Quindi
Sia ora <math>k</math> dove <math>(k,p-1)=b</math>, quindi <math>k=ab</math> e <math>(a,p-1)=1</math> pertanto al posto di applicare direttamente la potenza <math>k</math> alle radici primitive, prima applichiamo la potenza <math>a</math> e poi, agli elementi ottenuti, la potenza <math>b</math>. La potenza <math>a</math> manda le radici primitive in sé stesse, la potenza <math>b</math> le fa "restringere" in un sottordine e pertanto, indicando <math>(k,p-1)</math> in luogo di <math>b</math> otteniamo:
:<math>\sum_{(i,p-1)=1} (g^i)^k=\tfrac{\phi(p-1)}{\phi\left(\tfrac{p-1}{(k,p-1)}\right)}\mu(\tfrac{p-1}{(k,p-1)}).</math>
Tali formule si rivelano utili per calcolare le varie funzioni simmetriche delle radici primitive, tramite i [[teoremi newtoniani]] riusciamo facilmente nell'impresa. Supponiamo di voler calcolare il valore della sommatoria del prodotto delle radici primitive prese due a due, allora tramite i teoremi newtoniani otteniamo che:
:<math>
:<math>x^{\phi(p-1)} +A_{n-1} x^{\phi(p-1)-1}+\ldots+A_1 x+A_0\equiv\prod_{(i,p-1)=1} (x-g^i) \pmod{p}.</math>
Si dimostra che valgono le relazioni <math>A_i =A_{\phi(p-1)-i}</math>. Infatti se <math>y</math> è una radice primitiva allora anche <math>y^{-1}</math> lo è, e tali radici sono distinte per <math>p</math> diverso da <math>3</math>. Valutando i polinomi in queste radici otteniamo:
(1) <math>y^{\phi(p-1)} +A_{n-1} y^{\phi(p-1)-1}+\ldots+A_1 y+A_0\equiv 0 \pmod{p}</math>
(2) <math>({\tfrac{1}{y}})^{\phi(p-1)} +A_{n-1} ({\tfrac{1}{y}})^{\phi(p-1)-1}+\ldots+A_1 ({\tfrac{1}{y}})+A_0\equiv 0 \pmod{p}</math>
moltiplicando la (2) per <math>({\tfrac{1}{y}})^{\phi(p-1)}</math> otteniamo:
(2) <math>A_0 y^{\phi(p-1)} +A_1 y^{\phi(p-1)-1}+\ldots+A_{n-1} y+1\equiv 0 \pmod{p}</math> Sottraendo la (1) alla (2') otteniamo:
(3) <math>(A_0 -1) y^{\phi(p-1)} +(A_1 -A_{n-1}) y^{\phi(p-1)-1}+\ldots+(A_{n-1}- A_1) y+(1- A_0)\equiv 0 \pmod{p}.</math>
In particolare il termine <math>A_0</math> vale <math>(-1)^{\phi(p-1)}\prod_{(i,p-1)=1} g^i </math> dove p diverso da tre, pertanto per qualsiasi <math>p</math> primo e maggiore di <math>3</math> si ha che <math>\phi(p-1)</math> è pari e quindi <math>A_0 \equiv 1 \pmod{p}</math>. Sostituendo tale valore nella (3) otteniamo che l'equazione ha, quindi, grado <math>\phi(p-1)-1</math> e della quale due radici sono <math>y</math> e <math>y^{-1}</math>; considerando le altre radici primitive a due a due, l'una l'inverso dell'altra, otteniamo sempre la stessa equazione (3) e quindi, in sintesi, la (3) si annulla per tutte le <math>\phi(p-1)</math> radici primitive ed ha grado <math>\phi(p-1)-1</math>. Ma allora è identicamente nulla e quindi <math>A_i =A_{\phi(p-1)-i}</math>.
Allora in base alle considerazioni precedenti sappiamo:
:<math>x^{\phi(p-1)} -\mu(p-1)x^{\phi(p-1)-1}+\ldots-\mu(p-1)x+1\equiv\prod_{(i,p-1)=1} (x-g^i) \pmod{p}.</math>
Riportiamo alcuni esempi di tali polinomi:
* <math>x+1 \equiv 0 \pmod{3}</math> (
* <math>x^2+1 \equiv 0 \pmod{5}</math>
* <math>x^2-x+1 \equiv 0 \pmod{7}</math>
Riga 114 ⟶ 133:
* <math>x^{12}-x^{10}+x^8-x^6+x^4-x^2+1 \equiv 0 \pmod{29}</math>
* <math>x^8+x^7-x^5-x^4-x^3+x+1 \equiv0 \pmod{31}</math>
Si vede che tali polinomi altro non sono che i polinomi ciclotomici <math>\Phi_n(x)</math> dove <math>n=p-1</math> con <math>p</math> numero primo.
Laddove nel polinomio si assiste ad un "passo" costante tra gli esponenti di <math>x</math> (per esempio per <math>p=5</math> il passo degli esponenti è <math>2</math>, come succede anche per <math>p=13,29</math>) e nominando <math>k</math> il valore di tale "passo", allora in tali moduli l'insieme delle radici primitive è quozientabile tramite il gruppo delle radici <math>k</math>-esime dell'unità, e vale il viceversa.
In particolare se <math>p</math> è un [[numero primo di Fermat]] allora il polinomio delle sue radici primitive sarà:
:<math>x^{\tfrac{p-1}{2}}+1 \equiv0 \pmod{p}.</math>
Infatti se <math>p</math> è un primo di Fermat esso è del tipo <math>p=2^{2^{n}}+1</math> ed il numero delle radici primitive sarà
:<math>\phi(\phi(p))=\phi(p-1)=\phi(2^{2^{n}})=2^{2^{n}-1},</math>
tale sarà anche il grado del polinomio delle radici primitive. Per il [[piccolo teorema di Fermat]] l'equazione che ha per radici tutti degli elementi di <math>\Z_p ^*</math> è
:<math>x^{p-1}-1\equiv(x^{\tfrac{p-1}{2}}-1)(x^{\tfrac{p-1}{2}}+1) \equiv 0 \pmod{p},</math>
dove il primo polinomio si annulla solo e solamente per i residui quadratici modulo <math>p</math>. [[Criterio di Eulero]]. Poiché le radici primitive non sono residui quadratici, il polinomio delle radici primitive deve fattorizzare il secondo polinomio. Quest'ultimo è monico e di grado <math>\tfrac{p-1}{2}=2^{2^{n}-1}</math>, cioè ha lo stesso grado del polinomio cercato: pertanto lo è.
Se <math>p</math> è un [[numero primo sicuro]] maggiore di <math>5</math>, ossia se <math>p=2q+1</math> dove <math>q</math> è un [[primo di Sophie Germain]] maggiore di <math>2</math>, il polinomio delle radici primitive ha coefficienti di valori alternativamente <math>+1</math> e <math>-1</math>. Infatti in tal caso si ha che la cardinalità di <math>\Z_p^*</math> è <math>2q</math> e pertanto gli elementi di <math>\Z_p^*</math> possono avere ordine solo di <math>2q,q,2,1</math>. Per l'ordine <math>1</math> abbiamo solo l'elemento <math>+1</math>, mentre per l'ordine <math>2</math> abbiamo solo l'elemento <math>-1</math>. Gli elementi di ordine <math>2q</math> sono equinumerosi agli elementi di ordine <math>q</math>, infatti <math>\phi(2q)=\phi(q)=q-1</math>. Sia <math>h</math> un elemento di ordine <math>q</math> allora, poiché <math>q</math> è coprimo con <math>2</math>, l'elemento <math>-h</math> ha ordine pari al [[minimo comune multiplo]] tra l'ordine di <math>-1</math> (che è <math>2</math>) e quello di <math>h</math> (che è <math>q</math>). In sintesi per ogni elemento <math>h</math> di ordine <math>q</math> abbiamo che l'elemento <math>-h</math> ha ordine <math>2q</math>.
Sia il polinomio delle radici di ordine <math>q</math> il seguente:
:<math>p_q(x)=x^{q-1}+M_{q-2}x^{q-2}\ldots+M_2x^2+M_1x+M_0,</math>
ma allora il polinomio delle radici di ordine <math>2q</math> (radici primitive) sarà:
:<math>p_{2q}(x)=x^{q-1}-M_{q-2}x^{q-2}\ldots+M_2x^2-M_1x+M_0,</math>
in quanto ogni coefficiente di <math>p_{2q}(x)</math> è somma di prodotti di <math>s</math> radici opposte a quelle di <math>p_q(x)</math>, quindi il segno dipende dalla parità di <math>s</math> .
Per quanto appena affermato, proponiamoci di determinare il polinomio delle radici di ordine <math>q</math> al fine di determinare quello di ordine <math>2q</math>. Sia <math>h</math> un elemento di ordine <math>q</math> allora tutti gli altri elementi di pari ordine si esprimeranno come <math>h^i</math> con <math>(i,q)=1</math> e <math>q</math>, ricordiamo, è numero primo maggiore di <math>2</math>. Esse saranno pertanto <math>h^1,h^2,h^3,\ldots,h^{q-1}</math> e se ad esse aggiungiamo l'elemento <math>1</math> allora sappiamo che esse sono le radici dell'equazione
:<math>x^q -1 \equiv 0 \pmod{p},</math>
che sappiamo fattorizzare in:
:<math>x^q -1 \equiv (x-1)(x^{q-1}+x^{q-2}+\ldots+x^2+x+1) \pmod{p},</math>
è immediato rilevare che
:<math>p_q(x) \equiv x^{q-1}+x^{q-2}+\ldots+x^2+x+1 \pmod{p},</math>
e per quanto detto prima otteniamo:
:<math>p_{2q}(x) \equiv x^{q-1}-x^{q-2}+\ldots+x^2-x+1 \pmod{p},</math>
che è il polinomio delle radici primitive.
==Note==
Riga 126 ⟶ 187:
* [[Tom M. Apostol]] (1976): Introduction to Analytic Number Theory, Springer-Verlag, New York. ISBN 0-387-90163-9 (Capitolo 10).
== Voci correlate ==
*[[Congettura di Artin]]
== Collegamenti esterni ==
*{{Collegamenti esterni}}
{{Portale|matematica}}
[[Categoria:Aritmetica modulare]]
|