1 Corpuri finite. 1.1 Introducere Reamintim mai intai Definiţie 1 Se numeşte corp un inel comutativ (K,+, ) cu proprietatea ca orice element nenul x din k este inversabil, i.e. există x 1 k astfel încât x x 1 = 1. Exemple. a) Q,R,C. b ) Inelul numerelor intregi Z nu este corp, deoarece nu toate elementele nenulesuntinversabile(deexemplu,2unesteinversabilinzdeoarece 1 2 Z). c) Fie n N ; atunci inelul Z n 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 corpurilez p cupnumarprim. Defapt, corpulcesteconstruitcasimultimea 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 = x 2 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 polinoamef,g leconsideramechivalentedacasinumaidacaf sig dauacelasi rest la impartirea cu x 2 +1. Cu alte cuvinte, ca sa construim C facem exact acelasi procedeu ca si la constructia inelului claselor de resturi modulo n,z n : acolo consideram inelul Z si puneam doua numere intregi k 1,k 2 in relatie de echivalenta daca si numai daca resturile impartirii lui k 1 si k 2 la n sunt egale. Sa revedem acum de ce obtineam corpuri. În cazul lui C, fie f 0, i.e. restul impartirii lui f la x 2 + 1 nu e nul. Acesta e un alt mod de a spune ca x 2 +1 nu divide f; cum x 2 +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 încât fp +(x 2 +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 Z p 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 încât fp +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 Z P [X] un polinom ireductibil. Atunci multimea claselor de resturi modulo f, Z p [X]/(f) va fi un corp. Exemplu. PolinomulX 2 +1 Z 3 [X]esteireductibil; aceastaestesimplu 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( 0) = 1,f( 1) = f( 2) = 2 0. Ca atare, multimea claselor de resturi modulo f, Z 3 [X]/(f) va fi un corp. Sa remarcam ca aceasta multime are 9 elemente, mai exact Z 3 [X]/(f) = { 0, 1, 2,i,i+ 1,i+ 2, 2i, 2i+ 1, 2i+ 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 Z p [X] un polinom ireductibil de grad n. Atunci Z p [X]/(f) este un corp cu p n elemente. Exercitiu. Fie f = X 2 +X +1 Z 5 [X]. a) Aratati ca f este ireductibil. b) Gasiti inversul elementului g = 1+i in corpul Z 5 [X]/(f). (Am notat cu i clasa lui X in corpul Z 5 [X]/(f). Ne putem pune problema: Cate corpuri finite putem construi prin metoda de mai sus, pornind de la corpurile finite de baza Z p? Pentru a o rezolva, avem nevoie de cateva rezultate teoretice pe care le admitem fara demonstratie. Reamintim mai intai urmatoarea notiune. 2
Definiţie 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 k L = L SL. 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 L 1,L 2 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. Definiţie 3 Fie k un corp, k = inchiderea sa algebrica. Fie f k[x]; vom nota S f = {L L k,fare toate radacinile in L} si vo pune k f = L SL. Corpul k f se va numi corp de descompunere al lui f. Evident, corpul K f este unic. Putem acum demonstra urmatoarea Teorema 3 Pentru orice p =numar prim si orice n 1 numar natural, exista un corp finit cu p n elemente. Acest corp e unic pana la un izomorfism. 3
Demonstraţie. Pentru existenta procedam astfel. Fie f n Z p [X] polinomul f n = X pn X. Fixam k o inchidre algebrica a lui Z p si fie K n = {x k f n (x) = 0}. Cu alte cuvinte, K n este multimea tuturor radicinilor lui f n. Observam mai intai ca K n are p n elemente; pentru aceasta, cum gradul lui f n este p n, e suficient sa arat ca f n nu are radacini multimple. Stim ca daca α este o radacina multipla a unui polinom arbitrar f atunci f (α) = 0 Dar f (X) = p n X pn 1 1 deci f n(α) = 1 deoarece pα = 0. Afirm ca multimea K n este un corp. Pentru aceasta, fiind o multime finita, e suficient sa arat ca este inchisa la adunare si la inmultire. Evident ca daca α,β sunt radacini ale lui f n atunci α pn = α,β pn = β de unde prin inmultire membru cu menru deducem (αβ) pn = αβ, deci K n este inchis la inmultire. Pe de alta parte, (α+β) pn = α pn +β pn de unde deducem imediat ca α+β K n. Exercitii. 1. a) Aratati ca polinoamele f = X 2 +1 Z 3 [X] si g = X 3 +X 2 +1 Z 5 [X] sunt ireductibile. b) Utilizand eventual punctul a), aratati ca polinomul este ireductibil. F = X 4 +12X 3 +11X 2 +6X +1 Z[X] 2 Algoritmul Berlekamp 2.1 Morfismul Frobenius. Am vazut ca orice corp finit are cardinalul de forma p n. Pentru a demonstra ca invers, dat fiind nu numar natural n si un numar prim p, exista un corp cu q = p n 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 p n elemente ca si corpul de descompunere al polinomului X pn X; mai mult, am vazut ca de fapt corpul de descompunere al acestui polinom este corpul formt cu toate radacinile sale. 4
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 F p a lui F p atunci exista UN UNIC subcorp L F p cu cardinal card(l) = p n. 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ă numerele naturale r şi n 1,...,n t astfel încât 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 Z mn Z m Z n. Remarcă. Lema chineza ne arata că descompunerea din (1) nu este neaparat unica; de exemplu, Z 6 Z 2 Z 3. Exerciţiu. Arătati ca nu putem suprima conditia ca (m, n) = 1 din enuntul Lemei Chineze a resturilor; mai exact, aratati ca grupurile Z p 2 si Z p Z p NU sunt izomorfe. Reamintim ca un grup abelian G se numeste ciclic daca există un element g G astfel încât G =subgrupul generat de g (cu alte cuvinte, daca pentru orice x G există n Z astfel încât g = nx.). Din teorema factorilor invarianti vedem ca un grup ciclic este fie izomorf cu Z fie izomorf cu un Z n. Lema 1 Fie G un grup abelian finit. Dacă pentru orice n N multimea Tors n (G) = {x G nx = 0} are cel mult n elemente, atunci G este ciclic. Demonstraţie. Din teorema de structura, putem prespune ca G este de forma G = Z n1... Z nt. Dacă arătăm că pentru orice doi indici i,j = 1,...,t distincti avem ca (n i,n j ) = 1 atunic din Lema chineza va rezulta ca 5
G Z n1...,n t deci G este ciclic. Modulo o renumerotare, putem presupune ca n = (n 1,n 2 ) > 1. Fie m 1 = n 1 n,m 2 = n 2 n. Atunci in grupul Z n1 = {â a Z} exista cel putin n elemente ˆx astfel încât nˆx = ˆ0; mai exact, vedem că elementele multimii A 1 = { m 1, 2m 1,..., (n 1)m1, 0} suntdistincteşiauproprietateadorita. Analog, grupulz n2 = {[a] a Z}are cel putin n elemente anulate de n : A 2 = {[m 2 ],[2m 1 ],...,[(n 1)m 2 ],[0]}. Deducem ca in grupul G exista cel putin n 2 elemente anulate de n, mai exact toate elmentele de forma {(ˆx,[y],0,...0) ˆx A 1,[y] A 2 } 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ă n N a.i. G Z n. Demonstraţie. Aplicăm lema anterioara grupului G; pentru aceasta e suficientsaobservamcapentruoricen N, Tors n (G) = {x G x n 1 = 0} are cel mult n elemente, deoarece polinomul X n 1 are gradul n. 2.2 Algoritmul Berlekamp. Problemă. Dat un polinom f F q [X] să găsim un factor netrivial al său. 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: să căutăm 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 F q 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 F q ). Avem ca f(α) = 0 deci din relatia (2) gasim g(α) q = g(α) deci g(α) F q. 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. Să studiem polinomul f(x) = X 4 +1 F 3 [X]. Varianta 1; brute force. Analizăm mai intai daca f are un factor liniar; cum f(0) = 1,f(1) = f( 1) = 1 deducem că nu e cazul. Studiem apoi existenta factorilor (automat ireductibili!) de grad doi. Lista tuturor polinoamelor (monice) de grad doi din F 3 [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