POLINOMOK VÉGES TESTEK FELETT

Hasonló dokumentumok
FELADATOK A BEVEZETŽ FEJEZETEK A MATEMATIKÁBA TÁRGY III. FÉLÉVÉHEZ. ÖSSZEÁLLÍTOTTA: LÁNG CSABÁNÉ ELTE IK Budapest

Polinomok (el adásvázlat, április 15.) Maróti Miklós

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

1. A maradékos osztás

Diszkrét matematika 2.

1. Polinomok számelmélete

Klasszikus algebra előadás. Waldhauser Tamás március 24.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Hamming-kód. Definíció. Az 1-hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F 2 fölötti vektorokkal foglalkozunk.

Diszkrét matematika 2.C szakirány

Nagy Gábor compalg.inf.elte.hu/ nagy

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

Hibajavító kódolás (előadásvázlat, november 14.) Maróti Miklós

Polinomok (előadásvázlat, október 21.) Maróti Miklós

Nagy Viktor VÉGES TESTEK

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Kódoláselmélet. (Humann kód, hibajavító kódok, véges testek konstrukciója. Reed-Solomon kód és dekódolása.)

13.1.Állítás. Legyen " 2 C primitív n-edik egységgyök és K C olyan számtest, amelyre " =2 K, ekkor K(") az x n 1 2 K[x] polinomnak a felbontási teste

Gy ur uk aprilis 11.

Diszkrét matematika 2.C szakirány

Kongruenciák. Waldhauser Tamás

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Algoritmuselmélet gyakorlat (MMN111G)

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

Diszkrét matematika alapfogalmak

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

A parciális törtekre bontás?

Diszkrét matematika 2.C szakirány

Egyenletek, egyenlőtlenségek VII.

Alapfogalmak a Diszkrét matematika II. tárgyból

1. Egész együtthatós polinomok

Hibajavító kódok május 31. Hibajavító kódok 1. 1

Az állítást nem bizonyítjuk, de a létezést a Paley-féle konstrukció mutatja: legyen H a

Kódelméleti és kriptográai alkalmazások

Lineáris algebra és a rang fogalma (el adásvázlat, szeptember 29.) Maróti Miklós

Algebra gyakorlat, 8. feladatsor, megoldásvázlatok

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

3. Lineáris differenciálegyenletek

Zárthelyi feladatok megoldásai tanulságokkal Csikvári Péter 1. a) Számítsuk ki a 2i + 3j + 6k kvaternió inverzét.

1. feladatsor Komplex számok

HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet:

Algebrai alapismeretek az Algebrai síkgörbék c. tárgyhoz. 1. Integritástartományok, oszthatóság

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

1. A maradékos osztás

2. Tétel (Az oszthatóság tulajdonságai). : 2. Nullát minden elem osztja, de. 3. a nulla csak a nullának osztója.

Nagy Gábor compalg.inf.elte.hu/ nagy

Waldhauser Tamás december 1.

Miller-Rabin prímteszt

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

Határozott integrál és alkalmazásai

0 ; a k ; :::) = ( 0: x = (0; 1; 0; 0; :::; 0; :::) = (0; 1)

L'Hospital-szabály március 15. ln(x 2) x 2. ln(x 2) = ln(3 2) = ln 1 = 0. A nevez határértéke: lim. (x 2 9) = = 0.

FFT. Második nekifutás. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék október 2.

Véges testek és alkalmazásaik

Diszkrét matematika 2.

Diszkrét matematika I.

1. A Horner-elrendezés

24. szakkör (Csoportelméleti alapfogalmak 3.)

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Diszkrét matematika II. feladatok

Polinomgy r k. 1. Bevezet. 2. Polinomok. Dr. Vattamány Szabolcs.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet.

Diszkrét matematika 2.C szakirány

SE EKK EIFTI Matematikai analízis

Nagy Gábor compalg.inf.elte.hu/ nagy

MM CSOPORTELMÉLET GYAKORLAT ( )

LÁNG CSABÁNÉ POLINOMOK ALAPJAI. Példák és megoldások

Lineáris Algebra. Tartalomjegyzék. Pejó Balázs. 1. Peano-axiomák

A kódok típusai Kódolás: adatok megváltoztatása. Dekódolás: a megváltoztatott adatból az eredeti visszanyerése.

Klasszikus algebra előadás. Waldhauser Tamás április 28.

1. Polinomfüggvények. Állítás Ha f, g C[x] és b C, akkor ( f + g) (b) = f (b) + g (b) és ( f g) (b) = f (b)g (b).

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

1. Interpoláció. Egyértelműség Ha f és g ilyen polinomok, akkor n helyen megegyeznek, így a polinomok azonossági tétele miatt egyenlők.

Nagy Gábor compalg.inf.elte.hu/ nagy

1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy b = ax. Ennek jelölése a b.

MTN714: BEVEZETÉS AZ ABSZTRAKT ALGEBRÁBA. 1. Csoportelméleti alapfogalmak

Klasszikus algebra előadás. Waldhauser Tamás április 14.

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

Algebra es sz amelm elet 3 el oad as Nevezetes sz amelm eleti probl em ak Waldhauser Tam as 2014 oszi f el ev

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

Diszkrét matematika II., 8. előadás. Vektorterek

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

Nagy Gábor compalg.inf.elte.hu/ nagy

Számelmélet (2017. február 8.) Bogya Norbert, Kátai-Urbán Kamilla

Gonda János POLINOMOK. Példák és megoldások

VEKTORTEREK I. VEKTORTÉR, ALTÉR, GENERÁTORRENDSZER október 15. Irodalom. További ajánlott feladatok

DiMat II Végtelen halmazok

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell

y + a y + b y = r(x),

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

4. Test feletti egyhatározatlanú polinomok. Klasszikus algebra előadás NE KEVERJÜK A POLINOMOT A POLINOMFÜGGVÉNNYEL!!!

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet

Hibadetektáló és javító kódolások

Permutációk véges halmazon (el adásvázlat, február 12.)

7. Számelmélet. 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel?

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

Átírás:

POLINOMOK VÉGES TESTEK FELETT SZAKDOLGOZAT Készítette: Csohány Dóra Matematika BSc - elemz szakirány Témavezet : Ágoston István, egyetemi docens ELTE TTK, Algebra és Számelmélet Tanszék Eötvös Loránd Tudományegyetem Természettudományi Kar Budapest, 2014

Tartalomjegyzék Táblázatok jegyzéke Bevezetés III IV 1. Deníciók és alaptulajdonságok 1 2. Irreducibilis polinomok 5 2.1. Irreducibilisek felsorolása............................ 5 2.2. Irreducibilisek száma.............................. 7 2.3. Képlet az irreducibilisek számára....................... 9 3. Berlekamp algoritmusa 13 3.1. Többszörös irreducibilis faktorok....................... 13 3.2. Szükséges tételek................................ 15 3.3. Az algoritmus.................................. 17 3.4. Példák...................................... 18 4. Kódelméleti alkalmazás 23 4.1. Alapfogalmak, jelölések............................. 23 4.2. Lineáris kódok, Reed-Solomon kódok..................... 25 4.3. Reed-Solomon kódok generálása........................ 27 Irodalomjegyzék 30 Köszönetnyilvánítás 31 Nyilatkozat 32 II

Táblázatok jegyzéke 2.1. Irreducibilisek F 2 felett............................. 7 2.2. Normált irreducibilisek F 3 felett........................ 7 2.3. Normált irreducibilisek száma......................... 9 4.1. Az F 2 /(x 4 + x 3 + 1) feletti α primitív elem hatványai............ 28 III

Bevezetés A dolgozatom témája véges testek felett értelmezett polinomok, ezen belül is ezek faktorizációja és az irreducibilitás vizsgálata. Ha egy nagy fokú egész együtthatós polinomot szeretnénk irreducibilis tényez kre bontani Z felett (vagy akár Q felett), akkor ez gyakran nem is olyan egyszer feladat. Ezért érdemes lehet visszavezetni a problémát egy viszonylag egyszer bbre, azaz faktorizáljuk a polinomot modulo q, az így kapott felbontásból pedig következtethetünk a Z feletti felbontására. Az els fejezetben a véges testekr l, azok felépítésér l és néhány érdekes tuladjonságáról lesz szó. A második fejezetben el ször megpróbálom felírni az alacsony fokú polinomokat a kételem és a háromelem test felett. Ezután ezek megszámolása lesz a feladat, el ször egy rekurzív módszerrel majd egy hatékonyabb képlet segítségével fogom ezt megtenni. A harmadik fejezetben Berlekamp algoritmusát szeretném ismertetni. Ez az eljárás véges test feletti polinomok faktorizációját határozza meg. Hatákonyságát az adja leginkább, hogy egyszer maradékos osztást, és legnagyobb közös osztó számolást igényel, ezek a m veletek pedig gyorsan elvégezhet k. Az utolsó, azaz negyedik fejezetben egy kódelméleti alkalmazást mutatok be. A teljesség igénye nélkül csak nagyvonalakban vezetném be ezt a területet azokra a deníciókra és tételekre koncentrálva, amelyek szükségesek ahhoz, hogy egy konkrét kódon szemléltetni tudjam a véges testek feletti polinomok egy alkalmazását. Tehát a kódelméleti bevezetés után a Reed-Solomon kódról lesz szó, és hogy hogyan tudunk létrehozni ilyen kódokat. IV

1. fejezet Deníciók és alaptulajdonságok Hogy véges testek felett tudjunk dolgozni, el ször meg kell vizsgálnunk azok szerkezetét. Ezt különböz deníciók, állítások és tételek alapján fogom ismertetni. 1.0.1. Állítás. Legyen K tetsz leges test. Ekkor α K, α 0 elemre, az α additív rendje ugyanaz a szám, és ez vagy vagy egy p prímszám. Bizonyítás. Tegyük fel, hogy valamely r 0 K-beli elem rendje véges, azaz létezik olyan n > 0 természetes szám, hogy n r = 0. Ekkor tetsz leges s K-ra igaz a következ : 0 = (n r) s = (r + r + + r) s = rs }{{}} + rs {{ + rs } = r (s + s + s) = r (n s). }{{} n db n db n db Mivel r 0 és K nullosztómentes (mivel test), ez csak úgy lehet 0, ha n s = 0, így ha r és s szerepét megcseréljük, akkor kapjuk, hogy r és s rendje megegyezik, azaz o(r) = o(s), r, s K +, r, s 0-ra. Most megmutatjuk, hogy a nem nulla elemek közös rendje, n prímszám. Legyen tehát o(r) = n <, és vegyük n egy felbontását n = n 1 n 2. Ekkor: 0 = n r = n 1 (n 2 r). Ha n 2 < n, akkor n 1 (n 2 r) = 0-ban n 2 r 0, vagyis o(n 2 r) = n miatt n 1 n-nek teljesülnie kell, vagyis n = n 1, és n 2 = 1, tehát n prím. 1.0.2. Deníció. Legyen K tetsz leges test, ekkor a test karakterisztkáján a következ t értjük: char R = { p, ha o(r) = p, r K, r 0 0, ha o(r) =, r K, r 0. 1

1.0.3. Állítás. Legyen K kommutatív test. Ekkor ha char K = p, akkor Z p részteste K-nak, és ez a legsz kebb résztest K-ban. Bizonyítás. Jelöljük K egységelemét e-vel, és tekintsük az alábbi halmazt: L = {0, e, e + e = 2 e, e + e + e = 3 e,..., (p 1) e}. Ha char K = p, akkor } e + e + {{ + e } = 0, mivel o(e) = p. Ezért L részcsoport K + -ban. p db Könnyen belátható, hogy az m m e megfeleltetés egy bijektív csoporthomomorzmus Z + p -ból L-be, és az is világos, hogy ez a megfeleltetés meg rzi a szorzást is: Így L résztest, és L = Z p. (m e) (n e) = (m n) e 2 = (m n) e. Legyen most T a K-nak egy tetsz leges részeste. Ekkor T 0, így T multiplikatív csoportja (T ) részcsoportja K multiplikatív csoportjának (K -nek). Ezért K egységeleme, e T. Így L T, vagyis L része K összes résztestének. Ilyenkor azt mondjuk, hogy L a K prímteste. 1.0.4. Állítás. Ha K egy véges test és elemszámát K -val jelöljük, akkor a K feletti n-dimenziós vektortérnek K n eleme van. Bizonyítás. A V vektortér elemei egyértelm en felírhatók k 1 v 1 +... k n v n alakban, ahol v 1,... v n V egy bázisa. Ekkor minden k i K elem K -féleképpen választható ki egymástól függetlenül, vagyis K K K = K n féle elem van V -ben. 1.0.5. Állítás. Ha F véges test, akkor az elemszáma prímhatvány, azaz F = p n, ahol p =char F. Bizonyítás. Mivel F véges, ezért tudjuk, hogy az elemek rendje véges, így a karakterisztikája, nem lehet 0. Az el bbiek szerint F-nek van egy Z p -vel izomorf részteste (a prímtest). Ebb l következik, hogy F vektortér Z p felett. Ennek a dimenziója legyen n = dim Zp F. Ebb l adódik, hogy F = (Z p ) n, vagyis F elemszáma p n, F = p n Azt, hogy p n -re p n elem test, és ez egyértelm, az alábbi deníció és állítások mutatják. 1.0.6. Deníció. Egy tetsz leges K test feletti f polinom felbontási testének nevezzük, azt a legsz kebb K-t tartalmazó L testet, amelyben f lineáris tényez k szorzatára bomlik. 2

1.0.7. Tétel. Egy K test felett bármely nem konstans polinomnak léteik felbontási teste és ez izomora erejéig egyértelm en meghatározott. 1.0.8. Tétel. Ha q = p n, akkor minden p prímszámra és minden n természetes számra létezik q elem véges test, továbbá minden q = p n elem véges test izomorf az Z p test feletti x q x polinom felbontási testével (s t az elemei pontosan x q x gyökei lesznek és mind egyszeres). Bizonyítás. 1.) El ször mutassuk meg, hogy ha K p n elem test, akkor minden eleme gyöke x q x-nek. Legyen p prím és p n = q. Mivel K-nak q eleme van, a multiplikatív csoportja q 1 elem. A csoportelméleti Lagrange-tétel miatt (mely szerint egy véges csoport bármely részcsoportjának rendje osztója a csoport rendjének) e csoport minden elemének q 1-edik hatványa a test egységeleme, azaz 1. Vagyis a K nem nulla elemei gyökei az x q 1 1 polinomnak. Ezt x-szel szorozva kapjuk, hogy K minden eleme (beleértve a 0-t is) gyöke az x q x polinomnak. 2.) Ezután belátjuk, hogy bármely két p n elem test izomorf. Ez el bb kapott x q x polinomnak az együtthatói 1, 1 és 0, ezek benne vannak a K test P prímtestében. Ekkor az x q x P [x] polinom felbontási teste P = Z p fölött éppen K, mivel gyökei pontosan K elemei, vagyis K a legsz kebb test, amely a polinom összes gyökét tartalmazza. Ez minden p n elem testre igaz, így a felbontási test egyértelm sége miatt bármely két p n elem test izomorf. 3.) Végezetül legyen K az x q x Z p [x] polinom felbontási teste Z p felett. Megmutatjuk hogy K elemszáma p n, és hogy x q x gyökei résztestek alkotnak, és így K az x q x gyökeinek halmaza. Ez közvetlenül adódik abból, hogy mivel q hatványa K karakterisztikájának, ezért igaz a következ azonosság: (x + y) q = x q + y q. Ez nyilván a szorzásra is teljesül: (x y) q = x q y q. Tehát x q x gyökei résztestet alkotnak. Ahhoz, hogy K elemszáma q, már csak azt kell belátni, hogy x q x gyökei mind különböz k. Ha lenne többszörös gyöke, akkor az gyöke lenne a deriváltjának is. De a derivált: (x q x) = qx q 1 1 = p n x q 1 1 = 1. 3

Hiszen K[x] karakterisztikája is p. Ekkor a 1 konstans polinomnak nincs gyöke, tehát x q x-nek nincs többszörös gyöke K-ban. Megjegyzés. A továbbiakban F q jelöli az egyetlen q elem testet. 1.0.9. Deníció. Azt mondjuk, hogy egy f(x) F q [x] polinom irreducibilis az F q test felett, ha f(x) bármely f(x) = g(x)h(x) felbontásában az egyik tényez n-edfokú a másik pedig konstans polinom. 1.0.10. Deníció. Legyen f F q [x] irreducibilis polinom, L pedig f felbontási test K felett. Ekkor, ha L felett az f mindegyik gyöke generálja az L multipikatív csoportját, akkor ezt az f polinomot primitív polinomnak nevezzük. 1.0.11. Deníció. Legyen f = a 0 + a 1 x + + a n x n, (a 0, a n 0) egy T test feletti polinom, és g legyen: a n + a n 1 x + + a 0 x n. Ekkor g(x)-et az f-hez tartozó reciprok polinomnak nevezzük. 1.0.12. Deníció. Legyen F egy p karakterisztikájú véges test és α eleme F p k testnek. Ekkor α minimálpolinomja (m α ) az a legalacsonyabbfokú F p együtthatós normált polinom, melynek gyöke α. 1.0.13. Deníció. Az F q véges test egy α 0 elemét prmitívnek nevezzük, ha az F q test minden nem nulla eleme egyértelm en felírható α n alakban, ahol n egy pozitív egész szám. Megjegyzés. Ez azt jelenti, hogy α generálja az F q multiplikatív csoportot. (Meg lehet mutatni, hogy minden véges test multiplikatív csoportja ciklikus, tehát van benne primitív elem.) 4

2. fejezet Irreducibilis polinomok Polinomok vizsgálata során fontos feladat a polinomok faktorizálása alacsonyabb fokúak szorzatára. Ehhez el kell tudnunk dönteni, hogy mikor irreducibilis egy polinom. Végtelen testek esetén általában nincs értelme az irreducibilisek felsorolását tervezni, de véges testek felett könnyedén megadhatók, illetve megszámolhatók. 2.1. Irreducibilisek felsorolása Kezdjük el felírni a normált irreducibilis polinomokat F p felett (ahol p prím) Eratoszthenész módszerével. Azaz az összes polinom közül húzzuk ki azokat, amelyek valamely alacsonyabb fokú normált irreducibilisek többszörösei. F 2 felett az els fokúak: x, x + 1 és ezek irreducibilisek. A másodfokúak : x 2, x 2 + 1, x 2 + x, x 2 + x + 1. Az els fokúak többszörösei x 2, (x + 1) (x + 1) = x 2 + 1, x (x + 1) = x 2 + x, ezeket ki is húzhatjuk, és mivel más módon nem állhat el reducibilis másodfokú, így x 2 + x + 1 az egyetlen irreducibilis. Harmadfokúak : x 3, x 3 + 1, x 3 + x, x 3 + x + 1, x 3 + x 2, x 3 + x 2 + 1, x 3 + x 2 + x, x 3 + x 2 + x + 1. 5

Állítsunk el harmadfokú polinomokat x, x+1, x 2 +x+1 segítségével az összes lehetséges módon: x x x = x 3 x x (x + 1) = x 3 + x 2 x (x + 1) (x + 1) = x 3 + x (x + 1) (x + 1) (x + 1) = x 3 + x 2 + x + 1 (x 2 + x + 1) x = x 3 + x 2 + x (x 2 + x + 1) (x + 1) = x 3 + 1 Ha ezeket kihúzzuk, amik maradnak azok az irreducibilisek: x 3 + x 2 + 1, x 3 + x + 1. Ezek az aláhúzottak a korábbi listában. Vegyük észre, hogy az eljárást gyorsíthatjuk. Az els fokúak többszörösei pontosan azok, amelyeknek van gyöke F 2 felett. Tehát ahelyett, hogy felsorolnánk az összes negyedfokú polinomot, hagyjuk ki a 0 konstans tagúakat, vagyis amelyeknek a 0 gyöke, valamint amelyeknek páros sok tagja van, azaz gyök az 1 (az utóbbi csak 2 karakterisztika esetén). Így már csak az alábbi negyedfokúak közül kerülhetnek ki az irreduciblisek: x 4 + x + 1, x 4 + x 2 + 1, x 4 + x 3 + 1, x 4 + x 3 + x 2 + x + 1 Ebb l már csak a másodfokú irreducibilis négyzetét, azaz (x 2 + x + 1) 2 -et kell kihúznunk, ami x 4 + x 2 + 1-el egyenl. Tehát a fent aláhúzottak maradnak. 6

Az így kapott polinomok a hatodfokúakig a következ táblázatban láthatóak. Fokszám F 2 feletti irreducibilisek Számuk n = 1 x, x + 1 2 n = 2 x 2 + x + 1 1 n = 3 x 3 + x + 1, x 3 + x 2 + 1 2 n = 4 x 4 + x + 1, x 4 + x 3 + 1, x 4 + x 3 + x 2 + x + 1 3 n = 5 x 5 + x 2 + 1, x 5 + x 4 + x 3 + x + 1, x 5 + x 4 + x 3 + x 2 + 1, 6 x 5 + x 3 + 1, x 5 + x 4 + x 2 + x + 1, x 5 + x 3 + x 2 + x + 1 n = 6 x 6 + x + 1, x 6 + x 5 + x 4 + x 2 + 1, x 6 + x 5 + x 2 + x + 1, 9 x 6 + x 3 + 1, x 6 + x 5 + x 4 + x + 1, x 6 + x 4 + x 3 + x + 1, x 6 + x 5 + 1, x 6 + x 5 + x 3 + x 2 + 1, x 6 + x 4 + x 2 + x + 1 2.1. táblázat. Irreducibilisek F 2 felett Hasonlóan a 3 elem testre, a negyedfokúakig. Fokszám F 3 feletti normált irreducibilisek Számuk n = 1 x, x + 1, x + 2 3 n = 2 x 2 + 1, x 2 + x + 2, x 2 + 2x + 2 3 n = 3 x 3 + 2x + 1, x 3 + 2x 2 + 1, x 3 + x 2 + x + 2, 8 x 3 + 2x + 2, x 3 + 2x 2 + x + 1, x 3 + 2x 2 + 2x + 2 x 3 + x 2 + 2, x 3 + x 2 + 2x + 1, n = 4 x 4 + x + 2, x 4 + x 2 + x + 1, x 4 + 2x 3 + x 2 + 1, 18 x 4 + 2x + 2, x 4 + x 2 + 2x + 1, x 4 + x 3 + x 2 + x + 1, x 4 + x 2 + 2, x 4 + 2x 2 + 2x + 2, x 4 + 2x 3 + x 2 + x + 2, x 4 + 2x 2 + 2, x 4 + 2x 3 + x + 1, x 4 + x 3 + x 2 + 2x + 2, x 4 + x 3 + 2, x 4 + x 3 + 2x + 1, x 4 + 2x 3 + 2x 2 + x + 2, x 4 + 2x 3 + 2, x 4 + x 3 + x 2 + 1, x 4 + 2x 3 + x 2 + 2x + 1 2.2. táblázat. Normált irreducibilisek F 3 felett 2.2. Irreducibilisek száma Ez a módszer nagy fokszám esetén, illetve az alaptest elemszámának növekedésével hosszadalmassá válhat. Már az F 3 feletti ötödfokú normált irreducibilisek felsorolásától 7

is eltekintek, mert túl sok helyet venne igénybe, (48 különböz polinomot kellett volna a táblázatban feltüntetni). A következ lépésben pedig a normált hatodfokú polinomok száma a 3 elem test felett 729, ezeket már felírni is hosszadalmas lenne, még akkor is, ha kihagyjuk azokat amelyeknek gyöke a 0, és ráadásul ebb l még ki kellene válogatni az irreducibiliseket. Ehelyett inkább számoljuk meg ket. A polinomok össz számából vonjuk ki a reducibiliseket, amelyek úgy állhatnak el, mint alacsonyabb fokú irreducibilisek szorzatai. Ezt egyszer kombinatorikai eszközökkel megkaphatjuk. Jelölje N n,p az n-edfokú normált irreducibilisek számát F p felett. F 5 felett a normált els fokú polinomok száma 5, ezek irreducibilisek is egyben így 5 = N 1,5. A normált másodfokúak száma 25. Reducibilist úgy kaphatunk, hogy vesszük 2 különböz els fokú szorzatát: ezt ( 5 2) = 10 féleképpen tehetjük meg, vagy vesszük 1 els fokú négyzetét: ez ( 5 1) = 5-féleképpen tehet meg. Tehát a másodfokú normált irreducibilisek száma: 25 15 = 10 = N 2,5. Normált harmadfokú polinomból van 125 (= 5 3 ). A reducibilisek számát a következ képpen kapjuk: egy másodfokú és egy els fokú normált irreducibilis szorzata: ( N 2,5 ) ( 1 N1,5 ) ( 1 = 10 ) 1 ) = 50 féle, ( 5 1 három els fokú szorzata: ( N 1,5 ) ( 3 = 5 ) 3 = 10 féle, egy els fokú négyzetének és egy másik els fokú szorzata: ( N 1,5 ) ( N1,5 ) ( 1 1 1 = 5 ) ( 4 ) 1 1 = 20 féle, egy els fokú köbe: ( N 1,5 ) ( 1 = 5 ) 1 = 5 féle lehet. Tehát a normált irreducibilisek száma: 125 (50 + 10 + 20 + 5) = 40 = N 3,5. A normált negyedfokúak száma 625. Annyival egyszer síthetjük a számolást, hogy pl. a csupa els fokú szorzatot, ahelyett hogy esetekre bontanánk aszerint, hogy 1 normált els fokú irreducibilis negyedik hatványát, 1 els fokú köbének és 1 t le különböz nek a szorzatát, 1 els fokú négyzetének és 2 t le különböz nek a szorzatát, 2 különböz els fokú négyzetét, 8

4 különböz els fokú szorzatát vesszük, egy egyszer visszatevéses mintavétellel számoljuk, így a számukra: ( ) n+k 1 k adódik, ha n lehet ség közül visszatevéssel választunk k darabot. A negyedfokú normált reducibilisek száma: egy harmadfokú és egy els fokú szorzata: ( N 3,5 ) ( 1 N1,5 ) ( 1 = 40 1 két másodfokú szorzata: ( N 2,5 ) ( +2+1 2 = 11 ) 2 = 55 féle, egy másodfokú és két els fokú szorzata: ( N 2,5 ) ( 1 N1,5 +2 1 2 4 els fokú szorzata: ( N 1,5 ) ( +4 1 4 = 5+4 1 ) ( 4 = 8 ) 4 = 70 féle lehet. ) = ( 10 1 Így az irreducibilisek száma: 625 (200 + 55 + 150 + 70) = 150 = N 4,5. ) ( 5 ) 1 = 200 féle, ) ( 6 ) 2 = 150 féle, Összesítés a következ táblázatban látható, mindenütt a normált polinomok számát, illetve a normált irreducibilisek számát tüntettük fel. n F 2 F 3 F 5 F 7 Normált polinomok száma száma Normált polinomok száma száma Normált polinomok száma száma Normált polinomok száma 1 2 2 3 3 5 5 7 7 2 4 1 9 3 25 10 49 21 3 8 2 27 8 125 40 343 112 4 16 3 81 18 625 150 2401 588 5 32 6 243 48 3125 624 16807 3360 6 64 9 729 116 15625 2580 117649 19544 2.3. táblázat. Normált irreducibilisek száma Elárulom, hogy a 7 elem test feletti hatodfokú normált irreducibilisek számát már nem ezzel a módszerrel számoltam, hanem a következ fejezetben ismertetend módszerrel. Irreducibilisek Irreducibilisek Irreducibilisek Irreducibilisek száma 2.3. Képlet az irreducibilisek számára Az el bbi egy rekurzív módszer, azaz ahhoz, hogy például a tizedfokú irreducibilisek számát megkapjuk, ismernünk kell az összes nála alacsonyabb fokú irreducibilisek számát. Létezik egy egyszer bb képlet, de ehhez deniálnunk kell a Möbius függvényt, 9

illetve használnunk kell a Möbius-féle megfordítási formulát. Ez utóbbinak a bizonyítása megtalálható [4]-ben, itt most nem bizonyítjuk. 2.3.1. Deníció. A µ(n) Möbius függvényt mint számelméleti függvényt a következ képpen értelmezzük: 1, ha n = 1 µ(n) = 0, ha létezik p prím, hogy p 2 n ( 1) k, ha n = p 1 p 2... p k, ahol p i -k különböz prímek. 2.3.2. Tétel. Legyen f egy számelméleti függvény, és f összegezési függvénye pedig: F (n) = d n f(d). Így, ha F adott, akkor f a következ módon határozható meg: f(n) = ( n ) µ F (d). (2.1) d d n A fenti formulát nevezzük Möbius-féle megfordítási formulának. 2.3.3. Állítás. Jelölje F d (x) azon F p [x]-beli polinomok szorzatát, melyek normált d-edfokú irreducibilisek F p felett. Ekkor x pn x = d n F d(x). Bizonyítás. Tudjuk, hogy f(x) = x pn x gyökei egyszeresek, hiszem f (x) = 1, így (f, f ) = 1. Az is világos, hogy a q = p n elem testnek, F q -nak minden eleme gyöke f-nek, hiszen ha α eleme F q -nek, akkor a Lagrange-tételb l következik, hogy α pn 1 = 1, és a 0 is nyilvánvalóan gyöke (f(0) = 0). (Valójában éppen ezzel a gondolatmenettel igazoltuk az F q -nak mint f felbontási testének létezését a 1.0.8. Tételben.) Azt kell megmutatnunk, hogy d n F d(x) gyökei is egyszeresek és megegyeznek az F q elemeivel. Világos, hogy különböz irreducibilis polinomoknak nem lehet közös gyökük, hiszen, ha lenne, akkor a legalább els fokú F q -beli legnagyobb közös osztójuk, osztaná mind a két polinomot. Másrészt ha egy F p feletti g(x) polinom irreducibilis, akkor többszörös gyöke csak úgy lehetne, ha a deriváltjára g(x) = 0 teljesülne, ez esetben pedig g(x) = h(x p ) = h(x) p, ami ellentmondana g irreducibilitásának. Ezután már csak azt kell belátnunk, hogy d n F d(x) gyökei megegyeznek F p elemeivel. Vegyünk el ször egy g(x) F p [x] d-edfokú normált irreducibilis polinomot, melynek jelöljük egy gyökét α-val, azaz g(α) = 0. Ekkor F p (α) az F p d-ed fokú b vítése, így α gyöke lesz az x pd x polinomnak, s t α 0 esetén az x pd 1 1 polinomnak is. De ha d osztója n-nek, akkor n = l d miatt p n 1 = p l d 1 = (p d 1)(p (l 1)d + p (l 2)d + + p d + 1), 10

azaz t = p d 1 p n 1 = s. Ekkor s = t u miatt x pn 1 1 = x s 1 = x t u 1 = (x t 1)(x (n 1)t +x (n 2)t +1) = (x pd 1 1)(x (n 1)t + +1), vagyis α gyöke az f(x) = x pn x polinomnak. Mivel ez nyilván akkor is igaz, ha α = 0, ezzel beláttuk, hogy d n F d(x) gyökei az F q elemei közül kerülnek ki. Végezetül vegyük most F q egy tetsz leges α elemét, és nézzük α-nak az F q feletti minimálpolinomját, melynek a fokát jelöljük d-vel. Mivel F p (α) F q, ezért F p d részteste F q -nak, azaz létezik olyan l, hogy (p d ) l = p n. Így d n, vagyis F q minden eleme gyöke egy d-edfokú irreducibilis polinomnak, valamely d n-re. Ezzel az állítást bebizonyítottuk. 2.3.4. Tétel. Legyen N n,p az n-edfokú irreducibilisek száma F p felett, és µ() a Möbius függvény. Ekkor képlet adódik az irreducibilisek számára. N n,p = 1 n d n ( n ) µ p d (2.2) d Bizonyítás. Legyen N d,p a d-ed fokú normált irreducibilis polinomok száma F p felett, ahol d pozitív egész. Ekkor az el z tételben bebizonyított x pn x = d n F d egyenl ség mindkét oldalának fokát meg kell viszgálnunk. x pn kifejezésben pedig F d foka d N d,p, d-re, ezért x foka nyilván p n, a d n F d p n = d n d N d,p. Ekkor p n az n N n,p függvény összegezési függvényének felel meg. Azaz ha alkamazzuk a Möbius-féle megfordítási formulát n N n,p -re, akkor: n N n,p = d n ( n ) µ p d. d A keresett képlet pedig n-nel való osztás után rögtön adódik. Vegyük észre, hogy N n,p 0, mivel d n ( n ) µ p d d alakban írható fel, ahol d i -k különböz ek. = p d 1 ± p d 2 ± ± p d k 11

Alkalmazzuk már kiszámolt értékekre (a 2.3. táblázat alapján). F 3 esetén a negyedfokú normált irreducibilisek száma: N 4,3 = 1 [ ( ) ( ) ( ) ] 4 4 4 4 µ 3 + µ 3 2 + µ 3 4 = 1 [0 + ( 1) 9 + 81] = 18 1 2 4 4 F 7 felett az ötödfokú normált irreducibilisek száma: N 5,7 = 1 [ ( ) ( ) ] 5 5 5 µ 7 + µ 7 5 = 1 [( 1) 7 + 16807] = 3360. 1 5 5 Ez a számolás testb vítésen alapul. Legyen a test, ami felett számolni szeretnénk F p. Ha az m-ed fokú irreducibilisek számát keressük, akkor ehhez vegyük F p m-ed fokú b vítését L = F p m-t, amely p m elem. Itt már van gyöke minden m-ed fokú F p felett irreducibilis polinomnak. Ekkor már csak az a feladatunk, hogy F p m elemei között megtaláljuk ezeket. A gyökök számát megkaphatjuk egy egyszer logikai szita segítségével, majd ha a kapott értéket elosztjuk m-mel pontosan az F p feletti irreducibilisek számát kapjuk (mivel minden polinomhoz m darab gyök tartozik). A logikai szitára azért van szükség, hogy minden elemet egyszer vonjunk le p m -b l, mivel számos elem az L több résztestének is eleme lehet. L résztestei azok a p d elem testek, ahol d m. Tehát p m -b l vonjuk le minden résztest elemszámát, ekkor lehetnek olyan résztestek, amelyeket többször is levontunk, ez abban az esetben fordul el, ha F p d 1 F p d 2 (d 1 d 2 ) tartalmazás áll fenn. F 3 4 Nézzük meg néhány konkrét esetre is az el bbi gondolatmenetet. F 3 feletti negyedfokú irreducibilisek száma: résztestei F 3, és F 3 2. Mivel a 3 elem test részteste F 3 2-nek is, így az elemszámát kétszer is levontuk, ezt korrigálva a számolás a következ : N 4,3 = 34 (3 + (3 2 )) + 3 4 = 18. F 5 feletti hatodfokú irreducibilisek száma: F 5 6 résztestei: F 5 3, F 5 2 és F 5. Az utóbbi mindkét nála nagyobb résztestnek eleme, tehát az elemszámát háromszor vontuk ki, ezért hozzá kell adni kétszer, hogy helyesen kapjuk meg a gyökök számát. Tehát: N 6,5 = 56 ((5 3 ) + (5 2 ) + 5) + 10 6 = 2580. 12

3. fejezet Berlekamp algoritmusa Ez a fejezet Prasolov-Polynomials cím könyve alapján került feldolgozásra [1], amely Elwyn Berlakamp 1967-es cikkén alapul [3]. Az egyik legismertebb módszer véges test feletti polinomok irreducibilis faktorokra bontására Berlekamp algoritmusa. Ezt fogjuk részletesen megviszgálni. Az algoritmus fontosságát az adja els sorban, hogy az F p [x]-beli faktorizációt a Z[x] (azaz Q[x]-beli) gyors faktorizációra is alkalmazhatjuk. 3.1. Többszörös irreducibilis faktorok Legyen f = f α 1 1 f α 2 2 f α k k F p [x], ahol f α i i (1 i k) különböz irreducibilis normált polinomok α i N + multiplicitással. Az algoritmus csak olyan polinomokra m ködik, melyben nincsenek többszörös irreducibilis faktorok, ezért az f polinom faktorizációját el ször visszavezetjük egy ilyen polinom fölbontására. Ezt a következ módon tehetjük meg. Tegyük fel, hogy α 1 > 1, és deriváljuk f-et. A szorzat deriválási szabályának megfelel en: f = α 1 f α 1 1 1 f (f α 2 2 f α 3 3 f α k k ) + f α 1 1 (f α 2 2 f α 3 3 f α k k }{{} ), ahol f }{{} 1 g. g g Ebb l, ha kiemeljük f α 1 1 -et, a következ t kapjuk: f = f α 1 1 1 (f 1 α 1 g + f 1 g ). }{{} h+f 1 g 13

Vegyük észre, hogy mivel f 1 irreducibilis, ezért f 1 0, mert f 1 = 0 esetén f 1 -ben minden nem mulla együtthatójú tag kitev je osztható p-vel, azaz f i (x) = a t p x t p + a (t 1) p x (t 1) p + a 1 p x 1 p + a 0 p x 0 p = l i (x p ) = l i (x) p. Ez pedig ellentmond f 1 irreducibilitásának. Ha tehát α 1 0 F p -ben, akkor f = f α 1 1 1 (h + f 1 g ), ahol f 1 h, következésképpen f 1 h + f 1 g. Feltéve tehát, hogy semelyik α i 0-val F p -ben, azt kapjuk, hogy: f = f α 1 1 1 f α 2 1 2 f α k 1 k G, ahol f i G, i-re. Ezután vegyük f és f legnagyobb közös osztóját: (f, f ) = f α 1 1 1 f α 2 1 2 f α k 1 k. Ezzel megkaptuk a faktorokat eggyel kisebb kitev n. Így ha f-et elosztjuk az (f, f ) legnagyobb közös osztóval, pontosan f faktorait kapjuk, méghozzá mindegyiket pontosan egyszer. Vegyük észre, hogy mivel véges test felett vagyunk ez nem minden esetben m ködik. El fordulhat, hogy f = f α 1 1 (f 1 α 1 g+f 1 g )-ban az eddig kitev ként szerepl α 1 N + az F p test felett mint szorzó 0-vá válik, vagyis α 1 0 (mod p). Ekkor Vagyis f 1 kitev je nem fog csökkenni. f = f α 1 1 g (f, f ) = f α 1 1 (f α 2 1 2 f α k 1 k ). Nézzük meg mit tehetünk ebben az esetben. Ha például: p α 1 de p α 2,..., α k. Ekkor f = f α 1 1 (f α 2 2 f α 3 3 f α k k ). Általában tehát, ha α i 0 (mod p), akkor: f (f, f ) = j i Így (f, f ) = d általános alakja a fentiek szerint a következ : f j. d = (f, f ) = f α i 1 i f αi i. p α i p α i 14

Osszuk le f-fet d-vel: f d = p α i f i. Így megkaptuk f néhány faktorának szorzatát. Nincs más dolgunk, mint megvizsgálni d fokát. Ha 0 < deg d = deg f, akkor d- ben f összes f i faktora pontosan α i -szer szerepel, vagyis α i 0 (mod p), i-re. Tehát d = p α i f α i i = g p. Ekkor g foka nyilván kisebb, mint f foka, tehát g-re alkalmazhatjuk az algoritmust. Ha viszont deg d < deg f, akkor alkalmazhatjuk a Berlekamp algoritmust f -re. Az d algoritmus megadja azokat az f i -ket, melyekre p α i -t. Hogy megkapjuk a többit is, osszuk le az ilyen f i -knek a lehet legnagyobb hatványával a d = (f, f ) polinomot. Az osztás után a d = p αj f α j j polinomot kapjuk. Erre alkalmazhatjuk azt a redukciót, hogy d = r(x) p, és faktorizálhatjuk a nyilvánvalóan alacsonyabb fokú r-et. 3.2. Szükséges tételek Miel tt rátérnénk magára az algoritmusra, be kell látnunk hozzá a következ tételeket. 3.2.1. Tétel. Legyen f F p [x] egy n > 0 fokú normált polinom. i) Ha h egy F p beli polinom, amely teljesíti a h p h (mod f) kongruenciát, azaz h p h osztható f-fel, akkor f a következ alakban áll el : f(x) = (f(x), h(x) a), a F p ahol (f(x), h(x) a) a két polinom legnagyobb közös osztóját jelenti. ii) Legyen f = f 1 f k, ahol f 1 f k különböz normált irreducibilis polinomok. Ekkor h p h (mod f), akkor és csak akkor teljesülhet, ha h(x) a i (mod f i ), ahol a i F p. Továbbá az is igaz, hogy minden (a 1,..., a k ) F k p-hoz pontosan egy ilyen normált h polinom tartozik, aminek a foka kisebb, mint f foka. Bizonyítás. i) Legyen F (x) = a F p (f(x), h(x) a). Nyilvánvaló, hogy a h(x) a polinomok különböz a-kra páronként relatív prímek. Tehát az (f(x), h(x) a) polinomok egymáshoz relatív prím osztói f(x)-nek, vagyis f(x) osztható ezek szorzatával, F (x)-szel. Tudjuk továbbá, hogy az F p test felett igaz a következ azonosság: a F p (y a) = y p y, 15

mivel az y p y-nak az F p minden eleme gyöke. Alkalmazva ezt y = h(x)-re a következ t kapjuk: (h(x) a) = h(x) p h(x). a F p h választása miatt h(x) p h(x) osztható f(x)-szel, vagyis f(x) osztja a F p (h(x) a)-t is, azaz az F (x) polinomot. Mivel f és F oszthatóak egymással és tudjuk, hogy normáltak, ebb l már következik, hogy f = F. ii) Ha h(x) a i (mod f i ), akkor vehetjük a p-edik hatványát, arra is teljesül a kongruencia. Mivel a i F p -re a p i = a i, ezért minden i-re igaz a következ : h(x) p a p i = a i h(x) (mod f i ), tehát h(x) p h(x) (mod f 1 f 2 f k ). Megfordítva, ha a h(x) p h(x) = (h(x) a) a F p polinom osztható f-fel, akkor osztható az összes f 1,..., f k polinommal is. De ha a páronként relatív prím (h(x) a)-k szorzatát osztja egy f i irreducibilis polinom, akkor ez azt jelenti, hogy osztja valamely faktorát is, azaz i-re a i F p, hogy h(x) a i (mod f i ). Még be kell még látnunk, hogy bármely (a 1,..., a k )-hoz egyértelm en létezik ilyen h. Ez rögtön következik a polinomokra vonatkozó kínai maradéktételb l. 3.2.2. Lemma. (Kínai maradéktétel polinomokra) Legyenek f 1,..., f k egymáshoz relatív prím irreducibilis polinomok egy F test felett, valamint g 1,... g k tetsz leges polinomok ugyanezen test felett. Ekkor létezik olyan h polinom, amelyre igaz, hogy h(x) g i (mod f i ) és ez a polinom egyértelm en meghatározott modulo f = f 1 f k. Bizonyítás. Az f i és F i = f f i relatív prímek. Tehát léteznek olyan a i és b i polinomok, hogy a i f i + b i F i = 1 teljesül. Vagyis b i F i 1 (mod f i ), valamint b i F i 0 (mod f j ), ahol j i. Válasszuk h-t a következ képpen: h = b i g i F i. Ekkor, ha modulo f i nézzük, akkor a szummában csak az i. tag nem 0, vagyis igaz a következ : h g i b i F i g i (mod f i ). Ezzel a létezést bebizonyítottuk. Az egyértelm ség pedig abból következik, hogy ha h 1, h 2, hogy h 1 g i és h 2 g i is osztható f i -vel, akkor a különbségüknek is, azaz h 1 h 2 -nek is oszthatónak kell lennie f i -vel vagyis f 1 f k = f osztja h 1 h 2 -t, azaz h 1 h 2 (mod f). 16

3.3. Az algoritmus Most megadjuk az algoritmust egy olyan F polinomra, melynek az irreducibilis faktorai páronként különböz k. El ször is keresni fogunk egy alkalmas h F p [x] polinomot, melyre h(x) p h(x) (mod F ), továbbá deg h < deg F. Az els lépés azon alapul, hogy a feni h(x) p h(x) (mod F ) kongruencia ekvivalens egy F p feletti lineáris egyenletrendszerrel, mégpedig a következ módon. Mivel deg h < deg F = m, legyen h a kövekez alakú: h(x) = t 0 + t 1 x + + t m 1 x m 1. (3.1) Nyilván ennek vehetjük F p felett a p-edik hatványát, amely: h(x) p = h(x p ) = t 0 + t 1 x p + + t m 1 x p(m 1). (3.2) Ekkor minden x pj -t (j = 0, 1,..., m 1) osszunk el maradékosan F -fel: x pj m 1 i=0 q i,j x i (mod F ). Az így kapott maradékokat helyettesítsük (3.2)-be. h(x) p t 0 + t 1 m 1 i=0 q i,1 x i + + t m 1 m 1 i=0 q i,(m 1) x i (mod F ). (3.3) Vegyük észre, hogy (3.3) jobb oldalán egy legfeljebb (m 1)-ed fokú polinom áll, ami kongruens h(x) p -nel, így h(x)-szel is. Ez csak úgy lehetséges, hogy ha h(x) megegyezik ezzel a polinommal. Ez azt jelenti, hogy h megtalálásához a következ egyenletrendszert kell megoldanunk: m 1 j=0 t j q i,j = t i, (i = 1,..., m 1) (3.4) vagyis a (3.3) egyenlet kibontása után kapott együtthatók, azaz m 1 j=0 t jq i,j -k és a (3.1)- ben szerepl t i -k egyenl ségét kell megvizsgálnunk. A 2.3.3. állításából könnyen látszik, hogy a keresett h-k egy k dimenziós alteret alkotnak, ahol k az F irreducibilis faktorainak a száma. Így (3.4) megoldásterének dimenziója egyenl lesz k-val. Nyilván q 0,0 = 1 és q i,0 = 0 (i > 0). Ekkor (3.4)-nek triviálisan megoldása: t 0 = c, t 1 = = t m 1 = 0, de ez egy konstans h polinomot eredményez, tehát ez nem lehet jó megoldás. 17

Miután megtaláltuk (3.4) nem triviális megoldását, vegyünk egy bázist a megoldástérb l. A bázis els elemének válasszuk a konstans 1 polinomot, és jelöljük h 1 = 1, h 2,..., h k - val. Ha k = 1, akkor F irreducibilis. Ha k > 1, akkor sorra határozzuk meg F (x) és h 2 (x) a legnagyobb közös osztóját minden a F p -re. Így megkapunk F osztói közül s darabot, legyenek ezek: g 1,..., g s. Ha s < k, akkor ezt megismételjük h 3 (x), h 4 (x)... -re egészen addig, amíg meg nem találjuk a k darab különböz irreducibilis faktort. Meggyelhetjük, hogy ily módon végül tényleg megkapjuk az összes k darab osztót. Ehhez azt kell megmutatnunk, hogy ha f 1 és f 2 két különböz irreducibilis faktora F - nek, akkor van olyan h a fönti polinomok közül, melyre f 1 (h(x) a) és f 2 (h(x) b) valamely a b-re. Ekkor ugyanis, valamely h i bázispolinom szét fogja választani f 1 és f 2 faktorokat, azaz megkapjuk ket mint két különböz faktor. Legyen f 1 és f 2 F két különböz irreducibilis faktora. Vegyünk olyan (a 1... a k ) sorozatot F p -b l, melyre a 1 a 2. Ekkor tudjuk, hogy van olyan h, melyre teljesül: h(x) a 1 (mod f 1 ) és h(x) a 2 (mod f 2 ). Ekkor azonban már valamelyik h i bázispolinomra is teljesülnie kell, hogy h i (x) b 1 (mod f 1 ) és h i (x) b 2 (mod f 2 ), ahol tudjuk, hogy b 1 b 2. Megjegyzés. Az algoritmus hatékonyságát növelhetjük, ha h i (x) a = h i (x) ah 1 (x) helyett a következ polinomot vizsgáljuk: H(x) = a 1 h 1 (x) + + a k h k (x) ahol a 1,..., a k tetsz leges véletlen elemek F p -b l, majd vesszük a legnagyobb közös osztóját F -nek és H(x) p 1 2 1-nek. Ha F reducibilis és p 3, akkor 4 9 valószín séggel rögtön megkapjuk F nem triviális faktorizációját. 3.4. Példák Nézzük végig az algoritmust néhány példán keresztül is. 1.) Példa Konstruáljunk el ször egy F 3 feletti reducibilis polinomot úgy, hogy a 2.2. táblázat alapján vegyünk néhány irreducibilis polinomot és szorozzuk ket össze, így a végén ellen rizhetjük, hogy minden faktort helyesen kaptunk-e meg. f = (x 2 + 1) 2 (x + 2) = x 5 + 2x 4 + 2x 3 + x 2 + x + 2, f F 3 [x] 18

Deriváljuk, hogy csak egyszeres faktorok maradjanak. f = 5x 4 + 8x 3 + 6x 2 + 2x + 1 = 2x 4 + 2x 3 + 2x + 1 Hazározzuk meg f és f legnagyobb közös osztóját az Euklideszi algoritmus segítségével, egyszer maradékos osztásokat végezve: (x 5 +2x 4 +2x 3 +x 2 +x+2) : (2x 4 +2x 3 +2x+1) = 2x+2 (x 5 + x 4 + x 2 + 2x) (x 4 + 2x 3 + 2x + 2) (x 4 + x 3 + x + 2) x 3 + x Az így kapott maradék x 3 + x = r 1, tehát f a következ alakú: f = (2x + 2)f + (x 3 + x). Folytatjuk az algoritmust a tanultak szerint, azaz osszuk el f -t az r 1 maradékkal: (2x 4 + 2x 3 + 2x + 1) : (x 3 + x) = 2x + 2 (2x 4 + 2x 2 ) (2x 3 + x 2 + 2x + 1) (2x 3 + 2x) x 2 + 1 Ebb l x 2 + 1 = r 2, és f = (2x + 2)r 1 + (x 2 + 1). Folytatva, ha r 1 -et osztjuk r 2 -vel, akkor r 1 = x r 2 + 0-t kapunk. Ekkor a legnagyobb közös osztó az utolsó nem 0 maradék, azaz x 2 + 1 = (f, f ). Majd ha ezzel leosztjuk f-fet, megfelel alakúvá válik a polinom, és alkalmazhatjuk rá az algoritmust: F = f (f, f ) = x3 + 2x 2 + x + 2. Megjegyzés. Vegyük észre, hogy itt most (f, f ) irreducibilis, így rögtön megkaptuk f egy faktorát. f-et leosztva x 2 + 1 egy maximális hatványával, könnyen megkapjuk az f helyes 19

faktorizációját a Berlekamp algoritmus alkalmazása nélkül is. Ett l függetlenül folytassuk az algoritmust. Ezután találnunk kell egy megfelel h polinomot, amelynek a foka kisebb, mint F foka, azaz 0 < deg h < deg F = 3, tehát h = ax 2 + bx + c alakú és teljesül, hogy: F h(x) 3 h(x) F (ax 2 + bx + c) 3 (ax 2 + bx + c) = ax 6 + bx 3 + c ax 2 x c Osszunk el minden x 3j (j = 1, 2) tagot maradékosan F -fel és helyettesítsük be a kapott maradékokat. x 3 -t osztva F -fel: x 3 = 1 (x 3 + 2x 2 + x + 2) + (x 2 + 2x + 1), azaz x 3 x 2 + 2x + 1 (mod F ) x 6 -t osztva F -fel: x 6 = (x 3 + x 2 ) (x 3 + 2x 2 + x + 2) + x 2, azaz x 6 x 2 (mod F ) A behelyettesítés után kapott kongruencia: ax 2 + b(x 2 + 2x + 1) + c ax 2 bx c 0 (mod F ) bx 2 + bx + b 0 (mod F ), akkor és csak akkor teljesülhet, ha az a és c szabad változók mellett b mindig 0, azaz h = ax 2 + c alakú. Ekkor a megoldástér pontosan 2 dimenziós. Legyenek a bázis elemei a következ k: h 1 = 1 szokás szerint, valamint h 2 = x 3. Ekkor már csak néhány maradékos osztást kell elvégeznünk, hogy megkapjuk a faktorokat. Határozzuk meg F és (h 2 (x) a) legnagyobb közös osztóját, ha a = 0, 1 F 2. F osztva x 2 -tel: majd x 2 osztva r 1 -el: F = (x + 2) x 2 + (x + 2), }{{} r 1 x 2 = (x + 1)(x + 2) + 2. Azaz F és x 2 legnagyobb közös osztója: (F, x 2 ) = 2 = g 1. F -fet x 2 + 1-gyel osztva kapjuk, hogy: F = (x + 2)(x 2 + 1) + 0 20

Tehát (F, x 2 + 1) = x 2 + 1 = g 2, vagyis x 2 + 1 az F polinom egy irreducibilis faktora. Osszuk le F -et x 2 + 1-el, akkor F x 2 +1 = x + 2. Ezzel megtaláltuk a keresett faktorokat. Ekkor ha az eredeti polinomnak (f-nek) vannak többszörös gyökei, mint ebben az esetben is, miután megtaláltuk F faktorait egyszer en osszuk le velük f-fet és a kapott polinomra ismételjük az eljárást, ha szükséges. 2.) Példa Most egy F 2 feletti polinomot faktorizáljunk. A 2.1. táblázatból választottam irreducibiliseket és vettem azok szorzatát. Tekintsük a következ polinomot: f = (x + 1) 2 (x 3 + x 2 + 1) 2 = x 8 + x 4 + x 2 + 1. Ennek a deriváltja 0, így a következ helyettesítést kell elvégeznünk: f = g 2 g = x 4 + x 2 + x + 1. Ekkor g deriváltja g = 1, ezért alkalmazhatjuk az algoritmust a fenti g polinomra. Keressünk olyan h(x) polinomot, melynek foka deg h < deg g = 4, azaz h(x) = ax 3 + bx 2 + cx + d alakú. Így a következ kongruenciát kell megvizsgálnunk: A következ lépésben számoljuk ki az x 2j (j = 2, 3) tagok g-vel vett osztási maradékait. (ax 6 + bx 4 + cx 2 + d) (ax 3 + bx 2 + cx + d) 0 (mod g). x 6 -t osztva g-vel: x 6 = (x 2 + 1) (x 4 + x 2 + x + 1) + (x 3 + x + 1), azaz x 6 x 3 + x + 1 (mod g) x 4 -t osztva g-vel: x 4 = 1 (x 4 + x 2 + x + 1) + (x 2 + x + 1), azaz x 4 x 2 + x + 1 (mod g) Behelyettesítjük: ax 3 + ax + a + bx 2 + bx + b + cx 2 + d + ax 3 + bx 2 + cx + d 0 (mod g) cx 2 + (a + b + c)x + (a + b + c) = 0 Ez csak akkor teljesülhet, ha c = 0 és a = b, tehát h(x) = ax 3 + ax 2 + d alakú. Válasszuk a bázispolinomoknak a következ ket: h 1 = 1, h 2 = x 2 + x 3 A faktorok megtalálásához 21

határozzuk meg g és h 2 b, b F 2 polinomok legnagyobb közös osztóit: g osztva x 3 + x 2 -tel: x 4 + x 2 + x + 1 = (x + 1) (x 3 + x 2 ) + (x + 1) }{{} r 1 majd x 3 + x 2 osztva r 1 -el: x 3 + x 2 = (x 2 )(x + 1) + 0 Azaz (g, x 3 + x 2 ) = x + 1 = l 1, és ez egy irreducibilis faktora g-nek. g osztva x 3 + x 2 + 1-el: x 4 + x 2 + x + 1 = (x + 1) (x 3 + x 2 + 1) + 0 Így (g, x 3 + x 2 + 1) = x 3 + x 2 + 1 = l 2, egy másik faktora g-nek. Ha elosztjuk g-t l 1 -el, amit kapunk x4 +x 2 +x+1 x+1 = (x 3 + x 2 + 1), ami éppen l 2. Tehát megtaláltuk g összes irreducibilis faktorát. Ekkor még csak g faktorizációját határoztuk meg, a keresett f polinom faktorizációja helyett. Ezt a következ módon kaphatjuk, meg g felbontásából. Osszuk le f-et g fent kapott faktoraival, annyiszor ahányszor csak lehet. Így azt kapjuk, hogy f az x+1 négyzetével még osztható, de a köbével már nem. Ekkor x8 +x 4 +x 2 +1 (x+1) 2 = x 6 +x 4 +1 = (x 3 +x 2 +1) 2. Tehát megkaptuk f faktorizációját, pontosan úgy, ahogy azt megadtuk a példa elején. 22

4. fejezet Kódelméleti alkalmazás Maga a kódolás nem összetévesztend a titkosítással. Mi most nem olyan szöveget szeretnénk kódolni, amit csak mi és a címzett érthet. A kódolás az a folyamat, amikor a küldend üzenetet egy olyan jelsorozattá (kóddá) alakítunk, hogy a használt eszköz tárolni illetve továbbítani tudja ezeket. Majd a dekódolás ezeknek a jeleknek az eredetivé alakítását jelenit. A továbbítás során számolnunk kell annak a kockázatával, hogy hiba vagy zaj keletkezhet a jelekben és így az információ torzulhat. Az ilyen hibák kiküszöbölésével foglalkozik az algebrai kódelmélet. Az információ küldés lépései a következ k: A küld /forrás küldi az üzenetet, amelyet egy kódoló (lehet eszköz, szoftver stb.) megfelel en továbbítható kódolt üzenetté alakítja. A kódunk egy csatornán keresztül (pl: rádióhullám, kábel, CD stb.) érkezik a dekódolóhoz, amely a kódból el állítja az eredeti üzenetet és végül ez jut el a címzetthez/felhasználóhoz. Mivel a csatorna sokszor nem megbízható (pl: megsérül egy helyen a CD), ezért olyan kódolást kell alkalmaznunk, hogy a dekódolásnál a hibák minél nagyobb részét képesek legyünk kisz rni. Az ilyen kódokat nevezzük hibajavító kódoknak. 4.1. Alapfogalmak, jelölések A kódoláshoz használt ún. kódábécét, azaz a kódok el állításához használható szimbólumok, számok, bet k stb. halmazát jelöljük Q-val. Ennek elemszáma legyen q. Q elemeib l készített k hosszú sorozatok a szavak, ezek halmaza Q k. A kódolás során deniálunk egy injektív ϕ : Q k Q n függvényt, ami alapján Q k elemeit megfeleltetjük Q n elemeinek. Az így képzett ϕ(q k )=C Q n halmaz elemei a kódszavak. Ekkor C egy (n, k) paraméter 23

kód, ahol n a létrehozott kód hossza. 4.1.1. Deníció. Legyen t 1 egész szám. Ekkor a C Q n kód t-hibajelz, ha egy kódszót legfeljebb t helyen megváltoztatunk, akkor az eredmény nem lehet kódszó. A C kód t-hibajavító, ha veszünk két különböz kódszót v, w és ezeket bármely legfeljebb t helyen megváltoztatjuk, akkor az így kapott v és w nem lehet egyenl. Ez azt jeleni, hogy ha a kódunk 3 hibajelez, és egy olyan üzenetet kapunk, amely kevesebb, mint 3 helyen van meghibásodva, akkor könnyen észlelhetjük a hibát. Ezzel szemben, ha szinte minden jel meghibásodott, akkor el fordulhat, hogy az eredetit l különböz értelmes üzenetet kapunk, ekkor már nem valószín, hogy észrevesszük, hogy meghibásodás történt. 4.1.2. Deníció. v, u Q n kódszó Hamming-távolságán azt értjük, hogy a két szó hány helyen tér el egymástól. Jele: d(v, u). A v kódszó Hamming-súlya a nem nulla elemeinek száma. Jelölés: w(v). A C Q n kód minimális vagy Hamming-távolságán a különböz kódszavak Hammingtávolságainak minimumát értjük. Jele: d. Kódok létrehozásánál arra kell törekednünk, hogy minél több hibát képesek legyünk javítani, eközben pedig a kód hossza és a kód távolsága minimális legyen. A következ korlátok adhatók ezekre. Az alábbi állítás nyilvánvaló: 4.1.3. Állítás. Ha a C kód Hamming-távolsága d, akkor a C kód t-hibajavító minden olyan t-re, melyre d 2t + 1. Speciálisan: minden kód [ ] d 1 2 -hibajavító. 4.1.4. Állítás. Egy (n, k, d) paraméter kódban a következ fels becslés adható a d minimális távolságra: d (n k + 1) ezt Singleton-korlátnak nevezzük. Ha ez egyenl séggel teljesül, akkor az ilyen minimális súlyú kódokat MDS kódoknak nevezzük. Bizonyítás. Legyenek a kódszavaink n hosszúak és a kódszavak távolsága legalább d. Nézzük különböz kódszavak els n (d 1) koordinátáit, ezek nem lehetnek teljesen különböz ek, mert akkor csak az utolsó d 1 helyen térnének el. Ezért a kódszavak száma q k legfeljebb q n d+1 (ennyi n d + 1 hosszú szó létezik). 24

4.2. Lineáris kódok, Reed-Solomon kódok Tegyük fel, hogy az üzenet most egy q elem véges test elemeib l áll (F q ). Ekkor a létrehozható k hosszú üzenetek száma q k. Ez megfelel az F q feletti k dimenziós vektortérnek. Ezt szeretnénk kódolni, vagyis valamilyen függvénnyel n > k hosszú kódszavakat szeretnénk létrehozni, úgy hogy az F q feletti k dimenziós vektortér altér legyen az ugyan ezen test felett vett n dimenziós altérnek. Ez a helyzet áll el, ha a kódoló ϕ : F k q F n q függvény lineáris. Az így létrejött (n, k) paraméter kódokat lineáris kódoknak nevezzük és a továbbiakban ilyenekkel foglalkozunk. 4.2.1. Állítás. Legyen C egy (n, k) paraméter lineáris kód az F q test mint kódábécé fölött, és legyen ϕ : F k q F n q a lineáris kódoló függvény. Jelölje b i = ϕ(e i ), ahol e i = (0,..., 0, 1, 0,..., 0). Ekkor tehát C = ϕ(f k q), és C-nek a b 1,..., b n vektorok egy bázisát alkotják. ϕ linearitása miatt világos, hogy tetsz leges x = (x 1,..., x k ) F k q szónak a ϕ(x) = x 1 b 1 + + x k b k kódszó fog megfelelni. Ha tehát B F k n q az a mátrix, melynek i-edik eleme b i (mint sorvektor), ekkor ϕ(x) = x B. Ezt a B mátrixot nevezzük a C kód generátormátrixának. Megjegyzés. Ha C lineáris kód, akkor d = min{w(v) v C}, vagyis a kód Hammingtávolsága megegyezik a különböz kódszavak súlyainak minimimával. Mivel lineáris kódok esetén egy kódszó súlya egyenl a kód 0 elemét l vett távolságával. 4.2.2. Deníció. Legyen C egy (n, k) paraméter kód. Ekkor egy (n k) n-es P mátrixot ellen rz vagy paritásellen rz mátrixnak nevezzük, amennyiben akkor és csak akkor teljesül, ha c C. P c T = 0 4.2.3. Deníció. Legyen c a küldend kódszó és c pedig a meghibásodott kódszó, P pedig az ellen rz mátrix. Ekkor szindrómának nevezzük a következ vektort: s = P (c ) T. Megjegyzés. Ez az ellen rz mátrix deníciója miatt akkor nem 0, ha egy meghibásodott kóddal szorozzuk. Tehát a szindróma csak a hibavektortól függ, így jelzi a hibát. Az u = u 1 u 2... u k polinomot. szó helyett tekinthetjük az u(x) = u 1 x k 1 + + u k 1 x + u k 25

4.2.4. Deníció. Legyen g Q[x] egy (n k) fokú polinom. Ekkor a g generátorpolinomú C polinomkódot a következ képpen deniálhatjuk C = {g(x)u(x) : deg u k}. Ekkor a kódolás nem más, mint a generátor polinommal való szorzás. 4.2.5. Állítás. Legyen C egy g generátorpolinomú polinomkód, ahol g egy (n k)-ad fokú F q feletti polinom. Tegyük fel, hogy α 0 az F q test egy b vítésének olyan eleme, amelynek multiplikatív rendje legalább n. Ha a g polinomot, úgy választjuk, hogy α, α 2,..., α d 1 gyöke legyen valamely d n egészre, akkor a kód minimális távolsága legalább d. Bizonyítás. Be kell látnunk, hogy minden v = ug 0 alakú polinomnak, azaz minden nem nulla kódszónak, legalább d darab nem nulla együtthatója van. Legyen v(x) = v 1 x n 1 + v 2 x n 2 + + v k x n k, ahol k < d. Ennek gyöke α, α 2,..., α d 1, ezért: α n 1... α n k α 2n 1... α 2n k.. α kn 1... α kn k v 1 v(α) 0 v 2 v(α 2 ) 0 = =.... v(α k ) 0 v k Ez egy homogén lineáris egyenletszendszernek is felfogható, ahol az ismeretlenek v 1, v 2..., v k. Determinánsa a következ : α n 1+ +nk (α n i α n j ), i>j hiszen az i-edik oszlopból α n i -t kiemelve ( i-re) egy Vandermonde-determináns marad. Mivel a v polinom megfelel egy kódszónak, a foka kisebb, mint n és így mindegyik n i kitev is kisebb n-nél. Ezzel szemben α rendje legalább n, és így az α n i elemek páronként különböz k. Mivel α 0, a fenti determináns sem 0. Ekkor a fenti homogén lineáris egyenletrendszernek csak triviális megoldása van, vagyis mindegyik v i = 0, azaz v = 0. 4.2.6. Deníció. Legyen α az F q test egy nem nulla eleme, melynek a multiplikatív rendje legalább n, továbbá, hogy: g(x) = (x α) (x α 2 ) (x α d 1 ). Ekkor a g generátorpolinomú n hosszú kódot Reed-Solomon kódnak nevezzük. 26

Megjegyzés. Tehát a Reed-Solomon kódok olyan kódok, amelyeket a generáló polinomjuk gyökeivel meg lehet határozni. Gyakran választjuk α-nak az F q primitív elemét. Ezt a kódot el szeretettel alkalmazzák különböz optikai adattárolóknál, adathordozóknál, többek között CD-k adatainak kódolásához. A Reed-Solomon kód közel optimális, mivel a Singleton-féle korlátban egyenl ség áll fenn, azaz a kód minimális távolsága: d = n k + 1. 4.2.7. Deníció. Legyen α 0 az F q test egy b vítésének legalább n rend eleme, és g az α, α 2,..., α d 1 elemek F q feletti minimálpolinomjainak legkisebb közös többszöröse. A g generálta n hosszú kódot BCH-kódnak nevezzük, és d n szám a kód tervezett távolsága. Megjegyzés. Tehát a Reed-Solomon kódok speciális BCH-kódok. 4.3. Reed-Solomon kódok generálása Nézzük meg, hogyan is tudunk ilyen kódokat léterhozni. Az alábbi példák megtalálhatók [2]-ben. Két egyszer, szemléletes feladatot dolgoztam fel, amely arra szolgál, hogy a kódelmélet és a véges testek feletti polinomok kapcsolatát megmutassam. 1. Példa Legyen α az F 4 test multiplikatív csoportjának egy generátoreleme, ekkor o(α) = n = 3 és d = 3 a tervezett távolság. Ekkor Q = F 4, azaz 4 jelünk van a kódok létrehozásához. Mint már beláttuk a négyelem test elemei az x 4 x polinom gyökei, melyek legyenek: 0 = α 0, α 1, α 2, α 3 = 1, ekkor g(x) = (x α)(x α 2 ) = x4 x x(x 1) = x2 + x + 1. Mivel g foka n k = 2, ezért n = 3 miatt a kód k = 1-dimenziós. Tehát a kód elemei a konstansok g(x)-szeresei: {0, x 2 + x + 2, αx 2 + αx + α, α 2 x 2 + α 2 x + α 2 } azaz {000, 111, ααα, α 2 α 2 α 2 } Ezek bináris változata az, amit valójában elküldünk, és ezt a következ módon hozzuk létre: 0 00, 1 01, α 10, α 2 11. Ez a megfeleltetés tehát a következ : aα + b ab, ahol a, b az F 4 prímtestének elemei. 27

Tehát az így kapott kód 2 bit hosszúságú darabokra bontja a küldend jeleket, és minden ilyen darabot megháromszorozva küld tovább. Legyen az üzenet M = α01, ekkor ezt el ször a fenti megfeleltetés alapján bitpárokká alakítjuk: 10 00 01. Majd megháromszorozzuk, így a következ t kapjuk: 101010 000000 010101. Abban az esetben, ha a kapott kód 111011 000000 010101, akkor az aláhúzott rész miatt egyértelm, hogy ez nem lehet kódszó, tehát könnyen látható, hogy 2-hibajelz a kód. Ha ki szeretnénk javítani ezt a hibát, akkor, ha a hozzá legközelebbi kódra javítjuk, akkor azt kapnánk, hogy az üzenet: 111111 000000 010101 volt. Így az is látszik, hogy a kód 1-hibajavító. 2. Példa Legyen α az F 16 = L test multiplikatív csoportjának egy generátoreleme, ekkor o(α) = n = 15, d = 5, m(x) = x 4 + x 3 + 1 pedig egy L feletti irreducibilis polinom (a 2.1. táblázatban megtalálható). Adjuk meg az L testet F 2 /(m) alakban. Ekkor ezen test felett α a következ alakú: α = x+(m). Hogy megértsük az így generálható kód jellegét, el ször vizsgáljuk meg L szerkezetét. Elemeit kétféle alakban írhatjuk, az egyik az F 2 feletti a 3 α 3 +a 2 α 2 +a 1 α+a 0, amit a a 3 a 2 a 1 a 0 {0, 1} 4 sorozattal rövidíthetünk. A másik az α elem hatványaikénti felírás. Az α i -hez tartozó sorozatot megkaphatjuk, ha x i -t maradékosan elosztjuk x 4 +x 3 +1-gyel. Meg kell adnunk minden ilyen α hatványt, mivel α = x, ami a 0010 sorozatnak felel meg, ezért ez alapján sorra vehetjük a hatványait: α 2 = x 2 = 0100, α 3 = x 3 = 1000, α 4 = x 4, mivel x 4 -nek az x 4 + x 3 + 1-gyel vett osztási maradéka x 3 + 1, ezért α 4 = x 3 + 1 = 1001. Ekkor α hatványai a következ k: 0 0000 0 α 0010 x α 2 0100 x 2 α 3 1000 x 3 α 4 1001 x 3 + 1 α 5 1011 x 3 + x + 1 α 6 1111 x 3 + x 2 + x + 1 α 7 0111 x 2 + x + 1 α 8 1110 x 3 + x 2 + x α 9 0101 x 2 + 1 α 10 1010 x 3 + x α 11 1101 x 3 + x 2 + 1 α 12 0011 x + 1 α 13 0110 x 2 + x α 14 1100 x 3 + x 2 α 15 0001 1 4.1. táblázat. Az F 2 /(x 4 + x 3 + 1) feletti α primitív elem hatványai Az m(x) polinom gyökei α, α 2, α 4, α 8, hiszen a négyzetre emelés relatív automorzmus, azaz egy olyan ϕ : F 2 F 2 testizomorzmus, amely a F 2 /(m) test minden elemét xen hagyja. Ezért m gyökei a szorzásra nézve mind generátorelemek, hiszen ezek a kitev k a 15-höz relatív prímek, tehát m egy primitív polinom. Mivel a 15-höz relatív prímek száma ϕ(15) = 8, ezért van még 4 generátorelem, amelyek pontosan az α-nak a 15-höz relatív prím kitev j hatványai, vagyis α 7, α 14, (α 14 ) 2 = α 1 3 és (α 13 ) 2 = α 11. Mivel ezek pont az 28

α, α 2, α 4, α 8 reciprokai, a közös minimálpolinomjuk x 4 +x+1, ami éppen a másik negyedfokú primitív polinom. Az alaptest elemei 0, és α 15 = 1 ezek minimálpolinomja els fokú. A másodfokú elemek egy négy elem testben vannak, és így a multiplikatív rendjük 3. Ezek α 5 és α 10, közös minimálpolinomjuk x 2 +x+1 (ami szintén primitív). A fennmaradó négy elem: α 3, α 6, α 12, (α 12 ) 2 = α 9, tehát csakis a még nem vizsgált negyedfokú irreducibilis polinomnak, x 4 + x 3 + x 2 + x + 1-nek lehetnek gyökei, ezek pont a multiplikatív csoport ötödrend elemei, és így ez a polinom nem primitív. A BCH-kódhoz tartozó g generátorpolinom az α, α 2, α 3, α 4 minimálpolinomjainak legkisebb közös többszöröse, azaz: g(x) = m(x)m 3 (x) = (x 4 + x 3 + 1)(x 4 + x 3 + x 2 + x + 1) = x 8 + x 4 + x 2 + x + 1. Ez nyolcadfokú, azaz a kód dimenziója k = 15 8 = 7, tehát ez a kód egy N hosszú üzenetet ( 15 )N-szeresére növel. Ez a kódolás pedig már 2-hibajavító, mivel d = 5. 7 29