Sunteți pe pagina 1din 22

ALGORITMI DE FACTORIZARE PENTRU POLINOAMELE

DIN Fq  X 

CUPRINS

Introducere
Capitolul I. Inele euclidiene
1.1 Subinel, subcorp
1.2 Definiția inelelor euclidiene. Exemple
1.3 Relația de divizibilitate în inele euclidiene
1.4 Algoritmul lui Euclid. Lema chineză a resturilor
1.5 Polinoame de interpolare Lagrange
Capitolul II. Elemente de teoria corpurilor
2.1 Extinderi de corpuri
2.2 Extinderi algebrice
2.3 Corpuri finite
Capitolul III. Inele de polinoame
Capitolul IV. Algoritmi de factorizare pentru polinoame din Q X  și Z X 
Capitolul V. Algoritmi de factorizare pentru polinoame cu coeficienți într-un corp finit
Fq  X 

5.1 Algoritmul DS
5.2 Algoritmul SF
5.3 Algoritmul Berlekamp
5.4 Algoritmul DD
5.5 Algoritmul Cantor-Zassenhauss
Concluzii
Anexă. Descrierea algoritmilor în pseudocod
Bibliografie

1
Capitolul V
ALGORITMI DE FACTORIZARE PENTRU POLINOAME CU
COEFICIENȚI ÎNTR-UN CORP FINIT Fq  X 

Fie Fq  X  corpul cu q elemente și f  Fq  X  , grad f  n  0 . Conform Teoremei


1.5.13, polinomul f se reprezintă ca un produs finit de polinoame ireductibile peste corpul
Fq . Pentru determinarea efectivă a unei asemenea reprezentări putem să ne mărginim la

cazul în care f este monic. În acest caz există polinoamele monice ireductibile și distincte
 1 ,  2 ,...,  r  Fq  X  și e1 , e2 ,..., er  N  astfel încât

f   1e1 2e2 ... rer . (5.1)


Reprezentarea (5.1) se numește descompunere canonică a polinomului f. Polinoamele
 1 ,  2 ,...,  r și numerele e1 , e2 ,..., er sunt unic determinate.

Dat f  Fq  X  , f monic, grad f  n  0 , exponentul ei poate fi determinat când este

cunoscut factorul ireductibil  i , anume ei  k  N  cu proprietatea că  ik îl divide pe f și

 ik 1 | f și aceasta se poate stabili folosind algoritmul împărțirii cu rest a polinoamelor din

Fq  X  . Problema care se pune este aceea de a găsi algoritmi pentru determinarea divizilor

monici ireductibili  1 ,  2 ,...,  r ai polinomului f  Fq  X  .


Se spune că polinomul f este liber de pătrate (square-free) în cazul în care
e1  e2  ...  er  1 . Dacă polinomul monic f  Fq  X  are descompunerea dată de relația

(5.1), atunci polinomul SF  f   Fq  X  ,


SF  f    1 2 ... r
se numește partea liberă de pătrate a polinomului f. Să observăm că f și SF  f  au aceiași
divizori ireductibili, iar SF  f  are avantajul că are gradul mai mic când f nu este liber de
pătrate.
În problema determinării descompunerii canonice a unui polinom cu coeficienți într-
un corp finit, va fi examinat cazul q  p , când p este număr prim. Algoritmii care vor fi
prezentați se extind imediat la cazul unui corp finit arbitrar Fq .

2
5.1 Algoritmul DS

Următorul rezultat ajută la elaborarea unui algoritm pentru calculul descompunerii


standard a unui polinom monic neconstant f  F p  X  :
Propoziția 5.1.1 Fie f  Fp  X  un polinom monic neconstant și f  g ph

descompunerea sa standard. Notăm


F0 : f și Fi 1 : cmmdc( Fi , D Fi ), i  0,1,2,...

Dacă D F0  0 , atunci h  1 și F0  g p . Altfel, există k  N  astfel încât D Fi  0

pentru 0  i  k și D Fk  0 ; în acest caz avem Fk  g p și h  f quo Fk (câtul împărțirii lui f

prin Fk ).
Demonstrație:
Cum D f  g p Dh, rezultă că avem Fi  g p H i pentru orice i  0,1,2,... , unde H 0  h

și H i 1  cmmdc ( H i , D H i ), deci grad Fi 1  grad Fi . Există deci k  N  cu D

Fk  g p D H k  0 și D Fi  0 , 0  i  k .

Avem D H k  0 , deci există   Fp  X  astfel încât H k   p . Dacă  1 și  este


un divizor ireductibil al lui  , atunci
 | H k | H k 1 | ... | H 0  h ,

contradicție. Rezultă că  1 , deci Fk  g p și h  f quo Fk , câtul împărțirii lui f prin Fk .


Algoritmul DS (descompunere standard) este folosit pentru calculul descompunerii
standard a unui polinom monic f  F p  X  , grad f  0 și presupune parcurgerea următorilor
pași:
Pasul 1: Se calculează succesiv F0  f , Fi 1  cmmdc( Fi , D Fi ) până se găsește k
astfel încât Fi  0 , 0  i  k și D Fk  0 .
Pasul 2: Se calculează g  Fp  X  astfel încât Fk  g p și apoi se calculează h  f quo
Fk , câtul împărțirii lui f prin Fk .

Pasul 3: Se pune DS  f   g p h .
Observația 5.1.2 Algoritmul DS poate fi prezentat în Pseudocod astfel:
INPUT: f  F p  X  , f monic, grad f  0
OUTPUT: DS  f   g p h

3
INITIALIZATION: F : f
1. WHILE DF  0 DO F : cmmdc(F, DF)
2. Calculează g  Fp  X  astfel încât F  g p
3. h : f quo F
4. RETURN: DS  f   g p h

Exemplul 5.1.3 Fie f  X 6  X 2  1   F3  X  . Ne propunem să găsim DS  f   g 3 h .


5

Efectuăm următoarele calcule:


1. F0 : f , D F0 : X 7  X 2  1  ;
4

2. F1 : cmmdc ( F0 , D F0 )  X 6  X 2  1  , D F1 : 2 X 7  X 2  1  ;
4 3

3. F2 : cmmdc ( F1 , D F1 )  X 6  X 2  1  , D F2 : 0 ;
3

4. avem F2 : g 3 cu g  X 2  X 2  1  și h : f quo F2   X 2  1  ;
2

5. DF  f  : g 3 h , unde g  X 2  X 2  1  și h :  X 2  1  .
2

Observăm că polinoamele X și X 2  1 sunt ireductibile peste F3 și deci


f  X6 X2 1  4
este descompunerea canonică a lui f, ceea ce a simplificat mult calculul
cmmdc, de câte ori a fost cazul în calculele precedente.
Exemplul 5.1.4 Fie f  X 7  X 2  3   F5  X  . Să se scrie descompunerea standard a
6

polinomului folosind algoritmul DS.


1. F0 : f , D F0 : 2 X 6  X 2  3   2 X 2  3  ;
5

2. F1 : cmmdc ( F0 , D F0 )  X 6  X 2  3  , D F1 : X 5  X 2  3  ;
5 5

3. F2 : cmmdc ( F1 , D F1 )  X 5  X 2  3  , D F2 : 0 ;
5

4. avem F2 : g 5 cu g  X  X 2  3  și h : f quo F2  X 2 X 2  3 ;  
5. DF  f  : g 5 h , unde g  X  X 2  3  și h : X 2  X 2  3  .

Exemplul 5.1.5 Fie f   x  1   x  2   F3  X  . Să se scrie descompunerea standard a


3 5

polinomului folosind algoritmul DS.


1. F0 : f , D F0 : 2  X  1   X  2  ;
3 4

2. F1 : cmmdc ( F0 , D F0 )   X  1   X  2  , D F1 :  X  1   X 2  2  ;
3 4 3 3

3. F2 : cmmdc ( F1 , D F1 )   X  1   X  2  , D F2 : 0 ;
3 3

4. avem F2 : g 3 cu g   X  1  X  2  și h : f quo F2   X  2  ;
2

5. DF  f  : g 3 h , unde g   X  1  X  2  și h :  X  2  .
2

4
5.2 Algoritmul SF

În acest paragraf sunt prezentate mai întâi o serie de proprietăți ale polinoamelor din
inelul Fp  X  , p  0 număr prim. Multe dintre aceste proprietăți sunt consecințe ale faptului

că Fp este un corp finit de caracteristică p.


Observația 5.2.1 În conformitate cu notația generală Fq a oricărui corp finit cu q
elemente (vezi 6.3.11 (2)), am notat cu Fp corpul Z p al claselor de resturi modulo un
număr prim p  0 .
Propoziția 5.2.2 Fie f  F p  X  un polinom monic de grad n  0 . Există polinoamele

monice g , h  Fp  X  unic determinate astfel încât f  g p h și  p


| h oricare ar fi divizorul

ireductibil  al lui f.
Demonstrație:
Fie f   1e1 2e2 ... rer descompunerea canonică a lui f. Prin împărțirea cu rest la p,
obținem
ei  pqi  ri , qi , ri  Z , 0  ri  p , 1  i  r .

Dacă luăm

g :  1q1 2q2 ... rqr și h :  1r1 2r2 ... rrr


atunci f  g p h și  p
nu îl divide pe h oricare ar fi    1 ,  2 ,...,  r  .
Unicitatea lui g și h rezultă din faptul că numerele qi și ri din împărțirea cu rest la p
a lui ei sunt unic determinate oricare ar fi i  1,2,..., r .
Reprezentarea f  g p h din Propoziția 5.2.2 se numește descompunerea standard a

polinomului f  F p  X  . În cele ce urmează vom folosi notația DS  f   g p h .


Lema 5.2.3 Fie f  F p  X  . Următoarele afirmații sunt echivalente:
i) D f  0 , adică derivata formală a lui f este polinomul zero;
ii) există g  Fp  X  astfel încât f  g p .
Demostrație:
i)  ii)
Dacă f  a0  a1 X  a2 X 2  ... , atunci D f  a1  2a2 X  3a3 x 2  ... .
Cum D f  0 avem iai  0 , i  0,1,2,... . Când p | i avem i  1  0 și atunci din
0  iai   i  1  ai rezultă ai  0 . Așadar, folosind 6.1.9 (2) și 6.3.1, avem:

5
 
f  a0  a p X p  a2 p X 2 p  ...  a0  a p X  a2 p X 2  ... .
p

Rezultă că f  g p , unde g  a0  a p X  a2 p X  ... .


2

ii)  i)
Avem D f  pg p 1 D g  0 pentru că ph  0 oricare ar fi h  F p  X  .
Corolarul 5.2.4 Dacă f  F p  X  este un polinom ireductibil, atunci D f  0 și
cmmdc(f, Df)  1 .
Demonstrație:
Dacă D f 0, atunci f  g p cu g  Fp  X  , grad g  0 . Rezultă că f nu este ireductibil

peste Fp , ceea ce este o contradicție. Cum grad Df < grad f, rezultă că f | Df, deci cmmdc(f,
Df)  1 pentru că f este ireductibil.
Lema 5.2.5 Fie f  F p  X  , f monic, grad f  0 . Următoarele afirmații sunt

echivalente:
i) cmmdc(f, Df)  1 ;
ii) f este liber de pătrate.
Demonstrație:
i)  ii)
Dacă f nu este liber de pătrate, există  , g  Fp ,  ireductibil, astfel încât f   2g .

Avem
D f  2g D    2 Dg,
deci  divide cmmdc(f, Df)  1 , contradicție.
ii)  i)
Fie d = cmmdc(f, Df). Dacă grad d  0 , există un polinom monic ireductibil
  Fp  X  astfel încât  d . Fie  1 ,  2 ,...,  r  Fp  X  polinoame monice ireductibile și
distincte astfel încât
f   1 2 ... r .

Cum  f , există i astfel încât    i și deci  i | Df.


Dar

D f  1
 j r
 1 ... D  j ... r .

Rezultă că  i | D  i , absurd, pentru că D  i  0 în baza Corolarului 5.2.4. Rămâne adevărat


că d  1 .
Lema 5.2.6 Fie f  F p  X  un polinom monic, grad f  n  0 şi f   1e1  2e2 ... rer
descompunerea sa canonică. Avem

6
1) D f 0  p | ei , i , 1  i  r .

2) cmmdc (f, Df)   p|ei  iei    p | ei  iei 1  .


f
3)  i .
cmmdc f , Df 
p | ei

Demonstraţie:
1) Cum
f
Df  e
1i  r
i
i
D i ,

rezultă că Df  0 dacă p | ei , 1  i  r . Reciproc, dacă Df  0 , atunci conform Lemei

5.2.3 , există g  F p  X  astfel încât f  g p , de unde p | ei , 1  i  r .


2) Avem
f    
Df  e i
i
D  i     i      i  g
e e 1 i i

1i  r   p | e
p | ei   i

unde
 
g   e   i j
 D
 i
p | ei  p | e j , j i 

şi evident  k | g oricare ar fi k astfel încât p | ek . Acum relaţia 2) este evidentă.


3) rezultă din 2).
Corolarul 5.2.7 Dacă f  F p  X  , f monic, grad f  0 și  p | f pentru orice divizor
monic ireductibil  al lui f, atunci:
f
SF  f   .
cmmdc f , Df 

Legat de calculul părții libere de pătrate a unui polinom monic neconstant f  F p  X  ,


să observăm că dacă f  g p h este descompunerea standard a lui f și dacă grad g  0 , atunci

f
polinomul are aceeași parte liberă de pătrate ca și polinomul f, însă are avantajul de a
g p 1

avea gradul mai mic decât cel al lui f.


f
Înlocuind de fiecare dată pe f cu   , după un număr finit de pași vom avea DS
g p 1

    g p h cu g 1 și conform Corolarului 5.1.7 va rezulta că


h
SF  f   SF  h   .
cmmdc h, Dh 

Procedura de mai sus pentru calculul lui SF(f) poartă numele de Algoritmul SF
(square-free).
Observația 5.2.8 În Pseudocod, Algoritmul SF poate fi descris astfel:
7
INPUT: f  F p  X  , f monic, grad f  0
OUTPUT: SF  f   
INITIALIZATION:  : f
1. CALL Algoritmul DS și calculează DS     g p h

2. WHILE g 1 DO  :
g p 1

h
3.  :
cmmdc h, Dh 

4. RETURN: SF  f   

Exemplul 5.2.9 Fie  


f  X 6 X 2  1  X 14  2 X 12  2 X 10  X 8  X 6  F3  X  . Alegem
5

variabila  și efectuăm următorii pași:


1.  : f  X 6  X 2  1  .
5

2. Calculăm DS     g 3 h cu g  X 2  X 2  1  , h :  X 2  1  .
2


 X 2  X 2  1  și calculăm DS     g 3 h cu
3
3. Cum g 1, facem atribuirea  : 2
g

g  X2 1, h  X2.


4.  :  X 2  X 2  1   g 3 h cu g 1 , h  X 2  X 2  1 .
g2

5.  :
h

X2 X2 1
 X X2 1 .
   
cmmdc h, Dh  X
6. SF  f  :   X  X 2  1  .

Exemplul 5.2.10 Fie f  X 7  X 2  3   F5  X  . Alegem variabila  și efectuăm


6

următorii pași:
1.  : f  X 7  X 2  3  .
6

2. Calculăm DS     g 5 h cu g  X  X 2  3  , h : X 2  X 2  3  .

 X 3  X 2  3  și calculăm DS     g 5 h cu
2
3. Cum g  1, facem atribuirea  : 4
g

, h  X 3  X 2  3 .
2
g 1

4.  :
h X3 X2 3
 2 2  X X2 3 .
  2

 
cmmdc h, Dh  X X 3  
5. SF  f  :   X  X 2  3  .

Exemplul 5.2.11 Fie f   x  1   x  2   F3  X  . Alegem variabila  și efectuăm


3 5

următorii pași:
1.  : f   X  1   X  2  .
3 5

8
2. Calculăm DS     g 3 h cu g  X 2  2 , h : X 2  X  1 .

  X  1  X  2  și calculăm DS     g 3 h cu
3
3. Cum g  1, facem atribuirea  : 2
g
g  X 2, h X 1


4.  :   X  1  X  2   g 3 h cu g 1 şi h   X  1  X  2 
g2

  X  1  X  2 
h
5.  :
cmmdc h, Dh 

6. SF  f  :    X  1  X  2  .

5.3 Algoritmul Berlekamp

După cum se știe, orice corp finit are cardinalul de forma p n . Pentru a demonstra că
invers, dat fiind nu număr natural n și un număr prim p, există un corp cu q  p n elemente
trebuiesc invocate o serie de rezultate de algebră: existența închiderii algebrice și existența
corpurilor de descompunere. Mai exact, se arată că se poate construi un corp cu p n elemente
n
ca și corpul de descompunere al polinomului X p  X . Mai mult, de fapt corpul de
descompunere al acestui polinom este corpul format cu toate rădăcinile sale. Vom arăta în
continuare că orice două corpuri cu același cardinal sunt de fapt izomorfe. Mai mult, dacă este
fixată o închidere algebrică Fp a lui F p , atunci există un unic subcorp L  Fp cu
card  L   p n .

Teorema 5.3.1 (Teorema de structură a grupurilor abeliene finit generate) Pentru orice
grup abelian G finit generat există numerele naturale r și n1 , n2 ,..., nt astfel încât
G  Z r  Z n1  ...  Z nt . (5.2)
O formă similară Teoremei 1.4.5 (Lema chineză a resturilor) este:
Teorema 5.3.2 Fie m, n  N  . Dacă  m, n   1 , atunci
Z mn  Z m  Z n .

Remarca 5.3.3 Teorema 5.3.2 ne arată că descompunerea din relația (5.2) nu este
neapărat unică.
Reamintim faptul că un grup abelian G se numește ciclic dacă există un element
g G astfel încât G este subgrupul generat de g (i.e. dacă pentru orice x  G există n  Z

9
astfel încât g  nx ). Teorema factorilor invarianți ne spune că un grup ciclic este fie izomorf
cu Z, fie izomorf cu Z n .
Lema 5.3.4 Fie G un grup abelian finit. Dacă pentru orice n  N  , mulțimea
Tors n  G    x  G nx  0

are cel mult n elemente, atunci G este ciclic.


Demonstrație:
Din teorema 5.3.1, se poate presupune că G este de forma G  Z n  ...  Z n . Dacă 1 t

arătăm că pentru orice doi indici i, j  1,..., t distincți avem  ni , n j   1 , atunci din Teorema

5.3.2 va rezulta că G  Z n ...n , deci G este ciclic. Modulo o renumerotare, putem presupune
1 t

n1 n
că n   n1 , n2   1 . Fie m1  , m2  2 . Atunci în grupul
n n
Z n1   a a  Z

există cel puțin n elemente x astfel încât nx  0 . Mai exact, elementele mulțimii

A1  m1 , 2m1 ,...,  n  1 m1 , 0 
sunt distincte și au proprietatea cerută. Analog, grupul Z n2   a  a  Z are cel puțin n

     
elemente anulate de n: A2   m2 , 2m2 ,...,  n  1 m2 , 0  . Rezultă că în grupul G există cel

puțin n 2 elemente anulate de n, mai exact toate elementele de forma


 x ,  y ,0,...,0 x  A ,  y   A  .
1 2

Se poate demonstra acum un rezultat foarte util în aplicații, și anume:


Teorema 5.3.5 Fie K un corp, G   K  , un grup finit. Atunci G este ciclic, adică există
n  N  astfel încât G  Z n .

Demonstrație:
Aplicând Lema 5.3.4 grupului G, și observăm că pentru orice n  N  ,

Tors n  G   x  G x n  1  0 
are cel mult n elemente, deoarece polinomul X n  1 are gradul n.
În cele ce urmează este prezentat un algoritm de factorizare a polinoamelor din
F p  X  , p număr prim, inventat de Elwyn Ralph Berlekamp 1 în anul 1967. Acest algoritm,

aplicat unui polinom monic f  F p  X  , grad f  n  1 , stabilește dacă f este ireductibil peste
F p , iar în caz contrar determină efectiv un divizor netrivial g al lui f. Algoritmul Berlekamp

1
Matematician american, născut în anul 1940 în Dover, Ohio, actualmente profesor la University of California,
Berkeley

10
valorifică algoritmi cunoscuți pentru calculu cmmdc al unor polinoame din Fp  X  și

algoritmi de calcul a soluțiilor sistemelor de ecuații liniare cu coeficienți în corpul F p .


Teorema 5.3.6 Următoarele afirmații sunt echivalente pentru un polinom monic
f  F p  X  cu grad f  n  0 :

i) f admite cel puțin doi divizori monici ireductibili distincți;


ii) există un polinom monic   Fp  X  , 1  grad   n astfel încât f
divide pe  p   .
Demonstrație:
Cum a p  a , oricare ar fi a  Fp (Mica Teoremă a lui Fermat) rezultă că polinomul

X p
 X  F p  X  are rădăcinile 0 , 1 , 2,..., p  1 , deci
X p

 X  X  X  1  X  2 ... X  p  1 ,
de unde, înlocuind nedeterminata X cu orice   Fp  X  , obținem

 p       1   2 ...   p  1 .  (5.2)
i)  ii)
Fie f   1e1 2e2 ... rer descompunerea canonică a lui f în Fp  X  , i.e., reprezentarea lui f ca

produs de puteri de polinoame monice ireductibile distincte  1 ,  2 ,...,  r . Fie


c1 , c2 ,..., cr  F p , nu toți egali. Aplicând Lema Chineză a resturilor (Teorema 1.4.5),

determinăm   Fp  X  astfel încât grad   n (dacă grad   n , înlocuim pe  cu  mod f)


și
 kek |   X   ck , 1  k  r .
Avem grad   1 , căci altfel   c , c  Fp . Cum c1 , c2 ,..., cr nu sunt toți egali, există k

astfel încât c  ck  0 . Rezultă că  k k | c  ck  0 , contradicție.


e


Din relația (5.2) deducem că  k k |    , 1  k  r . Cum cmmdc  i i ,  j j  1 oricare
e p e e

ar fi i  j , rezultă că polinomul f   1e1 2e2 ... rer divide pe  p   .
ii)  i)
Să observăm că pentru orice f1 , f 2 ,..., f r  Fp  X  cu cmmdc f i , f j   1 oricare ar fi
i  j , avem

 
   cmmdc h, f i 
 h,  f i 
cmmdc
 1i  r  1i  r

oricare ar fi h  F p  X  .

11
Cum f |  p   și cmmdc  i ,   j   1 oricare ar fi i  j în F p (deoarece
h  F p  X  , h |   i și h |   j  h |   j     i   i  j , deci h  F p ) obținem


f  cmmdc f ,  p      cmmdc f ,   k  . (5.3)
0 k  p

Cum grad   k   n , 0  k  p , în relația (5.3) avem cel puțin doi factori netriviali, i.e.
de grade diferite de 0 și n.
Fie cmmdc f ,   i  și cmmdc f ,   j  cu i  j doi factori netriviali din (5.3). Fie
 s un divizor monic ireductibil pentru primul din acești factori și  t pentru al doilea. Avem

 s   t căci altfel, i  j 0 ar admite un divizor ireductibil, de unde rezultă i).


Vom prezenta acum o procedură de determinare a unui polinom nenul
  c0  c1 X  ...  cn1 X n1  Fp  X  , astfel încât un polinom monic neconstant f  F p  X  de

grad n să dividă pe  p   .
Să observăm că

 p   c0  c1 X  ...  cn1 X n1   c0  c1 X p  ...  cn1 X p  n1 .


p

Efectuând împărțirea cu rest a polinoamelor X ip , 0  i  n , prin f, avem


X ip  fqi  ri , 0  i  n ,

unde qi , ri  Fp  X  , ri  X   ri 0  ri1 X  ...  rin 1 X n1 . Rezultă că

 p    c  r  X   X   f  X  q X 
0 i  n
i i
i

cu q X   Fp  X  și deci polinomul f divide pe  p   dacă și numai dacă f divide polinomul h,


h  c r  X   X  .
0 i  n
i i
i

Dacă h  0 , atunci grad h  n . Deci f divide pe h dacă și numai dacă h  0 , ceea ce revine la
 c0 , c1 ,..., cn1  Q   0, 0,..., 0  (5.4)
unde
 r00  1 r01 ... r0 n1 
 
 r r11  1 
  M n  Fp  .
... r1n1
Q   10
  
 r rn 11 ... rn1n1  1 
 n10

Dacă   c0 , atunci  p    c0p  c0  c0  c0  0 , deci sistemul liniar şi omogen (5.4) admite


întotdeauna soluţiile
c 0 , 0,..., 0 

cu c0  F p şi admite doar aceste soluţii dacă şi numai dacă rang Q  n  1 . În acest caz, dacă
f este liber de pătrate, atunci f este ireductibil în baza Teoremei 5.3.1. Aşacum am văzut în

12
subcapitolul 5.1, cu algoritmul SF ne putem reduce la problema factorizării polinoamelor
monice f  F p  X  , f liber de pătrate.
Factorizarea unor asemenea polinoame f libere de pătrate se poate face cu algoritmul
Berlekamp, care presupune parcurgerea următorilor paşi:
Pasul 1: Se reprezintă polinoamele X ip , 0  i  n , sub forma:
X ip  fqi  ri 0  ri1 X  ...  rin1 X n 1

cu qi  F p  X  şi rij  F p , 0  i  n , 0  j  n , şi se consideră matricea Q  R  I n  M n  Fp 

, unde R   rij  .
Pasul 2: Se calculează rangQ şi se conchide că f este ireductibil dacă rang Q  n  1 .
Pasul 3: Dacă rang Q  n  1 , se alege o soluţie  c0 , c1 ,..., cn 1  a sistemului omogen

(5.4) având cel puţin o componentă ci  0 cu indicele i  1 şi se consideră polinomul


  c0  c1 X  ...  c n 1 X n 1  F p  X  .

Pasul 4: Se calculează următoarea descompunere a lui f


f  cmmdc f , p      cmmdc f ,  c 
cFp
.

Pasul 5: Factorilor netriviali ai lui f din descompunerea de la Pasul 4 li se aplică


acelaşi tratament ca cel aplicat lui f la paşii 1) – 4) ş.a.m.d. până se obţine descompunerea
canonică a lui f.
Observaţia 5.3.7 Pentru simplificarea scrierii, în exemplele următoare vom nota
clasele 0 , 1 ,..., p  1 cu 0,1,..., p  1 ,având grijă ca adunarea şi înmulţirea acestora să se
efectueze modulo p.
Exemplul 5.3.8 Să se arate că polinomul X 4  X 3  1 F2  X  este un polinom

ireductibil peste F2 .
Cum D f  X 2 şi cmmdc f , Df   1 , rezultă că SF  f   f . Vom efectua mai întâi
împărţirile cu rest ale polinoamelor X 2i , 0  i  4 , prin polinomul f:
 X 0  f  X   0 1
 2
X  f  X  0  X
2

 4
 X  f  X  1  X  1
3

 
 X 6  f  X   X 2  X  1  X 3  X 2  X  1

Rezultă că
1 0 0 0 1 0 0 0  0 0 0 0
     
0 0 1 0  0 1 0 0  0 1 1 0
Q  R  I4    
1 0 0 1 0 0 1 0 1 0 1 1
     
1 1 1 1   0 0 0 1   1 1 1 0 

13
Cum rang Q  3  4  1 rezultă că f este ireductibil peste F2 .
Exemplul 5.3.9 Folosind algoritmul Berlekamp, să se descompună în factori

ireductibili peste corpul F3 , polinomul f  X 5  2 X 4  X 3  X 2  2  F3  X  .


Cum

cmmdc f , Df   cmmdc X 5  2 X 4  X 3  X 2  2, 2 X 4  2 X 3  2 X  1 , 
rezultă că f este liber de pătrate. Aplicăm algoritmul Berlekamp polinomului
f  X 5  2 X 4  X 3  X 2  2  F3  X  . Împărțim prin f polinoamele X 3i , 0  i  5 , și obținem

 X 0  f X  0  1
 3
 X  f  X   0  X
3

 X  f  X    X  1  X  2 X  X  1 ,
6 3 2

X 9  f  X    X 4  2 X 3  2 X   X

 X 12  f  X    X 7  X 6  X 4   2 X 4

Rezultă că
1 0 0 0 0 1 0 0 0 0  0 0 0 0 0
     
0 0 0 1 0 0 1 0 0 0  0 2 0 1 0
Q  R  I5   1 1 2 1 0  0 0 1 0 0  1 1 1 1 0   M 5  F3 
     
0 1 0 0 0 0 0 0 1 0  0 1 0 2 0
0 0 0 0 2   0 0 0 0 1   0 0 0 0 1 

Cum rang Q  2 , f admite descompuneri netriviale în F3  X  . Vom determina un polinom

  c0  c1 X  c2 X 2  c3 X 3  c4 X 4  F3  X  astfel încât f |  3   și grad   5 . Coeficienții lui


 formează o soluție a sistemului omogen
 c0 , c1 , c2 , c3 , c4  Q   0,0,0,0,0 ,
peste F3   0,1,2 , adică

c2  0
 2c  c  c  0
 1 2 3
c2  0 .
 c  c  2c  0
 1 2 3

c4  0

Soluția generală a sistemului omogen este   ,  ,0,  ,0 cu  ,   F3   0,1,2 . Luând   0


și   1 , găsim   X 3  X și avem

14
f  cmmdc f ,  3     
 cmmdc  f ,    cmmdc  f ,   1  cmmdc  f ,   1 
 
 cmmdc X 5  2 X 4  X 3  X 2  2, X 3  X  cmmdc X 5  2 X 4  X 3  X 2  2, X 3  X  2  Așadar,  

 cmmdc X  2 X  X  X  2, X  X  1 
5 4 3 2 3


 X  1  X  1 X  X  2
2
  2

descompunerea canonică a lui f este
 
f  X 2  1  X  1 X 2  X  2 .  
Exemplul 5.3.10 Folosind algoritmul Berlekamp, să se descompună în factori

ireductibili peste corpul F3 , polinomul f  X 3  2 X 2  X  2  F3  X  .


Cum
cmmdc f , Df   cmmdc X 3  2 X 2  X  2, X  1  1 ,  
rezultă că f este liber de pătrate. Aplicăm algoritmul Berlekamp polinomului
f  X 3  2 X 2  X  2  F3  X  . Împărțim prin f polinoamele X 3i , 0  i  3 , și obținem

 X0  fX 1
 3
 X  f  X  1  X  2 X  1 ,
2

X 6  f  X  X 3  X 2  X 2

Rezultă că
1 0 0 1 0 0  0 0 0
     
Q  R  I3   1 2 1  0 1 0   1 1 1   M 3  F3 
0 0 1   0 0 1   0 0 0 

Cum rang Q  1 , f admite descompuneri netriviale în F3  X  . Vom determina un polinom

  c0  c1 X  c2 X 2  F3  X  astfel încât f |  3   și grad   3 . Coeficienții lui  formează

o soluție a sistemului omogen


 c0 , c1 , c2  Q   0,0,0 ,
peste F3   0,1,2 , adică c1  0 .
Soluția generală a sistemului omogen este   ,0,   cu  ,   F3   0,1,2 . Luând   0 și
  1 , găsim   X 2 și avem

f  cmmdc f ,  3     
 cmmdc f ,    cmmdc f ,   1  cmmdc f ,   1 

 cmmdc X 3  2 X 2  X  2, X 2  cmmdc X 3  2 X 2  X  2, X 2  1    

 cmmdc X  2 X  X  2, X  1 
3 2 2


 1 X  1  X  2
2

Așadar, descompunerea canonică a lui f este
 
f  X 2  1  X  2 .

15
5.4 Algoritmul DD

Cu algoritmul SF, problema factorizării polinoamelor monice din F p  X  s-a redus la


problema factorizării polinoamelor libere de pătrate. În continuare, vom încerca să reducem
problema factorizării polinoamelor monice din F p  X  la cazul polinoamelor libere de pătrate
cu toţi divizorii ireductibili de acelaşi grad.
Pentru aceasta, fie f  F p  X  un polinom monic liber de pătrate şi
f   1 2 ... r

reprezentarea sa ca produs de polinoame monice ireductibile distincte. Dacă


s  max {grad  i | 1  i  r }
şi 1  k  r , notăm cu g k produsul tuturor divizorilor monici ireductibili de grad k ai lui f.
Dacă f nu are divizori ireductibili de grad k, definim g k  1 . Evident g s  1 .
Ansamblul de polinoame  g1 , g 2 ,..., g s  se numeşte descompunerea grade-distincte a
polinomului f şi avem
f  g1 g 2 ...g s .

Fie  g1 , g 2 ,..., g s  descompunerea grade-distincte a polinomului monic liber de


pătrate
f   1 2 ... r  F p  X 

de grad  1 . Definim recurent polinoamele hi  F p  X  prin


h0  X şi hi  hip1 mod f , i  1 ,

i.e. hi este restul împărţirii prin f a polinomului hip1 când i  1 . Se observă că


i
hi  X p mod f , i  0 . (5.5)
0 i 1
În adevăr, dacă i  0 , atunci h0  X  X p mod f . Presupunând că hi 1  X p mod f , adică

X p i 1
 fq  hi 1 pentru q  F p  X  ,

prin ridicarea la puterea p obţinem


X pi
 ff p 1
q p   hip1 ,

cu alte cuvinte
pi
X mod f  hip1 mod f  hi .

Afirmăm că pentru orice k , 1  k  s avem

16
cmmdc  hk  X , g k ,  , g s   g k . (5.6)

 k

În adevăr, cum hk  X  X p  X mod f rezultă că un divizor ireductibil  al lui f divide pe
hk  X dacă și numai dacă divide pe X pk
 X . Dacă  X pk
X , atunci grad  k . Pe de

altă parte, dacă  gk  gs , atunci grad   k . Acum rezultă imediat că


g k  cmmdc  hk  X , g k  g s  .

Fie f  Fp  X  un polinom monic liber de pătrate cu grad f  1 . Din analiza de mai


sus rezultă că luând valorile inițiale
h0 : X , f 0 : f , și i : 0

și repetând pasul
i : i  1 , hi : hip1 mod f,

f i 1
g i : cmmdc  hi  X , f i 1  , f i :
gi

până când se obține un prim indice s astfel încât f s  1 , atunci descompunerea grade-distincte

a lui f este  g1 , g 2 ,  , g s  .
Această procedură de calcul pentru descompunerea grade-distincte se numește
Algoritmul DD (distinct degrees).
Observația 5.4.1 Algoritmul DD poate fi descris în Pseudocod astfel:
INPUT: un polinom monic f  Fp  X  , f liber de pătrate

OUTPUT: descompunerea grade-distincte  g1 , g 2 ,  , g s  a polinomului f


INITIALIZATION: h0 : X , f 0 : f , și i : 0
1. REPEAT: i : i  1 , hi : hi 1 mod f,
p

fi  1
g i : cmmdc  hi  X , f i 1  , f i :
gi

2. UNTIL f i  1
3. s : i
4. RETURN:  g1 , g 2 ,  , g s 

Exemplul 5.4.2 Fie f  X 6  X 5  X 2  X  F3  X  . Să se calculeze descompunerea


grade distincte a lui f.
Avem
h1  h03 mod f  X 3 mod f  X 3 ,

 
g1  cmmdc h1  X , f 0   cmmdc X 3  X , f  X  X  1  ,

17
f0 X 6  X 5  X 2  X
f1    X4 1,
g1 X  X  1

h2  h13 mod f  X 9 mod f  X ,

g 2  cmmdc h2  X , f1   cmmdc 0, f1   f1  X 4  1 ,
f1 X 4  1
f2   1.
g2 X 4  1

Rezultă că descompunerea grade-distincte a lui f este


 g1 , g 2    X 2  X , X 4  1  .

5.5 Algoritmul Cantor-Zassenhaus

Cu algoritmii SF şi DD problema factorizării polinoamelor monice din Fp  X  a fost


redusă la cazul polinoamelor monice despre care știm că reprezentarea lor canonică este un
produs de polinoame monice ireductibile, distincte şi de acelaşi grad.
În acest caz, ca alternativă la Algoritmul Berlekamp, prezentăm algoritmul
probabilistic inventat în 1981 de către David G. Cantor 2 şi Hans Julius Zassenhaus3. În acest
scop vom prezenta următoarea:
q 1
Lema 5.5.1 Fie Fq corpul cu q elemente, k un divizor al lui q  1 , e : şi
k

 
S  x k x  Fq* . Atunci

i) S este un subgrup de ordin e al grupului  F , .


*
q

ii) S   y  Fq y  1 .
* e

Demonstraţie:
i) Conform lui 6.3.4, există   Fq astfel încât ord     q  1 . Fie  :  k . Aplicând
*

2.3.12, rezultă că
q 1
ord     e
k

şi deci   1,  ,  ,  ,   este subgrup de ordin e al grupului


e 1
2
 F , .
*
q Pentru orice j  N ,

avem  j   kj   j   S , deci
k
 S .

2
David G. Cantor (1935-2012), profesor de matematică la UCLA, The University of California, Los Angeles
3
Hans Julius Zassenhaus (1912-1991), matematician german, profesor la Ohio State University

18
yS y   i  pentru un i cu 0  i  q  1 , deci
k
Reciproc, dacă , atunci

 
y  k
i
 i   . Rezultă că S   , ceea ce arată că S este un subgrup de ordin e al
grupului  F , .
*
q

ii) Fie T :  y  Fq y  1 . Pentru orice j  N avem


* e

q 1 q 1
    
j e j k   kj  k   j 
q 1
  q 1   1 j  1 ,
j

deci S  T .
Reciproc, fie y  T . Există atunci i, 0  i  q  1 , astfel încât y   i . Cum y e  1 ,
avem  ie  1 , deci q  1 ie . Dar q  1  ek , deci ki . Aşadar, i  kj pentru un j  N şi
atunci y   kj   j  S , ceea ce arată că avem şi T  S .

Corolarul 5.5.2 Fie p un număr prim impar, d  N* , q  p d şi P  a  Fq a  b cu


* 2


b  Fq* . Avem

q 1
i) P este un subgrup de ordin al grupului  F , . *
q

2


q 1


ii) P  a  Fq* a 2
 1 .

 

q 1 q 1
iii) a 2
 1,1 , a  Fq* şi valorile 1 şi -1 ale lui a 2 sunt egal probabile.

Demonstraţie:
Afirmaţiile i) şi ii) rezultă din Lema 5.5.1.
q 1
, a  Fq* . Avem   a  1 , deci    1   1  0 . Cum Fq este
q 1
iii) Fie   a 2
2

corp, rezultă că   1  0 sau   1  0 , deci   1 .


Presupunem că p este un număr prim impar şi fie f  Fp  X  ,
f   1 2   r ,

unde r  2 şi  1 ,  2 , ,  r  Fp  X  sunt polinoame monice ireductibile distincte toate având

acelaşi grad d. Să observăm că dacă g  Fp  X  , 1  grad g  n , unde n  grad f , iar


h=cmmdc(g, f), atunci h este divizor netrivial al lui f (i.e. 1  grad h  n ) dacă şi numai dacă
1  Cardi  i divide g   r .

Pentru orice i, 1  i  r , există o extindere Li a lui Fp şi ui  Li astfel încât  i  ui   0

(vezi 6.2.15). Avem Min  ui , Fp    i şi conform lui 6.1.4 Fi : Fp  ui  este un subcorp al lui

Li , iar 1, ui , ui2 ,  , uid 1 este o bază a lui Fi ca spaţiu vectorial peste Fp . Rezultă că

19
extinderea Fp  Fi are gradul d şi deci

q : p d  Fi , i , 1  i  r .

Definim aplicațiile
 i : Fp  X   Fi  Fp  ui ,  i  g   g  ui  , 1  i  r ,

și aplicația
 : Fp  X    Fi ,   g    1  g  ,  2  g  , ,  r  g  .
1i r

Să observăm că  i g dacă și numai dacă i  g   0 în corpul Fi .


Dat polinomul f  Fp  X  produs de r  2 polinoame monice ireductibile și distincte
de același grad d, Algoritmul Cantor-Zassenhaus determină un divizor propriu h al lui f. În
acest scop se alege la întâmplare un polinom monic g  Fp  X  astfel încât
1  grad g  n  grad f  dr , r  2 .

Dacă cmmdc  g , f   1 , atunci polinomul h : cmmdc  g, f  este divizor propriu al lui f.


Dacă cmmdc  g , f   1 , atunci cmmdc  g ,  i   1 , 1  i  r , și deci  i  g   g  ui   0 în

corpul Fi , 1  i  r . În acest caz, conform Corolarului 5.5.2, avem  i  1,1 , 1  i  r ,

unde  i   i  g  , 1  i  r și e 
e q 1 pd 1
 . De asemenea,
2 2

  g e  1    1  1,  2  1,  ,  r  1   Fi .
1i  r

Dacă g :  g e  1 mod f și h : cmmdc  g, f  , atunci h  1 și h  f (adică h este divizor

propriu al lui f), mai puțin cazul  1   2     r , ceea ce poate să apară cu probabilitatea

1
21 / 2   2 r 1 
r
.
2

Facând m alegeri arbitrare pentru g  Fp  X  cu 1  grad g  n  grad f  dr , r  2 , și


aplicând de fiecare dată lui g procedura de calcul precedentă, probabilitatea de a obține un

1
divizor propriu al lui f este 1  . Astfel, dacă m  5 probabilitatea să avem succes este
2m

1 31
egală cu 1  5
 , deja suficient de mare.
2 32
Observația 5.5.3 În Pseudocod, Algoritmul Cantor-Zassenhaus se descrie astfel:
INPUT: f  Fp  X  , p prim, iar f un polinom monic produs de r  2 polinoame ireductibile monice și
distincte, de același grad d
OUTPUT: un divizor monic al lui f, h  1 și h  f

20
INITIALIZATION: un polinom monic g  Fp  X  , 1  grad g  rd  grad f
1. h : cmmdc  g, f 
2. Dacă h  1 RETURN h
q 1
3. g : g 2 mod f cu q  p d

4. h : cmmdc  g  1, f 
5. Dacă h  1 și h  f RETURN h, altfel RETURN “failure”
Exemplul 5.5.4 Fie polinomul f  X 6  X 5  X 2  X  F3  X  de la Exemplul 5.4.2. Să
se descompună în factori ireductibili folosind algoritmul Cantor-Zassenhaus.
Avem n  6 , r  2 , d  3 , q  33  27 .
Alegem g  X  1  F3  X  și calculăm
 
h  cmmdc g , f   cmmdc X  1, X 6  X 5  X 2  X  X  1 .

RETURN: h  X  1 .
  
f  X 6  X 5  X 2  X   X  1 X 5  X  X  X  1 X 4  1 

BIBLIOGRAFIE

1. Albu T., Ion D.I., Itinerar elementar în algebra superioară, Ed. Matrix Rom,
București, 2012
2. Albu T., Ion D.I., Capitole de Teoria algebrică a numerelor, Ed. Academiei,
București, 1984
3. Albu T., Construcții elementare de inele și corpuri comutative (I), Gazeta matematică,
XCIII, Nr. 8 (1988), 305-311
4. Albu T., Construcții elementare de inele și corpuri comutative (II), Gazeta
matematică, XCIII, Nr. 9 (1988), 337-346
5. Albu T., Construcții elementare de inele și corpuri comutative (III), Gazeta
matematică, XCIII, Nr. 10 (1988), 386-396

21
6. Becheanu M., Dincă A., Ion I.D., Niță C., Purdea I., Radu N., Ștefănescu M., Vraciu
C., Algebra pentru perfecționarea profesorilor, Ed. Didactică și Pedagogică,
București, 1983
7. Bușneag D., Piciu D., Lecții de algebră, Ed. Universitaria, Craiova, 2002
8. Ion D.I., O demonstrație elementară pentru o teoremă a lui Frobenius, Gazeta
matematică, XCII, Nr. 11-12 (1987), 398-403
9. Ion D.I., Ghioca A., Nediță N., Algebră, Manual pentru clasa a XII-a, Ed. Didactică și
Pedagogică, București, 1985
10. Ion D.I., Năstăsescu C., Niță C., Complemente de Algebră, Ed. Științifică și
Enciclopedică, București, 1984
11. Ion D.I., Radu N., Algebră, Ed. Didactică și Pedagogică, București, 1991
12. Năstăsescu C., Introducere în Teoria mulțimilor, Ed. Didactică și Pedagogică,
București, 1974
13. Năstăsescu C., Niță C., Teoria calitativă a ecuațiilor algebrice, Ed. Tenică, 1979
14. Năstăsescu C., Niță C., Stănescu I., Elemente de Algebră superioară, manual pentru
clasa a XI-a, Ed. Didactică și Pedagogică, București, 1987
15. Năstăsescu C., Niță C., Vraciu C., Bazele algebrei, vol. I, Ed. Academiei Republicii
Socialiste România, București, 1986

22

S-ar putea să vă placă și

  • Partea A Bun
    Partea A Bun
    Document14 pagini
    Partea A Bun
    Albici Mihaela
    Încă nu există evaluări
  • 0 Rebus Multimi
    0 Rebus Multimi
    Document1 pagină
    0 Rebus Multimi
    mikas10
    Încă nu există evaluări
  • Cap 2
    Cap 2
    Document2 pagini
    Cap 2
    Albici Mihaela
    Încă nu există evaluări
  • Introducere
    Introducere
    Document3 pagini
    Introducere
    Albici Mihaela
    Încă nu există evaluări
  • Aritmetica
    Aritmetica
    Document149 pagini
    Aritmetica
    nitaionel
    Încă nu există evaluări
  • Partea C Bun
    Partea C Bun
    Document23 pagini
    Partea C Bun
    Albici Mihaela
    Încă nu există evaluări
  • Concluzii Bun
    Concluzii Bun
    Document2 pagini
    Concluzii Bun
    Albici Mihaela
    Încă nu există evaluări
  • Argument
    Argument
    Document2 pagini
    Argument
    Albici Mihaela
    Încă nu există evaluări
  • Cap2 Bun
    Cap2 Bun
    Document16 pagini
    Cap2 Bun
    Albici Mihaela
    Încă nu există evaluări
  • Argument
    Argument
    Document2 pagini
    Argument
    Albici Mihaela
    Încă nu există evaluări
  • Concluzii
    Concluzii
    Document1 pagină
    Concluzii
    Albici Mihaela
    Încă nu există evaluări
  • Cap1 Bun
    Cap1 Bun
    Document24 pagini
    Cap1 Bun
    Albici Mihaela
    Încă nu există evaluări
  • Concluzii
    Concluzii
    Document1 pagină
    Concluzii
    Albici Mihaela
    Încă nu există evaluări
  • Formula Lui Pompeiu
    Formula Lui Pompeiu
    Document4 pagini
    Formula Lui Pompeiu
    Albici Mihaela
    Încă nu există evaluări
  • Card 3
    Card 3
    Document4 pagini
    Card 3
    Albici Mihaela
    Încă nu există evaluări
  • Formula Lui Pompeiu
    Formula Lui Pompeiu
    Document4 pagini
    Formula Lui Pompeiu
    Albici Mihaela
    Încă nu există evaluări
  • Cap 1 A
    Cap 1 A
    Document2 pagini
    Cap 1 A
    Albici Mihaela
    Încă nu există evaluări
  • Cap 2 A
    Cap 2 A
    Document2 pagini
    Cap 2 A
    Albici Mihaela
    Încă nu există evaluări
  • Anexa
    Anexa
    Document5 pagini
    Anexa
    Albici Mihaela
    Încă nu există evaluări
  • Cap 4
    Cap 4
    Document2 pagini
    Cap 4
    Albici Mihaela
    Încă nu există evaluări
  • Anexa
    Anexa
    Document5 pagini
    Anexa
    Albici Mihaela
    Încă nu există evaluări
  • Cap 2
    Cap 2
    Document2 pagini
    Cap 2
    Albici Mihaela
    Încă nu există evaluări
  • Cap 1
    Cap 1
    Document24 pagini
    Cap 1
    Albici Mihaela
    Încă nu există evaluări
  • Moneda
    Moneda
    Document8 pagini
    Moneda
    Albici Mihaela
    Încă nu există evaluări
  • 1.Art-Teorema Lui Euclid
    1.Art-Teorema Lui Euclid
    Document4 pagini
    1.Art-Teorema Lui Euclid
    Albici Mihaela
    100% (1)
  • Operatii Cu Numere Reale Reprezentate Prin Litere
    Operatii Cu Numere Reale Reprezentate Prin Litere
    Document5 pagini
    Operatii Cu Numere Reale Reprezentate Prin Litere
    Albici Mihaela
    Încă nu există evaluări
  • Teorema Lui Euclid
    Teorema Lui Euclid
    Document4 pagini
    Teorema Lui Euclid
    Albici Mihaela
    Încă nu există evaluări
  • Final 1
    Final 1
    Document6 pagini
    Final 1
    Albici Mihaela
    Încă nu există evaluări
  • Operatii Cu Numere Reale Reprezentate Prin Litere
    Operatii Cu Numere Reale Reprezentate Prin Litere
    Document5 pagini
    Operatii Cu Numere Reale Reprezentate Prin Litere
    Albici Mihaela
    Încă nu există evaluări