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 .