Sunteți pe pagina 1din 7

1

1.1

Corpuri finite.
Introducere

Reamintim mai intai


Definitie 1 Se numeste corp un inel comutativ (K, +, ) cu proprietatea ca
orice element nenul x din k este inversabil, i.e. exist
a x1 k astfel nc
at
1
x x = 1.
Exemple. a) Q, R, C.
b ) Inelul numerelor intregi Z nu este corp, deoarece nu toate elementele
nenule sunt inversabile (de exemplu, 2 un este inversabil in Z deoarece 21 6 Z).
c) Fie n N ; atunci inelul Zn este corp daca is numai daca n este numar
prim.
Ne putem pune problema cum construim noi exemple de corpuri pentru
aceasta, sa reanalizam doua exemple clasice: corpul numerelor complexe si
corpurile Zp cu p numar prim. De fapt, corpul C este construit ca si multimea
tutror polinoamelor de grad 1 cu coeficienti reali, C = {a + bX|a, b R}
cu mentiunea ca inmultirea nedeterminatei X cu ea insasi nu se face ca la
polinoame, X X = x2 ci are loc relatia X 2 = 1. Aceasta ne arata ca de
fapt, structura de corp a lui C se mai poate obtien si astfel: consideram inelul
tutror polinoamelor, R[X] pe care definim o relatie de echivalenta astfel: doua
polinoame f, g le consideram echivalente daca si numai daca f si g dau acelasi
rest la impartirea cu x2 + 1. Cu alte cuvinte, ca sa construim C facem exact
acelasi procedeu ca si la constructia inelului claselor de resturi modulo n, Zn :
acolo consideram inelul Z si puneam doua numere intregi k1 , k2 in relatie de
echivalenta daca si numai daca resturile impartirii lui k1 si k2 la n sunt egale.
Sa revedem acum de ce obtineam corpuri. In cazul lui C, fie f 6 0, i.e.
restul impartirii lui f la x2 + 1 nu e nul. Acesta e un alt mod de a spune
ca x2 + 1 nu divide f ; cum x2 + 1 este ireductibil in R[X] vedem ca cel mai
mare divizor comun al lui f si X 2 + 1 este 1, (f, X 2 + 1) = 1. Din faptul ca
algoritmul lui Euclid se aplica in R[X] deducem ca exista doua polinoame
P, Q R[X] astfel ncat f P + (x2 + 1)Q = 1, ceea ce implica faptul ca restul
imaprtirii lui P la X 2 +1 va da un invers pentru f (vazut ca numar complex).
Exact acelasi rationament se aplica in cazul lui Zp cu p numar prim! Daca
luam f un numar intreg astfel incat restul impartirii lui f la p e nenul, deducem ca p nu divide pe f ; cum p e prim,vedem ca (f, p) = 1 deci exista doua
1

numere intregi P, Q astfel ncat f P + pQ = 1; deducem ca restul imaprtirii


lui P la p este invers pentru f.
Ca ater, putem sa inventam alte exemple de corpuri in felul urmator:
luam un inel A (comutativ) in care algoritmul lui Euclid se aplica, consideram
p A un element prim, si luam multimea claselor de resturi la impartirea cu
p, fie ea A/(p). Atunci A/(p) va avea o structura canonica de corp.

1.2

Corpuri finite arbitare.

Din cele de mai sus, vedem ca putem forma noi corpuri, de exemplul, astfel:
fixam p un numar prim, si fie f ZP [X] un polinom ireductibil. Atunci
multimea claselor de resturi modulo f , Zp [X]/(f ) va fi un corp.
Exemplu. Polinomul X 2 +1 Z3 [X] este ireductibil; aceasta este simplu
de vazut, deoarece daca f ar fi reductibil, ar avea un factor de gradul intai,
deci ar avea o radacina. Dar calculand direct, gasim f (b
0) = 1, f (b
1) = f (b
2) =
b
2 6= 0.
Ca atare, multimea claselor de resturi modulo f, Z3 [X]/(f ) va fi un corp.
Sa remarcam ca aceasta multime are 9 elemente, mai exact
Z3 [X]/(f ) = {b
0, b
1, b
2, i, i + b
1, i + b
2, b
2i, b
2i + b
1, b
2i + b
2}.
Am utilizat aceeasi conventie de la numere complexe, de a utiliza i in loc de
X.
Are loc deci:
Teorema 1 Fie p un numar prim si f Zp [X] un polinom ireductibil de
grad n. Atunci Zp [X]/(f ) este un corp cu pn elemente.
Exercitiu. Fie f = X 2 + X + 1 Z5 [X].
a) Aratati ca f este ireductibil.
b) Gasiti inversul elementului g = 1 + i in corpul Z5 [X]/(f ). (Am notat
cu i clasa lui X in corpul Z5 [X]/(f ).
Ne putem pune problema: Cate corpuri finite putem construi prin
metoda de mai sus, pornind de la corpurile finite de baza Zp ? Pentru
a o rezolva, avem nevoie de cateva rezultate teoretice pe care le admitem
fara demonstratie.
Reamintim mai intai urmatoarea notiune.

Definitie 2 Un corp k se numeste corp algebric inchis daca orice polinom


f k[x] are cel putin o radacina in k.
Exemplu. Corpul numerelor complexe este algebric inchis (Teorema
fundamentala a algebrei).
Observatie. Avand in vedere teorema lui Bezout, definitia corpului algebric inchis se mai poate formula si astfel: singurele polinoame ireductibile
din k[X] sunt cele de gradul intai
Are loc urmatoarea
Teorema 2 Pentru orice corp k exista un corp L astfel incat k L si L
este algebric inchis.
Fie acum k un corp fixat si L k un corp algebric inchis. Vom nota
S = {L |L L, L = algebric inchis, L k}; fie
\
kL =
L .
LS

Atunci k este cel mai mic (in sensul incluziunii) corp algebric inchis ce
contine k : el se numeste inchiderea algebrica a lui k Se poate demonstra ca
pentru orice doua corpuri algebric inchise L1 , L2 k exista un izomorfism de
corpuri k L1 k L2 cu alte cuvinte inchiderea algebrica a lui k nu depinde
de alegerea corpului L. Ca atare, vom ignora de-acum inainte indiciele L si
vom nota inchiderea algebrica doar prin k.
Exemplu. R = C.
O alta notiune de care vom avea nevoie este urmatoarea.
Definitie 3 Fie k un corp, k = inchiderea sa algebrica. Fie f k[X]; vom
nota Sf = {L|L k, f are toate radacinile in L} si vo pune
\
kf =
L.
LS

Corpul kf se va numi corp de descompunere al lui f.


Evident, corpul Kf este unic.
Putem acum demonstra urmatoarea
Teorema 3 Pentru orice p =numar prim si orice n 1 numar natural,
exista un corp finit cu pn elemente. Acest corp e unic pana la un izomorfism.
3

Demonstratie. Pentru existenta procedam astfel. Fie fn Zp [X] polin


nomul fn = X p X. Fixam k o inchidre algebrica a lui Zp si fie
Kn = {x k|fn (x) = 0}.
Cu alte cuvinte, Kn este multimea tuturor radicinilor lui fn . Observam
mai intai ca Kn are pn elemente; pentru aceasta, cum gradul lui fn este
pn , e suficient sa arat ca fn nu are radacini multimple. Stim ca daca
este o radacina multipla a unui polinom arbitrar f atunci f () = 0 Dar
n
f (X) = pn X p 1 1 deci fn () = 1 deoarece p = 0.
Afirm ca multimea Kn este un corp. Pentru aceasta, fiind o multime
finita, e suficient sa arat ca este inchisa la adunare si la inmultire. Evident
n
n
ca daca , sunt radacini ale lui fn atunci p = , p = de unde prin
n
inmultire membru cu menru deducem ()p = , deci Kn este inchis la
n
n
n
inmultire. Pe de alta parte, ( + )p = p + p de unde deducem imediat
ca + Kn .
Exercitii.
1. a) Aratati ca polinoamele f = X 2 + 1 Z3 [X] si g = X 3 + X 2 + 1
Z5 [X] sunt ireductibile.
b) Utilizand eventual punctul a), aratati ca polinomul
F = X 4 + 12X 3 + 11X 2 + 6X + 1 Z[X]
este ireductibil.

2
2.1

Algoritmul Berlekamp
Morfismul Frobenius.

Am vazut ca orice corp finit are cardinalul de forma pn . Pentru a demonstra


ca invers, dat fiind nu numar natural n si un numar prim p, exista un corp
cu q = pn elemente am invocat o serie de rezultate de algebra; existenta
inchiderii algebrice si existenta corpurilor de descompunere. Mai exact, am
aratat ca putem contrui un corp cu pn elemente ca si corpul de descomn
punere al polinomului X p X; mai mult, am vazut ca de fapt corpul de
descompunere al acestui polinom este corpul formt cu toate radacinile sale.

Vom demonstra in continuare ca orice doua corpuri cu acelasi cardinal


sunt de fapt izomorfe. Mai mult, vom arata ca daca fixam o inchidere algebrica Fp a lui Fp atunci exista UN UNIC subcorp L Fp cu cardinal
card(L) = pn .
Pentru aceasta avem nevoie de o serie de rezultate.
Teorema 4 (Teorema de structura a grupurilor abeliene finit generate).
Pentru orice grup abelian G finit generat exist
a numerele naturale r si
n1 , . . . , nt astfel nc
at
G Z r Z n1 . . . Z nt .

(1)

Un alt rezultat fundamental de care vom avea nevoie este


Teorema 5 (Lema chineza a resturilor) Fie m, n N . Daca (m, n) = 1
atunci
Zmn Zm Zn .
Remarc
a. Lema chineza ne arata ca descompunerea din (1) nu este
neaparat unica; de exemplu, Z6 Z2 Z3 .
Exercitiu. Aratati ca nu putem suprima conditia ca (m, n) = 1 din
enuntul Lemei Chineze a resturilor; mai exact, aratati ca grupurile Zp2 si
Zp Zp NU sunt izomorfe.
Reamintim ca un grup abelian G se numeste ciclic daca exista un element
g G astfel ncat G =subgrupul generat de g (cu alte cuvinte, daca pentru
orice x G exista n Z astfel ncat g = nx.). Din teorema factorilor
invarianti vedem ca un grup ciclic este fie izomorf cu Z fie izomorf cu un Zn .
Lema 1 Fie G un grup abelian finit. Daca pentru orice n N multimea
T orsn (G) = {x G|nx = 0}
are cel mult n elemente, atunci G este ciclic.
Demonstratie. Din teorema de structura, putem prespune ca G este
de forma G = Zn1 . . . Znt . Daca aratam ca pentru orice doi indici i, j =
1, . . . , t distincti avem ca (ni , nj ) = 1 atunic din Lema chineza va rezulta ca

G Zn1 ...,nt deci G este ciclic. Modulo o renumerotare, putem presupune ca


n = (n1 , n2 ) > 1. Fie m1 = nn1 , m2 = nn2 . Atunci in grupul
Zn1 = {
a|a Z}
exista cel putin n elemente x astfel ncat n
x = 0; mai exact, vedem ca
elementele multimii
d1 , . . . , (n\
A1 = {m
c1 , 2m
1)m1 , b
0}
sunt distincte si au proprietatea dorita. Analog, grupul Zn2 = {[a]|a Z} are
cel putin n elemente anulate de n : A2 = {[m2 ], [2m1 ], . . . , [(n 1)m2 ], [0]}.
Deducem ca in grupul G exista cel putin n2 elemente anulate de n, mai exact
toate elmentele de forma
{(
x, [y], 0, . . . 0)|
x A1 , [y] A2 }
Acum putem demonstra urmatorul rezultat, extrem de util in aplicatii:
Teorema 6 Fie K un corp, G (K , ) un grup finit. Atunci G este ciclic,
i.e. exist
a n N a.i. G Zn .
Demonstratie. Aplicam lema anterioara grupului G; pentru aceasta e
suficient sa observam ca pentru orice n N , T orsn (G) = {x G|xn 1 = 0}
are cel mult n elemente, deoarece polinomul X n 1 are gradul n.

2.2

Algoritmul Berlekamp.

Problem
a. Dat un polinom f Fq [X] sa gasim un factor netrivial al sau.
Remarca Putem presupune ca f nu are factori multipli, altfel f este fie
o putere p (in cazul in care derivata sa e nula) fie gasim un divizor al sau
calculand gcd(f, f ).
Idee: sa cautam un polinom g a.i.
g q (X) g(x)(modf (x))

(2)

Okay, sa presupunem ca am gasit un polinom g ca mai sus. Atunci


calculand succesiv
6

gcd(f (x), g(x) s)

(3)

pentru toate valorile s Fq vom gasi un factor al lui g(X) (sau vom demonstra ca g este ireductibil, daca toti factorii de mai sus sunt de grad 1 sau
n). Aceasta rezulta astfel: daca F este un factor ireductibil netrivial al
lui f atunci alegem o radacina a lui F (din inchiderea algebrica a lui Fq ).
Avem ca f () = 0 deci din relatia (2) gasim g()q = g() deci g() Fq . Fie
s = g(); deducem deci ca F divide g(x)s deci F divide gcd(f (x), g(x)s).
Determinarea unui polinom g ca in relatia (2).
Exemplu. Sa studiem polinomul
f (X) = X 4 + 1 F3 [X].
Varianta 1; brute force. Analizam mai intai daca f are un factor liniar;
cum f (0) = 1, f (1) = f (1) = 1 deducem ca nu e cazul. Studiem apoi
existenta factorilor (automat ireductibili!) de grad doi. Lista tuturor polinoamelor (monice) de grad doi din F3 [X] este
{X 2 , X 2 1, X 2 X, X 2 X 1}.
Dintre acestea doar polinoamele X 2 X 1 si X 2 + X 1 sunt ireductibile,
restul avand radacini. Impartind f la X 2 + X 1 constatam ca avem
f (X) = (X 2 + X 1)(X 2 X 1).
Varianta 2; Berlekamp. Cautam mai intai un polinom g(X) ca in (2). Fie
g(X) = aX 3 + bX 2 + cX + d. Atunci g 3 (X) = aX 9 + bX 6 + cX 3 + d. Avem:
X 9 X(modf ), X 6 X 2 (modf ) deci g 3 (X) cX 3 bX 2 + aX + d(modf ).
Ca atare, trebuie ca (c a)X 3 2bX 2 + (a c)X 0(modf ). Putem ca atare
lua a = c = 1, b = 0 si gasim ca g(X) = X 3 + X satisface (2).
Acum avem succesiv:
gcd(f (X), X 3 + X) = 1;
gcd(f (X), X 3 + X + 1) = X 2 + X 1;
gcd(f (X), X 3 + X 1) = X 2 X 1.
Deducem factorizarea de la varianta anterioara.
7