Alapvető polinomalgoritmusok

Hasonló dokumentumok
Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika 2.

1. A maradékos osztás

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

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

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

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

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

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

Diszkrét matematika I.

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

Vizsgatematika Bevezetés a matematikába II tárgyhoz tavasz esti tagozat

Kongruenciák. Waldhauser Tamás

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

DISZKRÉT MATEMATIKA 2 KIDOLGOZOTT TÉTELSOR 1. RÉSZ

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

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

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

Diszkrét matematika 2.C szakirány

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

Algoritmuselmélet gyakorlat (MMN111G)

Diszkrét matematika 1. estis képzés. Komputeralgebra Tanszék ősz

Intergrált Intenzív Matematika Érettségi

1. Egész együtthatós polinomok

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.

Diszkrét matematika I.

1. Polinomok számelmélete

Testek március 29.

1. A maradékos osztás

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

1. Hatvány és többszörös gyűrűben

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


Diszkrét matematika II. feladatok

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

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

1. Komplex szám rendje

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

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait.

SE EKK EIFTI Matematikai analízis

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

1. Mondjon legalább három példát predikátumra. 4. Mikor van egy változó egy kvantor hatáskörében?

f(x) a (x x 0 )-t használjuk.

Véges testek és alkalmazásaik

Diszkrét matematika 2.C szakirány

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

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

Matematika A1a Analízis

1. Diagonalizálás. A Hom(V) diagonalizálható, ha van olyan bázis, amelyben A mátrixa diagonális. A diagonalizálható van sajátvektorokból álló bázis.

KOVÁCS BÉLA, MATEMATIKA I.

1. feladatsor Komplex számok

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

Vektorok, mátrixok, lineáris egyenletrendszerek

Diszkrét matematika I.

Diszkrét matematika 2.

Az eddig leadott anyag Diszkrét matematika II tárgyhoz tavasz

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

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

1. fejezet. Polinomok Polinomok szorzása

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

Diszkrét matematika alapfogalmak

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

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

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

MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga

Gy ur uk aprilis 11.

Határozatlan integrál

Pécsi Tudományegyetem

Komputeralgebra Rendszerek

matematika alapszak Waldhauser Tamás jegyzete alapján készítette B. Szendrei Mária

Valasek Gábor

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

Irreducibilis polinomok szakkörre

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

A gyakorlati jegy

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

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.

Egész pontokról racionálisan

1. A Horner-elrendezés

Számelméleti alapfogalmak

Lineáris leképezések, mátrixuk, bázistranszformáció. Képtér, magtér, dimenziótétel, rang, invertálhatóság

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

Analízis előadás és gyakorlat vázlat

Diszkrét matematika II. feladatok

Data Security: Public key

Gyakorló feladatok I.

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

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

KOVÁCS BÉLA, MATEMATIKA I.

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

LINEÁRIS ALGEBRA. Szerkeszt es alatt NAGY ATTILA

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

Számelmélet. 1. Oszthatóság Prímszámok

5. Az Algebrai Számelmélet Elemei

Tartalom. Algebrai és transzcendens számok

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

Vektorterek. Több esetben találkozhattunk olyan struktúrával, ahol az. szabadvektorok esetében, vagy a függvények körében, vagy a. vektortér fogalma.

Prezentációk készítése

Bevezetés az algebrába az egész számok

Átírás:

Alapvető polinomalgoritmusok Maradékos osztás Euklideszi algoritmus Bővített euklideszi algoritmus Alkalmazás: Véges testek konstrukciója Irodalom: Iványi Antal: Informatikai algoritmusok II, 18. fejezet.

Maradékos osztás Számítsuk ki a (2x 4 + 3x 2 1)/(x 2 + x + 1) hányadost: 2x 4 + 3x 2 1 = (2x 2 2x + 3)(x 2 + x + 1) + ( x 4). Hányados: 2x 2 2x + 3 Maradék: x 4

Maradékos osztás Számítsuk ki a (2x 4 + 3x 2 1)/(x 2 + x + 1) hányadost: 2x 4 + 3x 2 1 = (2x 2 2x + 3)(x 2 + x + 1) + ( x 4). Hányados: 2x 2 2x + 3 Maradék: x 4

Maradékos osztás polinomokkal A továbbiakban F egy test. Theorem (Maradékos osztás tétele) Legyenek f, g F[x] legfeljebb n-edfokú polinomok és legyen g 0. Ekkor egyértelműen léteznek q, r F[x] melyekre: (i) f = qg + r és (ii) r = 0 vagy deg r < deg g. A fenti q és r polinomok O(n 2 ) aritmetikai művelet segítségével kiszámíthatók. Bizonyítás. Létezés: deg f szerinti indukció. Ha f = 0 akkor q = r = 0 megfelelő. Ha deg f < deg g akkor q = 0 és r = f megfelelő.

Maradékos osztás polinomokkal A továbbiakban F egy test. Theorem (Maradékos osztás tétele) Legyenek f, g F[x] legfeljebb n-edfokú polinomok és legyen g 0. Ekkor egyértelműen léteznek q, r F[x] melyekre: (i) f = qg + r és (ii) r = 0 vagy deg r < deg g. A fenti q és r polinomok O(n 2 ) aritmetikai művelet segítségével kiszámíthatók. Bizonyítás. Létezés: deg f szerinti indukció. Ha f = 0 akkor q = r = 0 megfelelő. Ha deg f < deg g akkor q = 0 és r = f megfelelő.

Bizonyítás (folytatás). Legyen Maradékos osztás polinomokkal f = α 0 + α 1 x + + α k x k és g = β 0 + β 1 x + + β m x m ahol α k, β m 0 és k m. Legyen q = (α k /β m )x k m és legyen f 1 = f q g. Ekkor deg f 1 < deg f és alkalmazható az indukciós feltevés: Kapjuk, hogy f 1 = q 1 g + r 1 ahol r 1 = 0 vagy deg r 1 < deg g. q 1 g + r 1 = f 1 = f q g f = (q + q 1 )g + r 1. A fenti felbontás jó.

Maradékos osztás polinomokkal Bizonyítás (folytatás). Egyértelműség: Legyen két megfelelő felbontás. Ekkor f = q 1 g + r 1 = q 2 g + r 2 (q 1 q 2 )g = r 2 r 1 A jobboldali polinom foka legfeljebb deg g 1. Ha q 1 q 2 akkor a baloldali polinom foka legalább deg g. Ezért q 1 = q 2 és r 1 = r 2. Költség: egy lépés költsége O(n) aritmetikai művelet. Legfeljebb n lépést kell végrehajtani, így a költség O(n 2 ) aritmetikai művelet.

Maradékos osztás polinomokkal Bizonyítás (folytatás). Egyértelműség: Legyen két megfelelő felbontás. Ekkor f = q 1 g + r 1 = q 2 g + r 2 (q 1 q 2 )g = r 2 r 1 A jobboldali polinom foka legfeljebb deg g 1. Ha q 1 q 2 akkor a baloldali polinom foka legalább deg g. Ezért q 1 = q 2 és r 1 = r 2. Költség: egy lépés költsége O(n) aritmetikai művelet. Legfeljebb n lépést kell végrehajtani, így a költség O(n 2 ) aritmetikai művelet.

Euklideszi algoritmus polinomokra Legyenek f, g F[x] \ {0}. Legyen f 0 = f, f 1 = g, és képezzük a q i is f i polinomokat maradékos osztással: f 0 = q 1 f 1 + f 2 f 1 = q 2 f 2 + f 3. f k 2 = q k 1 f k 1 + f k f k 1 = q k f k + f k+1, ahol f k+1 = 0. Mivel deg f i < deg f i+1 az eljárás véges sok lépésben véget ér. Könnyű látni: f k = gcd(f, g).

Euklideszi algoritmus: Példa Legyen f = f 0 = 2x 4 + 3x 2 1, g = f 1 = x 2 + x + 1 Q[x]. Euklideszi algoritmus: } 2x 4 + {{ 3x 2 1 } = (2x 2 2x + 3) (x 2 + x + 1) + ( x 4) }{{}}{{}}{{} f 0 q 1 f 1 } x 2 + {{ x + 1 } = ( x + 3) ( x 4) + }{{}}{{}}{{} 13 f 1 q 2 f f 2 3 x }{{ 4 } = (( 1/13)x 4/13) }{{}}{{} 13 + }{{} 0 f 2 q 3 f 3 f 4 Tehát f k = f 3 = gcd(f, g) = 13 1 (asszociáltak!). f 2

Bővített euklideszi algoritmus Ha f, g F[x], deg f, deg g n akkor léteznek F, G F[x] melyekre deg F, deg G n és Ff + Gg = gcd(f, g). Valóban, az euklideszi algoritmus szerint, f 2 = f 0 q 1 f 1 = f q 1 g f 3 = f 1 q 2 f 2 = f 1 q 2 (f 0 q 1 f 1 ) = (1 + q 1 q 2 )g q 2 f. Tehát minden i {2,..., k} esetén létezik F i, G i F[x] melyre teljesül. F i f + G i g = f i

Bővített euklideszi algoritmus Legyen F i = q i g + Fi és G i = s i f + Gi deg Gi < deg f. Mivel F i f + G i g = f i,, ahol deg F i < deg g és F i f + G i g = (F i q i g)f + (G i s i f )g = = F i f q i fg + G i g s i fg F i f + G i g = f i mod fg. Mivel a kongruencia mindkét oldalán a polinomok foka kisebb mint deg f + deg g, F i f + G i g = f i. Speciálisan: F k f + G k g = f k = gcd(f, g).

Bővített euklideszi algoritmus Theorem Legyenek f, g F[x] legfeljebb n-edfokú polinomok. Ekkor léteznek F, G F[x] legfeljebb n-edfokú polinomok, melyekkel Ff + Gg = gcd(f, g). Továbbá gcd(f, g), F és G meghatározhatók legfeljebb O(n 3 ) aritmetikai művelettel. Bizonyítás. Az f i, Fi és Gi polinomok O(n 2 ) aritmetikai művelettel kiszámíthatók (ellenőrizzük). Mivel legfeljebb n lépést kell végezni, a gcd(f, g), F, G polinomok O(n 3 ) művelettel meghatározhatók.

Bővített euklideszi algoritmus Theorem Legyenek f, g F[x] legfeljebb n-edfokú polinomok. Ekkor léteznek F, G F[x] legfeljebb n-edfokú polinomok, melyekkel Ff + Gg = gcd(f, g). Továbbá gcd(f, g), F és G meghatározhatók legfeljebb O(n 3 ) aritmetikai művelettel. Bizonyítás. Az f i, Fi és Gi polinomok O(n 2 ) aritmetikai művelettel kiszámíthatók (ellenőrizzük). Mivel legfeljebb n lépést kell végezni, a gcd(f, g), F, G polinomok O(n 3 ) művelettel meghatározhatók.

Bővített euklideszi algoritmus: Példa Legyen f = f 0 = 2x 4 + 3x 2 1 és g = f 1 = x 2 + x + 1. Euklideszi algoritmus: } x {{ 4 } = }{{} 1 f 2 F 2 =F 2 (2x 4 + 3x 2 1) (2x 2 2x + 3) (x 2 + x + 1) }{{}}{{}}{{} f G 2 =G2 g 13 = (x 2 + x + 1) ( x + 3)( x 4) = = (x 2 + x + 1) ( x + 3)((2x 4 + 3x 2 1) (2x 2 2x + 3)(x 2 + x + 1)) = = ( x + 3) (2x 4 + 3x 2 1) + ( 2x 3 + 8x 2 9x + 10) (x 2 + x + 1) }{{}}{{}}{{}}{{} F 3 =F3 f G 3 =G3 g

Tehát 13 = ( x +3)(2x 4 +3x 2 1)+( 2x 3 +8x 2 9x +10)(x 2 +x +1) és 1 = (( 1/13)x + 3/13)(2x 4 + 3x 2 1)+ + (( 2/13)x 3 + (8/13)x 2 (9/13)x + 10/13)(x 2 + x + 1)

Polinomműveletek költsége (i) Összeadás: O(n) (ii) Szorzás: O(n 2 ) (Schönhage-Strassen: O(n log n log log n)) (iii) Maradékos osztás: O(n 2 ) (iv) gcd, F és G melyekkel Ff + Gg = gcd(f, g): O(n 3 ) A fenti műveletek költsége n-ben polinomiális, tehát a fenti műveletek hatékonynak tekinthetők.

Alkalmazás: Véges testek Egy kommutatív egységelemes gyűrűben az invertálható elemeket egységeknek nevezzük. F[x]-ben a skalárok (nulladfokú polinomok) az egységek. f F[x] esetén mik az egységek F[x]/(f )-ben?

Invertálás F[x]/(f )-ben 1 = (( 1/13)x + 3/13)(2x 4 + 3x 2 1)+ + (( 2/13)x 3 + (8/13)x 2 (9/13)x + 10/13)(x 2 + x + 1) Moduló 5 átírva, F 5 [x]-ben kapjuk: 1 = (2x + 4)(2x 4 + 3x 2 + 4) + (x 3 + x 2 + 2x)(x 2 + x + 1) Tehát F 5 [x]-ben (x 3 + x 2 + 2x)(x 2 + x + 1) 1 mod 2x 4 + 3x 2 + 4. Azaz x 3 + x 2 + 2x + (2x 4 + 3x 2 + 4) inverze x 2 + x + 1 + (2x 4 + 3x 2 + 4).

Invertálható elemek faktorgyűrűkben Lemma Legyenek f, g F[x]. Ekkor f + (g) F[x]/(g) egység, akkor és csakis akkor, ha gcd(f, g) = 1. Ha F, G F[x] melyekkel Ff + Gg = 1, akkor (f + (g)) 1 = F + (g). Tehát az f + (g) elem inverze a bővített euklideszi algoritmussal meghatározható. Bizonyítás. f invertálható moduló g létezik s F[x] mellyel fs 1 (mod g) létezik s, t F[x] mellyel sf + tg = 1 gcd(f, g) = 1. Ha gcd(f, g) = 1, akkor léteznek F, G F[x] melyekre Ff + Gg = 1. Ekkor 1 = Ff + Gg Ff (mod g).

Invertálható elemek faktorgyűrűkben Lemma Legyenek f, g F[x]. Ekkor f + (g) F[x]/(g) egység, akkor és csakis akkor, ha gcd(f, g) = 1. Ha F, G F[x] melyekkel Ff + Gg = 1, akkor (f + (g)) 1 = F + (g). Tehát az f + (g) elem inverze a bővített euklideszi algoritmussal meghatározható. Bizonyítás. f invertálható moduló g létezik s F[x] mellyel fs 1 (mod g) létezik s, t F[x] mellyel sf + tg = 1 gcd(f, g) = 1. Ha gcd(f, g) = 1, akkor léteznek F, G F[x] melyekre Ff + Gg = 1. Ekkor 1 = Ff + Gg Ff (mod g).

Véges testek konstrukciója Corollary Ha f F[x] irreducibilis polinom, akkor F[x]/(f ) egy test. Speciálisan, ha f F p [x] irreducibilis és deg f = n, akkor F p [x]/(f ) = F p n. Example 2x 4 + 3x 2 + 4 F 5 [x] irreducibilis, ezért F 5 [x]/(2x 4 + 3x 2 + 4) = F 625. Corollary Legyen f F[x], deg f = n. Ekkor az F[x]/(f ) testben az összeadás költsége O(n), egy szorzás költsége O(n 2 ), egy invertálás költsége pedig O(n 3 ) művelet F-ben.