ARITMETICA MODULARE TEORIA DEI CODICI CORSO -GRAFI E COMBINATORIA A.A. 2011 - 2012 Prof.ssa Bambina Larato - [email protected] Politecnico di Bari ARITMETICA MODULARE L’aritmetica dell’orologio ci porta a fare operazioni un po’ STRANE Esempio: 11 + 4 = 3 Sono le 11 ; aggiungiamo 4 ore : sono le 3 ARITMETICA MODULARE Nella realtà questo tipo di calcoli si esegue tutte le volte che ci si trova in situazioni che si ripetono con una certa periodicità. In Matematica lo studio di questo tipo di operazioni si chiama ARITMETICA MODULARE DEFINIZIONE Si fissa un numero naturale n∈N , n≥2 e si osserva che prendendo un qualsiasi numero intero relativo z∈Z si ha che eseguendo la divisione di z per n si trovano e sono unici due numeri interi relativi q , r che verificano queste DUE proprietà 1. z = q n + r 2. 0 ≤ r < n ESEMPIO : n = 2 Se n =2 qualsiasi numero intero relativo z (positivo, negativo oppure zero) si può dividere per n=2 21 : 2 q=10 , r=1 -21 : 2 q=-11 , r=1 126 : 2 q=63 , r=0 -126 : 2 q=-63 , r=0 Domanda: oltre a 0 e 1 ci possono essere altri resti ? ESEMPIO : n = 3 Se n =3 qualsiasi numero intero relativo z (positivo, negativo oppure zero) si può dividere per n=3 21 : 3 q=7 , r=0 -20 : 3 q=-7 , r=1 -136 : 3 q=-46 , r=2 Domanda: oltre a 0 , 1 e 2 ci possono essere altri resti ? CASO GENERALE : n qualsiasi Possiamo pensare di dividere ciascun numero intero relativo per un numero naturale n≥2 : come resto troveremo solo numeri naturali maggiori oppure uguali a zero ma STRETTAMENTE minori di n . Allora possiamo pensare di mettere in una “scatola” tutti i numeri interi relativi che danno resto 0 , in un’altra “scatola” tutti i numeri interi relativi che danno resto 1 , in un’altra “scatola” tutti i numeri interi relativi che danno resto 2 , e così via. CASO GENERALE : n qualsiasi Queste “scatole” si chiamano CLASSI DEI RESTI MODULO n . Domanda: perché non si prende n=1 ? Le classi dei resti si possono sommare e moltiplicare COME “SCATOLE” CASO GENERALE : n qualsiasi Queste “scatole” si chiamano CLASSI DEI RESTI MODULO n . Nel linguaggio matematico si considera la seguente relazione di equivalenza: z ≡ z’ (mod n) ⇔∃ k∈Z t.c. z – z’ = k⋅n . NOTAZIONE Per dire che z e z’ appartengono alla stessa classe si scrive z ≡ z’ (mod n ) e si dice che z e z’ sono congrui modulo n . OSSERVAZIONE: z e z’ hanno lo stesso resto nella divisione per n se e solo se z – z’ è multiplo di n , cioè ∃ k∈Z tale che z–z’ = k⋅n cioè z=z’+k⋅n ADDIZIONE DELLE CLASSI (operazione modulare) Sommando due classi [a] e [b] si ottiene la classe [a+b] , ma …. cosa accade se prendiamo altri due “rappresentanti” delle due classi [a] e [b] , cioè se [a’] = [a] e [b’] = [b] si ha che [a’+b’] = [a+b] ? Solo se la risposta è affermativa le cose vanno bene. LA DEFINIZIONE E’ BEN POSTA La risposta è affermativa : [a’] = [a] ⇔ ∃ h ∈ Z t.c. a’=a + hn [b’] = [b] ⇔ ∃ k ∈ Z t.c. b’=b + kn Allora ∃ h+k ∈ Z t.c. a’+b’=a+b + (h+k)n Quindi: [a’+b’] = [a+b] MOLTIPLICAZIONE DELLE CLASSI (operazione modulare) Moltiplicando due classi [a] e [b] si ottiene la classe [a⋅b] , ma …. cosa accade se prendiamo altri due “rappresentanti” delle due classi [a] e [b] , cioè se [a’] = [a] e [b’] = [b] si ha che [a’⋅b’] = [a⋅b] ? Solo se la risposta è affermativa le cose vanno bene. LA DEFINIZIONE E’ BEN POSTA La risposta è affermativa : [a’] = [a] ⇔ ∃ h ∈ Z t.c. a’=a + hn [b’] = [b] ⇔ ∃ k ∈ Z t.c. b’=b + kn Allora a’⋅b’ = (a+hn)⋅(b+kn) = a⋅b+akn+bhn+hkn2 = a⋅b + (ak+bh+hkn)n Quindi: [a’⋅b’] = [a⋅b] LA STRUTTURA DI Zn L’insieme quoziente di Z rispetto a questa relazione di equivalenza delle classi dei resti (cioè l’insieme avente per elementi le classi) si denota con Zn e le due operazioni appena definite gli conferiscono la struttura di anello (in inglese: “ring”), cioè (Zn ,+) è un gruppo abeliano; (Zn ,⋅) è associativa, commutativa, dotata di unità; ∀ a,b,c ∈Zn si ha (a+b)c = ac + bc . LA STRUTTURA DI Zn In realtà l’anello Zn è l’anello quoziente di Z rispetto all’ideale generato da n . Come è ben noto l’anello quoziente risulta un campo se e solo se l’ideale che si utilizza per quozientare è massimale. Nella situazione descritta questo accade se e solo se n è un numero primo. LA STRUTTURA DI Zp , p PRIMO Quindi se, in particolare, se n=p è un numero primo si ha che (Zn ,+,⋅) costituisce una struttura di campo detto campo di Galois. Pertanto si possono eseguire in Zn le quattro operazioni (in particolare, la divisione) come, per esempio, si possono eseguire in Q oppure in R , ma non sempre in Z . ESEMPIO : n=12 Come si eseguono le operazioni nell’anello Z12 ? Esattamente come in Z con l’unica variante di “ridurre” i risultati “al di sotto di 12”, se necessario. 3+4=7 , 10+5=15=3 , 2⋅4=8 , 9⋅5=45=9 . ESEMPIO : n=12 Possono accadere cose “strane” : 3⋅4=12=0 L’equazione x2=1 ammette più di 2 soluzioni x=1 , x=-1=11 , x=5 , x=7 L’equazione x2=0 ammette come soluzione x=6 oltre che x=0 : siamo in un anello e non in un campo. ESEMPIO : n=7 In questa situazione “cose strane” non se ne hanno: siamo in un campo perché 7 è primo: non può accadere che il prodotto di due numeri più piccoli dia 7 come risultato. L’equazione x2=1 ammette ESATTAMENTE due soluzioni x=1 , x=6=-1 . L’equazione x2=0 ammette SOLO x=0 . Il motivo è che siamo in un campo. ESEMPIO FONDAMENTALE Z2 Se n=2 quante classi abbiamo ? Come si chiamano ? Z2 = {0,1} + 0 1 ⋅ 0 1 0 0 1 0 0 0 1 1 0 1 0 1 In Z2 si ha che l’addizione e la sottrazione coincidono. ELEMENTO INVERSO IN Zn Se n non è primo, Zn non è un campo perché ci sono elementi non nulli che non hanno elemento inverso. Per esempio in Z6 gli elementi 2 , 3 , 4 sono non nulli ma non hanno inverso. INVERSO IN Zn Domanda: come si stabilisce se un elemento di Zn è dotato di inverso oppure no ? Si dimostra il seguente TEOREMA – In Zn un elemento x≠0 è dotato di inverso in Zn se e solo se è coprimo con n , cioè M.C.D.(n,x)=1 . INVERSO IN Zn Il teorema precedente spiega il motivo per cui se n=p è primo si ha un campo. ESEMPIO – In Z28 l’elemento x=16 è invertibile ? No, perché M.C.D.(28,16) = 4 Invece y=17 è invertibile perché M.C.D.(28,17)=1 e y-1 =5 ; anche z=15 è invertibile e z-1 =15 . DIMOSTRAZIONE TEOREMA Sia x∈Zn e sia MCD(x,n)=1 . Allora esistono h , k ∈Z tali che sia 1 = h⋅x+k⋅n cioè 1 - h⋅x=k⋅n : questo vuol dire che in Zn si ha 1 = h⋅x . Quindi h è l’elemento inverso di x in Zn . Il viceversa è ovvio. CARATTERISTICA In un anello Zn e, in particolare, in un campo Zp accade un fatto un po’ strano. Si ha che sommando n volte un qualsiasi elemento si ottiene 0 , per esempio 1+1+…+1=0. Questo fatto si esprime dicendo che p è la caratteristica del campo. I campi Q , R , C hanno caratteristica 0 . CARATTERISTICA Si dimostra che ogni campo K ammette sempre un sottocampo minimo che è un campo Zp oppure il campo razionale Q . Nel primo caso la caratteristica del campo è p , mentre nell’altro caso la caratteristica del campo è 0 . Si noti che se la caratteristica del campo non è 0 , si ha che è sempre un numero primo. EVARISTE GALOIS (1811-1832) Galois studiò in modo originale il problema di stabilire quali sono le equazioni algebriche che si possono risolvere “per radicali” e come si studia l’insieme delle soluzioni. Questo lo portò a studiare i campi finiti ottenendo risultati eccezionali che furono compresi solo 40 anni dopo (Jordan, 1870 circa). CAMPI DI GALOIS TEOREMA – Esiste un campo di ordine q (cioè formato da q elementi) se e solo se q è potenza di un numero primo (cioè q=ph con p numero primo e h intero positivo). Inoltre se q=ph , allora esiste un unico campo di ordine q , a meno di isomorfismi (cioè, sostanzialmente, a meno di un cambiamento di denominazione degli elementi). CAMPI DI GALOIS Il primo caso di campo finito è costituito dalle classi dei resti Zp con p primo. Tutti gli altri campi finiti si ottengono estendendo uno di questi campi. Si procede come nella costruzione del campo complesso C a partire dal campo reale R . ESTENSIONE ALGEBRICA DI UN CAMPO Zp Si considera un campo Zp e si considera un polinomio p(x) a coefficienti in Zp che sia irriducibile in Zp . Si dimostra che un tale polinomio esiste sempre. Nell’anello Zp [x] si considera ora l’ideale ( p(x) ) generato dal polinomio p(x) e si considera l’anello quoziente Zp [x] / ( p(x) ) : questo è un campo perché p(x) è irriducibile in Zp . ESTENSIONE ALGEBRICA DI UN CAMPO Zp Il campo Zp [x] / ( p(x) ) contiene propriamente Zp e si chiama “l’estensione algebrica di Zp mediante il polinomio p(x) “ . Si verifica facilmente che le classi di equivalenza che costituiscono gli elementi di Zp [x] / ( p(x) ) sono rappresentabili mediante tutti e soli i polinomi a coefficienti in Zp di grado strettamente minore del grado di p(x) . ESTENSIONE ALGEBRICA DI UN CAMPO Zp Ne consegue che se il polinomio p(x) ha grado h il campo Zp / ( p(x) ) si può considerare spazio vettoriale di dimensione h sul campo Zp e, quindi, ha esattamente q=ph elementi. Il campo Zp / ( p(x) ) si denota abitualmente con GF(q) e si chiama campo di Galois. ESEMPIO Si considera in GF(2)=Z2 il polinomio p(x) = x2 + x + 1 . Questo polinomio è irriducibile in GF(2) e non ammette zeri in Z2 , pur avendo in quel campo i suoi coefficienti. Ne consegue che GF(4) = GF(2) / ( p(x) ) è un campo. Tutti gli elementi di GF(4) sono rappresentabili mediante r(x) = a + x b , dove a , b variano in tutti i modi possibili in GF(2) . ESEMPIO Ne consegue che GF(4) = { 0 , 1 , x , 1+x } . L’addizione tra questi polinomi non crea problemi: sommando due polinomi si ottiene sempre un polinomio di grado non superiore al grado massimo dei due addendi. Invece il prodotto di due elementi di GF(4) può dar luogo a un polinomio di grado maggiore di 1 , cioè a un polinomio che non figura tra gli elementi elencati in GF(4) . Anche in tal caso, però, viene determinata una classe di equivalenza rappresentata in GF(4) dal resto della divisione del prodotto rispetto al polinomio p(x) . NOTAZIONE La notazione abituale è del tipo seguente GF(4) = { 0 , 1 , ε , 1+ ε } con ε2 + ε + 1 = 0 . Nell’elencare gli elementi di GF(4) si preferisce utilizzare un simbolo diverso da x per avere ancora la disponibilità solita del simbolo x ; inoltre il polinomio p(ε) = ε2 + ε + 1 risulta essere l’elemento neutro rispetto all’addizione in GF(4) = GF(2) / (ε2 + ε + 1) . ESEMPIO Se si considera un polinomio irriducibile di terzo grado a coefficienti in GF(2) si ottiene il campo di Galois GF(8) . Se si considera un polinomio irriducibile di quarto grado a coefficienti in GF(2) si ottiene il campo di Galois GF(16) e così via. OSSERVAZIONI 1. GF(4) è un campo e non un anello come Z4 . 2. L’anello Z6 non è un campo, ma non esistono campi con 6 elementi. 3. Per costruire GF(8) posso usare due polinomi diversi x3 + x + 1 oppure x3 + x2 +1 . 4. Per costruire GF(16) si può operare direttamente su GF(2) con il polinomio x4 + x + 1 oppure attraverso GF(4) con il polinomio x2+ x + ε (per esempio). OSSERVAZIONE Estendendo in modo analogo il campo reale R si ottiene il campo complesso C . Quest’ultimo è algebricamnte chiuso (teorema fondamentale dell’Algebra): questo comporta il fatto che C non è ulteriormente estendibile. Questo non accade mai in un campo di Galois. CARATTERISTICA Si nota che la caratteristica di un campo finito deve essere necessariamente positiva, mentre la caratteristica di un campo infinito può essere nulla se il sottocampo minimo è isomorfo al campo razionale Q , ma può anche essere positiva come accade per esempio per la chiusura algebrica di un campo di Galois. SOTTOCAMPI DI GF(q) Si potrebbe pensare che GF(4) sia sottocampo di GF(8) : non è vero ! Estendendo GF(4) si ottiene un campo con almeno 16 elementi. TEOREMA – Il campo GF(pk) è sottocampo di GF(ph) se e solo se k divide h . SPAZIO VETTORIALE DEF. - Si chiama spazio vettoriale sul campo K un gruppo abeliano (V,+) dotato ulteriormente di una operazione (binaria esterna) ⋅:K×V→ V verificante le seguenti quattro proprietà 1) ∀ (v,w) ∈ V2 , ∀ a∈ K : a ⋅ (v+w) = a ⋅ v + a ⋅ w (distributiva); 2) ∀ (a,b) ∈ K2 , ∀ v∈ V : (a + b) ⋅ v = a ⋅ v + b ⋅ v (distributiva); 3) ∀ (a,b) ∈ K2 , ∀ v∈ V : (a ⋅ b) ⋅ v = a ⋅ ( b ⋅ v ) (omogeneità); 4) ∀ v∈ V : 1 ⋅ v = v ( 1 è l’ elemento neutro della moltiplicazione del campo K ). SOTTOSPAZIO DEF. - Si chiama sottospazio vettoriale di uno spazio vettoriale V sul campo K un sottoinsieme non vuoto W di V che sia a sua volta spazio vettoriale su K rispetto alle “stesse” operazioni che rendono V spazio vettoriale. TEOREMA TEOREMA - Sia W un sottoinsieme non vuoto di uno spazio vettoriale V sul campo K . Condizione necessaria e sufficiente affinché W sia sottospazio di V (si scrive W ≤ V) è che si verifichino le seguenti due proprietà, dette “proprietà di chiusura”: 1) ∀ (v,w) ∈ W2 : v + w ∈ W ; 2) ∀ a ∈ K , ∀ v∈ W : a ⋅ v ∈ W . BASE DI UNO SPAZIO VETTORIALE DEF. - Si dice che i vettori v1 , v2 , … , vn di uno spazio vettoriale V sul campo K formano una base di V se 1) ∀ (a1 , a2 , … , an ) ∈ Kn : (a1 v1 + a2 v2 + …+ an vn = 0 ⇔ a1=a2=…= an= 0); 2) ∀ w ∈ V : ∃ (a1 , a2 , … , an ) ∈ Kn tale che w = a1 v1 + a2 v2 + … + an vn .