Univerzita Karlova v Praze Matematicko-fyzikální fakulta

Rozměr: px
Začít zobrazení ze stránky:

Download "Univerzita Karlova v Praze Matematicko-fyzikální fakulta"

Transkript

1 Univerzita Karlova v Praze Matematico-fyziální faulta Milan Straa! #"$%'&)(*,+.-0/,1324/564,/&879/:01; <=8+#&8>?- Katedra algebry Vedoucí baalářsé práce: Mgr. Jan Žemliča, Ph.D. Studijní program: informatia, obecná informatia 2006

2 Rád bych poděoval vedoucímu své práce Mgr. Janu Žemličovi, Ph.D., za odborné vedení během mé práce a taé za svělé přednášy o algebře, teré mě tomuto tématu přivedly. Taé bych velmi rád poděoval Janě Kravalové a Petrovi Sušilovi za oretury textu a Mgr. Martinu Marešovi ja za oretury ta za podnětné připomíny implementaci programu. V neposlední řadě bych chtěl poděovat svým rodičům, bez jejichž ochoty a trpělivosti bych nemohl tuto práci doončit. Prohlašuji, že jsem svou baalářsou práci napsal samostatně a výhradně s použitím citovaných pramenů. Souhlasím se zapůjčováním práce a s jejím zveřejňováním. V Praze dne Milan Straa 2

3 @BADCFEHG 1. Úvod Značení Formulace problému Záladní algoritmy Bezčtvercová fatorizace Berleampův algoritmus Různostupňová fatorizace Stejnostupňová fatorizace Subvadraticý algoritmus Bezčtvercová fatorizace Různostupňová fatorizace Stejnostupňová fatorizace Kompletní algoritmus fatorizace Vlastní implementace Použitá literatura

4 Název práce: Fatorizace polynomů nad onečnými tělesy Autor: Milan Straa Katedra (ústav): Katedra algebry Vedoucí baalářsé práce: Mgr. Jan Žemliča, Ph.D. vedoucího: Abstrat: Cílem práce je prozoumat problém rozladu polynomu nad onečným tělesem na součin ireducibilních polynomů. Popsáním něolia algoritmů hledajících tento rozlad se uáže, že tento problém je vždy řešitelný v polynomiálním čase vzhledem e stupni polynomu a počtu prvů onečného tělesa. U jednoho z algoritmů je popsána implementace s velmi dobrou asymptoticou časovou složitostí I (n log q), de n je stupeň rozládaného polynomu nad tělesem s q prvy. Program používající jednodušší, ale praticy rychlejší variantu tohoto algoritmu je součástí práce. Klíčová slova: fatorizace, onečná tělesa, polynomy, algoritmus Title: Factoring polynomials over finite fields Author: Milan Straa Department: Department of Algebra Supervisor: Mgr. Jan Žemliča, Ph.D. Supervisor s address: Jan.Zemlica@mff.cuni.cz Abstract: The goal of this wor is to present the problem of the decomposition of a polynomial over a finite field into a product of irreducible polynomials. By describing algorithms solving this problem, we show that the decomposition can always be found in polynomial time in both the degree of the polynomial and the number of elements of the underlying finite field. One algorithm is studied in detail and an implementation with good asymptotic time complexity I (n log q) is described, where n is the degree of the polynomial over the field with q elements. A program using easier, but practically faster version of this algorithm is a part of this wor. Keywords: factorization, finite fields, polynomials, algorithm 4

5 JHKDLNMPORQ Prvočísla zaujímají mezi přirozenými čísly význačné postavení. Jednou z jejich nejdůležitější vlastností je to, že aždé přirozené číslo můžeme jednoznačně zapsat jao součin mocnin prvočísel. Tento tazvaný prvočíselný rozlad má navíc tu zajímavou vlastnost, že ho zatím nido neumí najít v polynomiálním čase vzhledem délce zápisu daného čísla, taže se stal záladem pro asymetricou šifru RSA. Přitom otestovat, zda je dané číslo prvočíslem, v polynomiálním čase lze (viz [1]). Podobnou analogii s prvočísly můžeme nalézt taé u polynomů. Něteré polynomy jsou podobně jao prvočísla už dále nerozložitelné a ostatní můžeme jednoznačně zapsat jao součin taových nerozložitelných polynomů. Problémy testování nerozložitelnosti a hledání rozladu polynomů mají ale trochu odlišné vlastnosti než jejich protějšy týající se prvočísel. Přesto jsou velmi zajímavé a právě pro jejich podobnosti a nepodobnosti se známými prvočíselnými úlohami jsem se rozhodl jimi zabývat. V této práci se věnuji hlavně hledání rozladu polynomů nad onečnými tělesy na součin polynomů nerozložitelných. Vzhledem tomu, že tento rozlad lze efetivně nalézt v polynomiálním čase, můžeme algoritmy na jeho nalezení použít i pro testování rozložitelnosti. Nezabýval jsem se ovšem tím, zda pro samotné testování rozložitelnosti neexistují efetivnější algoritmy. V následující apitole popíšu jeden deterministicý a jeden pravděpodobnostní algoritmus pro hledání rozladu polynomů nad onečnými tělesy a doážu jejich funčnost. Nebudu se ovšem moc snažit, aby byly tyto algoritmy rychlé, bude stačit jejich polynomialita. V další apitole se zaměřím jenom na popisovaný pravděpodobnostní algoritmus a navrhnu variantu, terá funguje rychleji než v vadraticém čase vzhledem e stupni zadaného polynomu, přesněji v čase I (n log q), de n je stupeň zadaného polynomu nad onečným tělesem o q prvcích. Součástí této práce je i implementace jednodušší, ale praticy rychlejší varianty podrobně popisovaného algoritmu. Její tvorbu a vlastnosti popíšu v apitole poslední. Při studiu učebnic a článů pro tuto práci jsem byl převapen zvláštními vlastnostmi vědecých článů a odborných textů na Internetu. Jedna jsem nedoázal najít v eletronicé podobě popisy složitějších algoritmů, teré byly v textech poládány za všeobecně známé. Nyní mám na mysli napřílad násobení polynomů nad onečnými tělesy pomocí FFT, pseudoinverze polynomů, Eulidův algoritmus pro polynomy pracující rychleji než v vadraticém čase a jiné. Jediný zdroj, terý jsem naonec nalezl, byly papírové učebnice algebry (napřílad [5] a [7]). Taé mě převapilo, že v něolia případech byly různé speciální případy či důazy ponechány na čtenáři, přestože mi nepřišly nija jednoduché. Jednalo se napřílad o rychlou bezčtvercovou fatorizaci v případě nenulové charateristiy, otázu toho, zda v Berleampově algoritmu jedna báze úplně fatorizuje daný polynom, či důaz správnosti rychlé varianty stejnostupňové fatorizace. S pomocí učebnic a univerzitních přednáše se mi vša všechny tyto problémy povedlo vyřešit. 5

6 STVUXWZY?TV[ Konečné těleso o q prvcích budeme značit \ q. Polynomem nad onečným tělesem myslíme posloupnost (a 0, a 1,..., a n,...) oeficientů z tělesa taovou, že jenom onečně jejích prvů má nenulovou hodnotu. Symbolicy zapisujeme polynom jao ] i 0 a ix i. Stupeň polynomu f, deg f, je největší index i taový, že a i je nenulový. Poud jsou všechny oeficienty polynomu rovny nule, jeho stupeň definujme jao nulu, ačoliv se častěji používá stupeň minus jedna nebo minus neonečno. My použijeme stupeň nula, aby polynomy stupně nula byly právě všechny prvy tělesa, teré používáme. Poud definujeme nad polynomy operace plus a minus jao ] i 0 a ix i ^ ] i 0 b ix i = ] i 0 (a i ^ b i )x i a operaci rát ta, že ] i 0 a ix i _ ] i 0 b ix i = ] i 0 ] i =0 (a _ b i )x i, tvoří polynomy nad onečným tělesem T oruh T [x], přičemž nulový prve je polynom ] i 0 0xi a jednotový prve je polynom 1x 0 + ] i 1 0xi. Polynom f dělí polynom g, f ` g, poud g = f _ h pro nějaý polynom h. Všimněme si, že poud f ` g a t je nenulový prve tělesa, taé t _ f ` g, protože t je určitě invertibilní. To nás přivádí následující definici: Nenulový polynom f nazveme monicý, poud je jeho oeficient a deg f jedničový prve tělesa. Největším společným dělitelem polynomů f a g, NSD(f, g), nazveme aždý polynom c, terý dělí f i g, a žádný polynom stupně většího než c už nedělí f a g zároveň. Vzhledem tomu, že jsme v definici použili dělitelnost, je největší společný dělitel přenásobený nenulovým prvem tělesa taé největším společným dělitelem. Poud bychom chtěli, aby byl největší společný dělitel jednoznačný, můžeme vzít ze všech největších společných dělitelů ten monicý. V následujícím textu budeme NSD(f, g) používat jao označení jediného monicého největšího společného dělitele. V něterých místech textu je výhodné dívat se na polynom ] n 1 a ix i nad tělesem \ q jao na n-složový vetor (a 0,..., a n 1 ) nad tělesem \ q. Protože jsou si oba tyto pohledy velmi blízé, budeme je v textu bez zvláštního upozornění zaměňovat. Poud máme polynom f z oruhu \ q[x], můžeme jím tento oruh fatorizovat. Tuto fatorizaci budeme značit jao \ q[x]/f a myslíme jí fatorizaci oruhu podle ongruence, terá odpovídá hlavnímu ideálu určenému polynomem f. Pozor na to, že tento pojem fatorizace oruhu nemá nic společného s popisovanou fatorizací polynomů. Ostatní použité značení je ve shodě s běžně používaným značením a je možné ho nalézt napřílad v nize [5] či [7]. acbxdfedgvh UXiZYj dlbnmfhpoqedg Polynom nazveme ireducibilní, poud ho nemůžeme zapsat jao součin dvou netriviálních polynomů. Přesněji řečeno, poud ho zapíšeme jao součin dvou libovolných polynomů, stupeň jednoho z nich musí být nula. Můžeme taé říci, že polynom f je ireducibilní, poud ho nedělí žádný polynom, jehož stupeň by byl větší než nula a menší než deg f. Poud polynom ireducibilní není, jedná se o polynom složený a aždý polynom menšího stupně, terý ho dělí, je jeho dělitel neboli fator. Fatorizací polynomu myslíme jeho rozlad na součin ireducibilních polynomů. Tento rozlad vždy existuje a poud jsou všechny fatory monicé, je až na pořadí jednoznačný. V textu budeme fatorizací značit nejenom rozlad na součin ireducibilních polynomů, ale taé obecný rozlad na součin polynomů daných vlastností. Je dobré si uvědomit, že i taový obecný rozlad vždy existuje (stačí sdružit ireducibilní fatory původního polynomu do supin stejných vlastností) a poud můžeme u všech fatorů chtěnou vlastnost jednoznačně určit, je tento obecný rozlad taé jednoznačný až na pořadí. Poud budeme fatorizací mínit výslovně rozlad na součin ireducibilních polynomů, můžeme ji nazvat úplnou fatorizací. Cílem algoritmů fatorizace je tedy pro zadaný polynom f nalézt jeho (jednoznačný) rozlad na součin monicých ireducibilních polynomů. 6

7 rrktstu<vxw E Qyz E w {HOH}~ ƒ V celém textu budeme předpoládat znalost toho, ja se provádí záladní aritmeticé operace nad \ q a \ q[x]. Taé použijeme něoli záladních vět týajících se onečných těles, teré nebudeme doazovat. Zájemci mohou najít jejich důazy v [5] nebo [7]. Jedná se především o tato tvrzení: Tvrzení 2.1: Mějme těleso T, vzájemně nesoudělné polynomy m 1,..., m z oruhu T [x] a položme m = m 1 _#_#_ m. Potom je zobrazení ϕ : T [x]/m definované jao ϕ(a) = (a mod m 1,..., a mod m ) isomorfismus oruhů. Toto tvrzení je známé jao Čínsá věta o zbytcích. Tvrzení 2.2: Buď m prve \ q[x]. Pa \ q[x]/m je těleso ˆ T [x]/m 1... T [x]/m m je ireducibilní. Tvrzení 2.3: V oruhu polynomů nad \ q platí x q x = Š s F q (x s). Tvrzení 2.4: Polynom x qd x nad \ q je součin všech monicých ireducibilních polynomů, jejichž stupeň dělí d. Tvrzení 2.5: Multipliativní grupa nenulových prvů onečného tělesa je cylicá. Cílem této apitoly je popsat dva záladní algoritmy fatorizace. Ve sutečnosti popíšeme čtyři částečné fatorizace, teré se dají pospojovat do dvou odlišných algoritmů úplné fatorizace podle následujícího vzoru: Berleampova fatorizace Bezčtvercová fatorizace Různostupňová fatorizace Stejnostupňová fatorizace Graf 2.6: Závislosti částečných fatorizací Nyní začneme popisovat jednotlivé částečné fatorizace. 7

8 d i b HY?ŒZWŽ Y UX ' bxdl ŒZUXiZY O polynomu f řeneme, že je bez čtverců, poud neexistuje žádný polynom g stupně alespoň jedna taový, že g 2 dělí f. Cílem bezčtvercové fatorizace je zadaný polynom f rozložit do tvaru f = i=1 ta, aby všechny polynomy f i byly bez čtverců a aždé dva f i a f j byly nesoudělné. Bezčtvercová fatorizace je samozřejmě slabší než fatorizace jao taová, jednotlivé polynomy f i mohou být ještě složené. Nicméně o nich víme, že nemají opaující se dělitele, což zjednoduší naše algoritmy fatorizace. Než popíšeme algoritmus bezčtvercové fatorizace, připomeňme si, co je to derivace n polynomu. Máme-li f polynom stupně n, f = ] a ix i, jeho derivace f je definována jao Navíc platí, že (1) (f + g) = f + g, (2) (f _ g) = f _ g + f _ g, (3) (f n ) = n _ f n 1 _ f. f = n 1 f i i (i + 1) _ a i+1 x i. Nejdříve si předvedeme užitečnou charaterizaci bezčtvercových polynomů. Tvrzení 2.7: Polynom f je bez čtverců ˆ NSD(f, f ) = 1. Důaz: Nejprve předpoládejme, že polynom f není bez čtverců. V tom případě ho můžeme zapsat jao f = g 2 h, přičemž stupeň g je alespoň jedna. Rozepišme si f = 2gg h + g 2 h = g(2g h + gh ). Pa ale g ` f a tedy g ` NSD(f, f ). Stupeň NSD(f, f ) je proto alespoň jedna, taže NSD(f, f ) š= 1. Naopa předpoládejme, že NSD(f, f ) š= 1, a označme g = NSD(f, f ). Stupeň g musí být alespoň jedna. Vezměme ireducibilní rozlad (fatorizaci) polynomu g a označme h libovolný ireducibilní polynom stupně alespoň jedna, terý dělí g. Pa platí, že f = ha a f = hb. Uvažujme nyní hb = f = (ha) = h a + ha, z čehož plyne, že h ` h a. Protože je h ireducibilní a stupeň h je menší než stupeň h, musí platit, že h` a. Tedy a = hâ, f = hhâ a polynom f ta není bez čtverců, protože ho dělí h 2. Nyní mějme polynom f s bezčtvercovým rozladem f = Š i=1 f i i a předpoládejme, že jsme nad tělesem charateristiy nula. Derivace polynomu f je Označme f = i=1 Poud nyní f a c 1 vydělíme, dostaneme f 1 _#_#_ f _ i 1 i 1 i _ f _ i i 1 f _ i f _#_#_ i+1 i+1 f. c 1 = NSD(f, f ) = g 1 = f/c 1 = i=1 i=2 f i. f i 1 i. 8

9 Nyní stačí položit a vidíme, že platí h 1 = NSD(c 1, g 1 ) = f 1 = g 1 /h 1. Poud bychom chtěli dále zísat f 2, můžeme apliovat stejný postup na c 1 = Š i=2 f i i 1 místo na f, a ta poračovat ve výpočtu všech dalších f i. Poud si ovšem uvědomíme, že c 1 = Š i=2 f i i 1, h 1 = Š i=2 f i a že pro výpočet f 2 potřebujeme polynomy c 2 = Š i=3 f i i 2 a g 2 = Š i=2 f i, vidíme, že doážeme spočítat c 2 a g 2 jednodušeji: c 2 = c 1 /h 1 g 2 = h 1 Nyní už můžeme vytvořit jednoduchý iterativní algoritmus bezčtvercové fatorizace pro tělesa charateristiy nula. procedure BezčtvercováF(f) : spočte bezčtvercový rozlad polynomu f nad tělesem charateristiy 0 if deg f = 0 then return f c NSD(f, f ); g f/c; i 0 while deg g > 0 do i i + 1 h NSD(c, g); f i g/h g h; c c/h return (f 1,..., f i ) Algoritmus 2.8: Bezčtvercová fatorizace pro tělesa charateristiy 0 Tělesa charateristiy nula jsme sice vyřešili, ale všechna onečná tělesa mají charateristiu nenulovou. Předpoládejme odteď, že máme těleso s prvočíselnou charateristiou p. Právě popsaný algoritmus bezčtvercové fatorizace nebude nyní bohužel správně fungovat. Problém je v tom, že œ x tp = tp _ x tp 1 = 0 _ t _ x tp 1 = 0. Zusme vysledovat, co přesně právě popsaný algoritmus vypočte, dyž ho použijeme na těleso charateristiy p. Mějme polynom f s bezčtvercovým rozladem Š i=1 f i i. Označme si ty fatory, teré umocňujeme na nějaý násobe p, jao F j. Polynom f můžeme tedy zapsat jao Š i tp f _ i i Š j=tp F j j. Nyní budeme postupovat podle algoritmu a dostaneme, že = ž f = ž i tp f i iÿ i tp _ f i i _ j=tp j=tp F j j Ÿ F j j + i tp = ž i tp f i i _ 0 = f i iÿ _ i tp j=tp i=2 f i F j j + i tp f 1 _#_#_ i _ f i 1 i f i i _ ž j=tp F j j Ÿ _ f i _#_#_ f _ = j=tp F j j. Dále tedy c 1 = NSD(f, f ) = i tp f i 1 i _ i=tp F j j, 9

10 g 1 = f/c 1 = h 1 = NSD(c 1, g 1 ) = i tp f 1 = g 1 /h 1. f i, i tp,i 2 Zatím všecho funguje. Když budeme poračovat dál, dostaneme c 2 = c 1 /h 1 = g 2 = h 1 = i tp,i 2 f i 1 i i tp,i 2 _ f i, i=tp f i, F j j, a obecně c j = c j 1 /h j 1 = g j = h j 1 = i tp,i j f i 1 i i tp,i j f i. _ i=tp F j j, Algoritmus bude tím pádem fungovat jenom částečně určí všechny fatory bezčtvercového rozladu, jejichž mocnina není dělena charateristiou tělesa. Po sončení algoritmu se nám tedy může stát, že g = 1 a c = Š j=tp F j j š= 1. Uážeme, že v tomto případě musí být polynom c p-tá mocnina nějaého polynomu. Nejdříve si všimneme, že c = 0, protože mocniny všech fatorů F j jsou děleny charateristiou p. Polynom c si zapišme jao ] i a ix i. Jeho derivace je nulová, taže nenulové oeficienty mohou být jenom ty a i, pro teré je i násobe charateristiy tělesa, čili jenom oeficienty a jp. Polynom c lze tedy zapsat jao ] i a ipx ip. Nyní už stačí jenom jednoduchý výpočet c = i a ip x ip = ž i a ip x i Ÿ Polynom c je tedy mocninou nějaého polynomu, doonce víme, ja tento polynom zonstruovat. Označme ho c 1/p. Zbývá tedy vyřešit, ja zísat bezčtvercové fatory polynomu c. Protože je to p-tá mocnina polynomu c 1/p, můžeme použít reurzi stačí algoritmus spustit na polynom c1/p a mocninu všech vrácených fatorů pa vynásobit charateristiou p. Tím vzniá následující algoritmus. procedure BezčtvercováF(q = p m,f) : spočte bezčtvercový rozlad polynomu f nad \ q if deg f = 0 then return f c NSD(f, f ); g f/c; i 0 while deg g > 0 do i i + 1 h NSD(c, g); f i g/h g h; c c/h if deg c > 0 then (f p, f 2p,..., f tp ) BezčtvercováF(p m, c 1/p ) return (f 1,..., f max(i,tp) ) Algoritmus 2.9: Bezčtvercová fatorizace pro onečná tělesa p. 10

11 Tvrzení 2.9: Algoritmus pracuje správně a v polynomiálním čase vzhledem n. Důaz: Správnost algoritmu plyne z popisu. Co se týče polynomiality, jeden průchod while cylem spočítá NSD a dvarát vydělí polynomy stupně nejvýš n. Těchto průchodů může být nejvýš n, taže celý algoritmus romě reurzivního volání použije n + 1 NSD a 2n + 1 dělení polynomů, vše pro polynomy stupně nejvýš n. To je jistě jen polynomiálně mnoho operací nad tělesem \ q. Označme tento počet C(n). Co se týče reurzivního volání, důležité je si všimnout, že reurzivně voláme algoritmus na polynom, jehož stupeň je nejvýš n/p. Označme T (n) počet operací nad \ q pro doončení algoritmu pro polynom stupně n. Pa T (n) C(n) + T (n/p) C n p i C(n) n 1 p i _ C (n) = p p 1 _ C(n) p 2 2C(n). Taže reurzivní volání na složitosti nepřidá a složitost algoritmu odpovídá složitosti n výpočtů NSD a n dělení polynomů. 11

12 e HY dlh Y? XU j 8 U hp XbXdl edgv Nyní popíšeme deterministicý algoritmus pro fatorizaci bezčtvercového polynomu. Jedná se o jeden z prvních a nejznámějších algoritmů fatorizace, terý byl poprvé popsán v [2]. Mějme bezčtvercový polynom f stupně n nad \ q, terý chceme rozložit. Označme si V = \ q[x]/f, což je romě oruhu taé vetorový prostor nad \ q dimenze n. Položme W = v ª V : v q = v«. Poud ztotožníme prvy V s jejich reprezentanty stupně menšího než n, můžeme se na W dívat jao na množinu W = v ª \ q[x] : deg v < n v q = v (mod f). Tato množina, známá jao Berleampova podalgebra, hraje hlavní roli v celém algoritmu. Tvrzení 2.10: W je podprostor vetorového prostoru V. Důaz: Potřebujeme doázat uzavřenost na sčítání a salární násobení. Ať jsou tedy f, g ª W. Pa (f + g) q = f q + g q, protože ombinační čísla ( q i ) jsou pro všechna i ª* 1,..., q 1«dělitelná charateristiou tělesa. Máme tedy (f + g) q = f q + g q = f + g, což doazuje uzavřenost na sčítání. Nyní mějme f ª W a c ª \ q uzavřenost na salární násobení. a počítejme: (c _ f) q = c q _ f q = c _ f, což doazuje Předpoládejme teď na chvíli, že zadaný polynom f je ireducibilní. V je potom dle (2.2) taé těleso. Polynom y q y ª V [y] tedy může mít nejvýš q ořenů, přičemž aždý prve tělesa \ q dle tvrzení (2.3) ořenem je. Kořenů polynomu y p y je tím pádem právě q a množinu W můžeme ztotožnit s \ q, tj. s množinou všech polynomů z V stupně nula. Proto je v tomto případě dimenze W rovna jedné. Už víme, jaou má W dimenzi, dyž je zadané f ireducibilní. Ale co dyž není? Tvrzení 2.11: Buď bezčtvercový polynom f součin ireducibilních polynomů f 1 _#_#_ f. Pa má W dimenzi. Důaz: Protože je f bezčtvercový, jsou jeho fatory navzájem nesoudělné. Označíme si V i = \ p[x]/f i a W i = v ª V i : v q = v«. Podle Čínsé věty o zbytcích (2.1) je zobrazení ϕ : V V 1... V definované jao ϕ(a) = (a mod f 1,..., a mod f ) isomorfismus oruhů. Uvažujme zobrazení ψ definované jao ϕ, teré ale omezíme na W. Pa 1. ψ : W W 1... W, protože dyž v q = v (mod f), taé v q = v (mod f i ). 2. ψ je isomorfismus. Protože je ψ definováno pomocí ϕ, je to prostý homomorfismus. Musíme uázat, že je ψ na. Buď (w 1,..., w ) ª W 1... W. Protože ϕ je na, existuje v, že ϕ(v) = (w 1,..., w ). My chceme uázat, že v je prve W. Protože ϕ(v q ) = (w q 1,..., w q ) = (w 1,..., w ) = ϕ(v) a protože je ϕ isomorfismus, v q = v, a tedy v ª W. W je tím pádem isomorfní s W 1... W. Protože je ale aždý polynom f i ireducibilní, je aždé V i těleso, a tedy aždé W i je ztotožnitelné s \ q. Tedy W je vetorový prostor nad \ q dimenze. Teď tedy víme, ja pomocí W poznat počet ireducibilních fatorů zadaného polynomu. Co dybychom ale chtěli jednotlivé fatory taé najít? K tomu nám bude Tvrzení 2.12: Buď f monicý bezčtvercový polynom nad \ q a w libovolný polynom z W stupně alespoň 1. Pa platí f = s F q NSD(w s, f). 12

13 ` Důaz: Předpoládejme, že f = f 1 _#_#_ f. Z tvrzení (2.3) víme, že v \ q[x] platí x q x = Š s F q (x s). Proto platí w q w = s F q (w s). Protože w q = w (mod f), pro aždé f i platí, že f i ` w q w = Š s F q (w s). Jeliož jsou všechny polynomy (w s) navzájem nesoudělné, existuje pro aždý fator f i právě jedno s i, že f i ` w s i. Proto ` NSD(w s i, f), a tím pádem f i=1 f i NSD(w s i, f) ` s F q NSD(w s, f). Naopa aždý člen NSD(w s, f) dělí f, taže máme, že s F q NSD(w s, f) ` f. Proto se polynomy f a Š s F q NSD(w s, f) navzájem dělí, z čehož plyne, že jeden je onstantní násobe druhého. Oba jsou ovšem monicé, proto musí být shodné. Toto tvrzení nám dává návod, ja lze polynom f fatorizovat. Vezmeme-li w ª W, aždý výraz (w s) má stupeň menší než f a fatorizace f = Š s F q NSD(w s, f) proto obsahuje alespoň dva netriviální fatory polynomu f. Ty pa můžeme dále fatorizovat použitím jiných vetorů z W. Zoušet všechny vetory ve W ale není dobrý nápad, protože jich je q. Jenomže W je vetorový prostor, a proto nám stačí použít lineárně nezávislých vetorů pro úplnou fatorizaci polynomu f. Rádi bychom tedy zísali bázi W, terá nám poslouží ja pro stanovení počtu fatorů zadaného polynomu f, ta pro jejich zísání. Mějme polynom f stupně n. Víme, že W = v ª \ q[x] : deg v < n v q = v (mod f). To můžeme zapsat jao W = ± v = (v 0,..., v n 1 ) : ž = ± v = (v 0,..., v n 1 ) : = ± v = (v 0,..., v n 1 ) : = ± v = (v 0,..., v n 1 ) : n 1 n 1 n 1 n 1 v i x i Ÿ q v i x iq = = n 1 n 1 v i (x iq mod f) = v i x i (mod f)² = v i x i (mod f)² = n 1 v i (x iq mod f) n 1 v i x i ² = v i x i = 0². Poud označíme I jao jednotovou matici veliosti n n a Q jao matici n n, jejíž sloupce tvoří oeficienty vetorů x 0 mod f, x q mod f,..., x (n 1)q mod f, můžeme přepsat definici W na W = v = (v 0,..., v n 1 ) : 0 = Qv Iv = (Q I)v. Odtud vidíme, že W je nulový prostor matice Q I, jehož bázi můžeme jednoduše spočítat pomocí Gaussovy eliminace. Shrňme všechny zísané informace do následujícího 13

14 Tvrzení 2.13: Buď f bezčtvercový polynom stupně n nad \ q, I n n jednotová matice a Q n n matice, jejíž sloupce tvoří oeficienty polynomů x 0 mod f, x q mod f, x 2q mod f,......, x (n 1)q mod f. Označme bázi nulového prostoru matice Q I jao w 1,..., w «. Pa 1. počet prvů báze,, odpovídá počtu ireducibilních fatorů v rozladu f, 2. protože 1 q = 1, je (1, 0,..., 0) ª W, a tedy BÚNO w 1 = (1, 0,..., 0), 3. pochopíme-li vetory w 2,..., w jao polynomy, platí f = Š s F q NSD(w i s, f). procedure BerleampovaF(q,f) : fatorizuje bezčtvercový f ª \ q[x] Q matice n n se sloupci x 0 mod f, x q mod f,..., x (n 1)q mod f ((1, 0,..., 0), w 2,..., w ) báze nulového prostoru matice Q I i 2 fatory ³ f«while fatory < do foreach g ª fatory do foreach s ª \ q do c NSD(w i s, g) i i + 1 return fatory if deg c > 0 deg c < deg g then fatory g g/c fatory `V g«µ c, g/c«algoritmus 2.14: Berleampova fatorizace bezčtvercového polynomu Tvrzení 2.14: Algoritmus pracuje správně a v polynomiálním čase vzhledem n a q. Důaz: Časová složitost nejvnitřnějšího cylu je stejná jao jeden NSD a jedno dělení. Počet opaování cylů v pořadí od nejvnitřnějšího je q-rát pro s ª \ q, dále n-rát pro g ª fatory a n-rát pro vnější cylus. Časová složitost všech cylů algoritmu je tedy v nejhorším qn 2 -rát složitost nalezení NSD a dělení. Co se týče efetivního vytvoření matice Q, nejprve spočteme x q mod f a aždý další řáde x iq mod f zísáme jao x (i 1) q _ x q mod f, protože oba tyto polynomy už známe. To vše zvládneme pomocí q + n násobení polynomů. Ještě chybí složitost nalezení báze nulového prostoru, což zvládneme Gaussovou eliminací v čase n 3. Nepříjemná je závislost na q, tj. na počtu prvů použitého tělesa. Popsaný algoritmus je sice možné modifiovat na pravděpodobnostní, terý je v průměru polynomiální vzhledem n a log q (je popsán napřílad v [3]), ale potřeba hledání báze nulového prostoru celý algoritmus velmi brzdí. Proto dále popíšeme jiný pravděpodobnostní algoritmus, jehož průměrný čas bude taé polynomiální vzhledem n a log q a terý Gaussovu eliminaci nebude muset provádět. Pro úplnou oretnost bychom ještě měli doázat, že aždá báze W úplně fatorizuje polynom f, tj. že oddělí aždé dva jeho fatory. Mějme tedy BÚNO f 1 a f 2 fatory f. Nejprve nahlédneme, že vůbec existuje polynom w ª W, terý je oddělí: podle Čínsé věty o zbytcích (2.1) existuje právě jeden polynom w taový, že w mod f 1 = 1 a pro ostatní f i je w mod f i = 0. Protože w q = w (mod f i ) pro aždé f i, dle stejné věty je w ª W. Tento polynom oddělí f 1 a f 2, jeliož f 1 ` w 1 a f 2 ` w, a můžeme ho zapsat jao w = ] i=1 a iw i. Nyní pro spor předpoládejme, že žádný prve w 1,..., w fatory f 1 a f 2 neoddělil, taže e aždému w i existuje onstanta s i, že f 1 f 2` w i s i. Pa ale f 1 f 2`9] i=1 a i(w i s i ) = w ] i=1 a is i, což je ve sporu s tím, že polynom w oddělí f 1 a f 2. 14

15 g b VŒZT bx jf¹ º UX ' bxdl ŒZUXiZY Nyní popíšeme další algoritmus fatorizace bezčtvercového polynomu. Tento algoritmus má dvě části. První je různostupňová fatorizace, jejímž cílem je rozložit bezčtvercový polynom f na Š i f i, de aždý polynom f i je součin všech ireducibilních fatorů polynomu f, jejichž stupeň je i. Druhá fáze, stejnostupňová fatorizace, má za úol rozládat bezčtvercový polynom, jehož fatory mají stejný stupeň. Tuto fatorizaci použijeme na aždé netriviální f i, teré vznine při různostupňové fatorizaci. Nejprve si popíšeme různostupňovou fatorizaci. Tato fatorizace, terá je popsaná napřílad v [9], je ještě deterministicá. Náhodu budeme muset použít až při stejnostupňové fatorizaci. Připomeňme si tvrzení (2.4). To tvrdí, že x qd x je součinem všech monicých ireducibilních polynomů nad \ q, jejichž stupeň dělí d. Toto tvrzení nám dává jasný návod, ja můžeme různostupňovou fatorizaci provést. Protože x q x je součin všech ireducibilních polynomů stupně jedna, určitě je f 1 = NSD(x q x, f). Navíc v rozladu polynomu f/f 1 už žádné polynomy stupně jedna nejsou, taže f 2 = NSD(x q2 x, f/f 1 ) a stejnou úvahou dostaneme, že f i = NSD x qi x, f i 1 Š j=1 f. j Protože ale NSD(a, b) = NSD(a b, b), můžeme tuto rovnost přepsat na použitelnější f i = NSD x qi x mod f, f i 1 Š j=1 f. j procedure RůznostupňováF(q,f) : různostupňově fatorizuje bezčtvercový polynom f nad tělesem \ q i 0; w x; while deg f > 0 do i i + 1; w w q mod f f i NSD(w x, f) f f/f i return (f 1, f 2,..., f i ) Algoritmus 2.15: Různostupňová fatorizace Tvrzení 2.15: Algoritmus pracuje správně a v polynomiálním čase vzhledem n a log q. Důaz: Jediná změna algoritmu od popsaného postupu je postupné počítání polynomu x qi x. Algoritmus využívá toho, že x qi = (x qi 1 ) q. V i-tém průchodu cylem je tedy w = x qi, w x je požadovaný polynom a algoritmus proto pracuje správně. Co se časové složitosti týče, jeden průchod cylem vyžaduje spočítání jednoho NSD, dále log q násobení polynomů pro vypočítání w q a jedno dělení, teré můžeme zanedbat, protože výpočet NSD je náročnější. Celý cylus se může provádět až n-rát, taže celová složitost je omezena složitostí n NSD a n log q násobení. 15

16 g b» ¼Y ½ T bx jf¹ ¾ UX ' bxdl ŒZUXiZY Úolem stejnostupňové fatorizace je rozložit zadaný bezčtvercový polynom, jehož ireducibilní fatory mají všechny stupeň d, přičemž d známe. Jedna z variant této fatorizace je popsána v [3]. Nejprve potřebujeme trochu teorie o odmocninách. Tvrzení 2.16: Buď T onečné těleso o lichém počtu prvů a S cylicá multipliativní grupa nenulových prvů tělesa T, přičemž S je sudého řádu a má generátor g. Pa (1) polovina prvů S nemá druhou odmocninu a druhá polovina má přesně dvě, (2) jedniča druhé odmocniny má a jsou to jedniča a minus jedniča, (3) má-li a druhé odmocniny, je a /2 = 1, poud nemá, je a /2 = 1. Důaz: Vezměme sudou mocninu generátoru g 2i. Určitě platí (g i ) 2 = g 2i a taé (g i _ g /2 ) 2 = g 2i _ g = g 2i. Taže aždá sudá mocnina generátoru, čili polovina prvů, má alespoň dvě odmocniny a všechny tyto odmocniny jsou navzájem různé. Žádné další odmocniny ale nejsou, dyž už jsme jich našli, taže bod (1) platí. Co se týče odmocniny z jedničy, určitě platí, že 1 2 = 1 a ( 1) 2 = 1, taže jsme našli dvě odmocniny z jedničy. Žádné další už být nemohou. Pro důaz posledního bodu si nejprve uvědomíme, že ja g 0 = 1, ta g /2 jsou odmocniny z jedničy. Tedy g /2 = 1. Nyní vezměme prve a, terý má druhé odmocniny. Pa je to sudá mocnina generátoru, čili a = g 2i. Proto a /2 = (g 2i ) /2 = g i = (g ) i = (g 0 ) i = 1. Naopa je-li a prve, terý nemá druhé odmocniny, je to lichá mocnina generátoru. Taže a /2 = (g 2i+1 ) /2 = g i+/2 = (g ) i _ g /2 = 1 _ ( 1) = 1. Ještě poznamenejme, že celý důaz jsme mohli provést pro libovolnou cylicou multipliativní grupu sudého řádu, jenom bychom místo nedefinované 1 museli psát g /2. Mějme bezčtvercový polynom f stupně _ d, terý se sládá z ireducibilních polynomů stupně d, f = f 1 _#_#_ f r. Poud je = 1, je fatorizace f triviální, taže předpoládejme, že 2. Podle Čínsé věty o zbytcích (2.1) je zobrazení ϕ : \ q[x]/f À\ q[x]/f 1... \ q[x]/f ϕ(a) = (a mod f 1,..., a mod f ) = (ϕ 1 (a),..., ϕ (a)) izomorfismus oruhů. Platí, že f i dělí a právě tehdy, dyž 0 = a mod f i = ϕ i (a). Poud tedy doážeme najít polynom a, pro terý bude nějaé ϕ i (a) = 0 a nějaé ϕ j (a) š= 0, bude NSD(a, f) netriviální dělitel f. Pomocí něho můžeme f rozdělit na dva fatory a poud jsou tyto netriviální, použít na ně jiný vhodný polynom a. Ja ale najdeme polynom a, terý bude splňovat popsané podmíny? Zde přichází na řadu náhoda. Poud zvolíme a jao náhodný polynom stupně menšího než f, budou všechny ϕ i (a) podle Čínsé věty o zbytcích taé náhodné prvy těles \ q[x]/f i. Chtěli bychom, aby nějaé ϕ i (a) = 0 a nějaé ϕ j (a) š= 0. Na chvíli předpoládejme, že jsme nad onečným tělesem, jehož charateristia je liché prvočíslo (není to tedy 2). Každé těleso \ q[x]/f i má pa lichý počet prvů a multipliativní grupa prvů tohoto tělesa bez nuly má sudý počet prvů a je dle (2.5) cylicá. Splňuje tedy předpolady posledního tvrzení (2.16), taže ϕ i (a) (qd 1)/2 je buď jedna nebo minus jedna a obě tyto možnosti jsou stejně pravděpodobné. Zvolme tedy náhodný polynom a stupně menšího než f. Polynomy ϕ i (a) jsou pa náhodné a ϕ i (a) (qd 1)/2 1 = ϕ i (a (qd 1)/2 1) je buď 0 nebo 2, přičemž obě tyto možnosti jsou stejně pravděpodobné. Polynom a nám nevyhovuje, dyž jsou všechny ϕ i = 0 nebo dyž jsou všechny ϕ i = 2. To lze zapsat ta, že nám nevyhovuje, dyž ϕ 1 (a (qd 1)/2 1) =... = ϕ (a (qd 1)/2 1), což nastává s pravděpodobností 2 _ (1/2) = 2 1 1/2. 16

17 Algoritmus bude následovný: vygeneruj náhodný polynom a stupně menšího než f a spočítej b = a (qd 1)/2 a c = NSD(b 1, f). Poud c není netriviální dělitel f (což nastane s pravděpodobností 2 1 1/2), zvol jiný polynom a. V opačném případě reurzivně zpracuj polynomy c a f/c. Ještě než algoritmus zapíšeme formálně a rozebereme jeho složitost, musíme vyřešit poslední problém, a to tělesa s charateristiou 2, na terá se tvrzení (2.16) nevztahuje. Toto tvrzení nám pro tělesa s lichou charateristiou dává do ruy zobrazení, teré pro všechny prvy nabývá pouze dvou hodnot, a aždá tato hodnota je stejně pravděpodobná. Rádi bychom něco podobného našli taé pro tělesa charateristiy 2. Poslouží nám Tvrzení 2.17: Mějme onečné těleso \ 2 a definujme T = ] 1 x2i. Pa (1) x 2 x = T (T + 1), (2) přesně pro polovinu prvů a ª \ 2 je T (a) = 0, pro druhou polovinu je T (a) = 1. Důaz: Začněme bodem (1): T (T + 1) = T 2 + T = ž = 1 x 2i x 2i Ÿ x 2i charateristia 2 = x 2i = i=1 1 Á 1 x 2i x 2i x 2i = x 2i = x 2 x. Polynom x 2 x = T (T + 1) se ale nad \ 2 [x] dle (2.3) rozládá jao Š s F 2 (x s), což znamená, že hodnota x 2 x je po dosazení libovolného prvu s ª\ 2 nulová. Taže součin T (T + 1) musí být po dosazení prvu s taé nulový. To je ale možné jenom v případě, že T (s) = 0 nebo T (s) = 1. Ještě potřebujeme uázat, že obě možnosti jsou stejně pravděpodobné. Uvažujme znovu rozlad x 2 x = T (T + 1). Poud je T (a) = 0, je a ořenem polynomu T. V opačném případě je a ořenem polynomu T 1. Oba tyto polynomy mají stupeň 2 1, aždý z nich může mít tedy nejvýš 2 1 ořenů. Prvů a, se terými pracujeme, je ale 2, což znamená, že přesně polovina z nich musí být ořeny polynomu T a druhá polovina ořeny polynomu T 1. Teď už víme, ja se postarat i o tělesa s charateristiou 2, taže se můžeme pustit do algoritmu. procedure StejnostupňováF(q = p m,f,d) : stejnostupňově fatorizuje bezčtvercový polynom f nad \ q if deg f d then return f«do a náhodný polynom nad \ q stupně menšího než deg f if p = 2 then b ] md 1 a 2i mod f else b a (qd 1)/2 1 mod f c NSD(b, f) while c = 1 à c = f return StejnostupňováF(p m, c, d) µ StejnostupňováF(p m, f/c, d) Algoritmus 2.18: Stejnostupňová fatorizace Tvrzení 2.18: Algoritmus pracuje správně a v polynomiálním čase vzhledem n a log q. Důaz: Tentorát je algoritmus přímočarou implementací popsaného postupu, jehož správnost už máme doázanou. 17

18 Nejprve si spočítejme, oli polynomů a musíme v průměru otestovat, než najdeme nějaý užitečný. Šance, že jeden polynom a není užitečný, je nejhůř 1/2. Očeávaný počet polynomů, teré musíme vyzoušet, než najdeme jeden úspěšný, je z = 1/2 _ 1+1/2 _ (1+z), z čehož dostaneme z = 2. Zjištění, zda je polynom a pro fatorizaci užitečný, zvládneme jedním NSD a n log q násobeními. V průměru to musíme udělat dvarát, což náš odhad nija nezazí. Známe složitost algoritmu bez reurzivního volání. Ja se nám na složitosti podepíše reurze? Nechť T (n) je složitost algoritmu pro polynom stupně n a C(n) je složitost algoritmu bez reurzivního volání, tedy složitost nalezení užitečného polynomu a. V nejhorším případě platí, že T (n) = C(n) + T (n 1) + T (1) = C(n) + C(n 1) C(1) + n _ T (1) n _ C(n) + n. Složitost celého algoritmu tedy můžeme odhadnout jao spočtení n NSD a n 2 log q násobení. Poznamenejme jenom, že tato analýza reurze je velmi hrubá, dá se doázat, že v průměru je T (n) 2 log n _ C(n), což doážeme při analýze algoritmu stejnostupňové fatorizace v další apitole. Můžeme tím zpřesnit náš odhad složitosti na složitost provedení 2 log n NSD a 2n log n log q násobení. 18

19 ÄxKtÅxÆ A v M E QÇ} E ~ Èv É E w {HOH}~ Æ C Cílem této apitoly je popsat implementace bezčtvercové, různostupňové a stejnostupňové fatorizace, teré mají co nejmenší časovou složitost. Abychom vůbec mohli o časové složitosti mluvit, musíme říct, co jí budeme mínit. Pro naše potřeby použijeme zjednodušenou definici. Časovou složitostí algoritmu, terý pracuje s polynomy nad tělesem \ q, budeme rozumět počet elementárních operací s prvy tělesa \ q, teré musí algoritmus vyonat. Budeme ji vyjadřovat jao funci veliosti vstupu, nejčastěji budeme používat n, stupeň zpracovávaného polynomu, a q, počet prvů tělesa, nad terým pracujeme. Budeme používat složitost v nejhorším případě, taže časová složitost udává největší použitý počet operací, terý je třeba pro zpracování libovolného oretního vstupu dané dély. Určit přesnou časovou složitost je ale docela náročné, taže budeme pro jednoduchost pracovat pouze s asymptoticou časovou složitostí. Řeneme, že funce f : ÊË NÊ je I (g), poud existují ladné onstanty c a n 0 taové, že Ì n n 0 : f(n) c _ g(n). Časovou složitost pa budeme vyjadřovat pomocí zavedeného symbolu I. Naše definice bere v úvahu jenom operace prováděné nad tělesem, ale nepočítá cyly, testování podmíne, volání procedur ani jinou režii programu. U všech popsaných algoritmů lze vša jednoduše nahlédnout, že je tato režie vzhledem počtu operací nad tělesem zanedbatelná. Nyní si popíšeme úpravy, teré budeme s asymptoticými složitostmi často provádět. Nejprve si uvědomíme, že poud používáme v asymptoticé složitosti logaritmus, nezáleží na jeho záladu. Protože log a b = log c b log c a, všechny logaritmy se liší jenom o onstantu a ta se do I -ča schová. Dále si uvědomíme, že I (log n) je I (n ε ) pro libovolné ladné ɛ. To bude platit, poud log n n ε. To ale můžeme pro dostatečně velá n přepsat na log log n ε _ log n. Poud by vpravo nebyla onstanta ε, daná nerovnost pro dostatečně velá n jistě platí. Konstantu ε ale můžeme schovat do I -ča, taže opravdu I (log n) je I (n ε ). Tuto sutečnost budeme zapisovat jao I (log n) je I (n σ(1) ), de σ(1) značí libovolně malé ladné číslo. Abychom mohli určovat časovou složitost co nejpřesněji, musíme si říci, ja rychle doážeme provádět aritmeticé operace s polynomy nad \ q. Uvedené algoritmy lze najít napřílad v nize [5]. Budou nás zajímat následující operace: sčítání a odčítání polynomů stupně nejvýše n doážeme pomocí I (n) operací nad \ q. Stačí nám tomu lasicý šolní algoritmus. násobení dvou polynomů stupně nejvýše n doážeme provést pomocí I (n 2 ) operací nad \ q použitím lasicého šolního algoritmu, I (n log 2 3 ) operací nad \ q pomocí algoritmu Karatsuba & Ofman, I (n log n log log n) operací nad \ q užitím algoritmů založených na FFT. Jde upříladu o algoritmy Schönhage & Strassen nebo Cantor & Kaltofen. Protože budeme asymptoticou složitost násobení potřebovat často, položíme M(n) = n log n log log n. Též mnohorát využijeme fatu ] i M(n i) M(] i n i), terý plyne z M(n) n. dělení se zbytem dvou polynomů stupně nejvýš n můžeme provést v čase odpovídajícím času čtyř násobení (použitím Newtonovy iterace). Dostáváme se tedy taé na čas I (M(n)). umocnění polynomu stupně n na d ªÍÊ doážeme provést binárním umocňováním pomocí I (log d) násobení, tedy v čase I (M(n) log d). 19

20 Ü _ Ü největší společný dělitel polynomů stupně nanejvýš n můžeme hledat modulárním Eulidovým algoritmem, z čehož vyjde složitost I (n 2 ), složitým reurzivním postupem, jehož složitost je I (M(n) log n). vyhodnocení polynomu stupně n v jednom bodě doážeme pomocí tzv. Hornerova schématu pomocí I (n) operací. Stačí si všimnout, že hledaná hodnota je rovna n a i _ x i = n Î Ï#Ð Ñ ( _#_#_ ((( a n )x + a n 1 )x + a n 2 ) _#_#_ )x + a 0, což už doážeme spočítat pomocí n násobení a n sčítání prvů tělesa \ q. vyhodnocení polynomu stupně n v m bodech bychom doázali vyřešit opaováním Hornerova schématu v čase I (nm), nicméně jde vymyslet efetivnější reurzivní algoritmus se složitostí I (M(m) log m + M(n)). zísat zbyty po dělení jednoho polynomu stupně n něolia polynomy doážeme pomocí opaovaného dělení. Poud je ale stupeň součinu polynomů, terými chceme dělit, roven m, stejně jao v minulé operaci můžeme použít (doonce velmi podobný) reurzivní algoritmus se složitostí I (M(m) log m + M(n)). Mimo polynomů budeme muset násobit taé matice, proto následuje Tvrzení 3.1: Buď A a B matice o veliostech n n. Označme ω nejmenší exponent taový, že doážeme zadané matice vynásobit v čase I (n ω ). Tvrdíme, že ω < 2.376, a předpoládáme ω > 2. Důaz tohoto tvrzení je velice ompliovaný a lze ho nalézt v Coppersmith & Winograd [4]. Kromě již popsaných operací budeme používat ještě sládání polynomů, g(h) mod f, jehož výsledem je ] i g ih i mod f. Pomocí Hornerova schématu ho doážeme provést pomocí I (n _ M(n)) operací nad \ q. Nicméně pomocí rychlého násobení matic ho doážeme provést ještě rychleji. procedure SládáníPolynomů(q,f,g,h) : spočte g(h) mod f n deg f; m ÓÒÕÔ n Ö m 1 Najdi g 0,..., g m 1 stupně nejvýš m, aby g = ] g ix mi h 0 1; for 1 i m do h i h i 1 _ h mod f Vytvoř matici G veliosti m m, jejíž řády jsou g 0,..., g m 1 Vytvoř matici H veliosti m n, jejíž řády jsou h 0,..., h m 1 B G _ H, řády této matice označ jao b 0,..., b m 1 return ] m 1 b i _ (h m ) i mod f Algoritmus 3.2: Sládání polynomů pomocí maticového násobení Tvrzení 3.2: Jsou-li stupně f, g, h nejvýš n, vydá algoritmus správný výslede v čase I (n (ω+1)/2 ). Použitím odhadu pro ω dostaneme I (n ). Důaz: Činnost algoritmu můžeme rozepsat jao následující maticové násobení. Ø ØÙg 0 g 1. g m 1 Ú.Û Û Ø ØÙ1 h mod f. h m 1 mod f Ú.Û Û Ü = Ø ØÙb 0 b 1. b m 1 Vzhledem vlastnostem maticového násobení určitě platí, že b i Ú.Û Û = g i (h) mod f. Celý výslede algoritmu je tedy ] m 1 b i _ (h m ) i mod f = ] m 1 g i(h) _ h mi mod f = g(h) mod f. 20

21 Nyní určíme složitost. Nalezení polynomů g i zvládneme v lineárním čase, h i doážeme spočítat pomocí m násobení, čili v čase I (Ô nm(n)). Poté musíme vynásobit matice o rozměrech m m a m n. To můžeme udělat ta, že provedeme m násobení matic o rozměrech m m, čili v čase I (mm ω ) = I (n (ω+1)/2 ). Závěrečnou sumu můžeme vyhodnotit Hornerovým schématem, což nás stojí opět I (Ô nm(n)) operací nad \ q. Poud předpoládáme ω > 2, nejnáročnější je právě maticové násobení, taže složitost celého algoritmu je slibovaných I (n (ω+1)/2 ). Ještě popíšeme vylepšení právě popsaného sládání, teré bude efetivnější, budeme-li sládat víc než jeden polynom. procedure SládáníMnoha(q, f, g 1,..., g, h) : spočte všechna g i (h) mod f n deg f; m ÓÒ Ô nö n/m 1 Pro aždý g i najdi g i,0,..., g i,n/m 1 stupně nejvýš m, aby g i = ] j=0 g i,j x mj h 0 1; for 1 i m do h i h i 1 _ h mod f Vytvoř matici G veliosti m m s řády g 1,0,..., g 1,n/m 1, g 2,0,..., g,n/m 1 Vytvoř matici H veliosti m n s řády h 0,..., h m 1 B G _ H, řády této matice označ jao b 1,0,..., b 1,n/m 1, b 2,0,..., b,n/m 1 return (] n/m 1 j=0 b 1,j _ (h m ) j mod f,..., ] n/m 1 j=0 b,j _ (h m ) j mod f) Algoritmus 3.3: Sládání mnoha polynomů pomocí maticového násobení Tvrzení 3.3: Jsou-li všechny polynomy stupně nejvýš n a je-li n, funguje algoritmus v čase I (n (ω+1)/2 (ω 1)/2 ). Po dosazení za ω dostaneme I (n ). Důaz: Co se týče správnosti, algoritmus funguje stejně jao předchozí, jenom funguje pro víc polynomů najednou, taže správnost plyne ze správnosti jednoduché verze sládání. Časová složitost počítání h i je I (Ô nm(n)), násobení matic stojí I ( n m mω ) = I (n (ω+1)/2 (ω 1)/2 ) a závěrečné ombinování výsledů trvá opět I (Ô nm(n)). Stejně jao předtím je násobení matic časově nejnáročnější. 21

22 d i b HY?ŒZWŽ Y UX ' bxdl ŒZUXiZY Naším cílem je zrychlit algoritmus bezčtvercové fatorizace. V minulé apitole jsme popsali algoritmus, jehož složitost byla v nejhorším případě rovna složitosti n NSD. Nyní algoritmus vylepšíme o celý řád, jeho složitost bude asymptoticy odpovídat složitosti NSD. Tuto vylepšenou verzi algoritmu pro tělesa charateristiy nula jsme převzali z [11]. Opět tedy začněme s tělesem charateristiy nula a mějme nad ním polynom f, jehož bezčtvercová fatorizace je Š i=1 f i i, de všechny f i jsou bezčtvercové. Hlavní roli ve výpočtu budou hrát polynomy v i = j=i f j a w i = j=i (j i + 1) _ f j f j _ v i. Výhoda těchto polynomů je v tom, že mají malé stupně, aždé f j se v nich nachází pouze v první mocnině. K tomu, abychom jednotlivé f j doázali odlišit, nepoužíváme tedy stupeň jejich výsytu, ale oeficient u příslušné části polynomu w i. Nejprve si uažme, ja můžeme tyto polynomy indutivně počítat. Na začátu stačí položit c = NSD(f, f ) = Š, a pa dopočítat hledané polynomy jao i=2 f i i 1 v 1 = f/c a w 1 = f /c. Nyní předpoládejme, že známe v i, w i a f i. Chtěli bychom pomocí nich spočítat hodnoty v i+1 a w i+1. Nejprve si označme d i = w i v i = j=i (j i + 1) _ f j f j _ v i z čehož už pa jednoduše dostaneme, že j=i f j f j _ v i = j=i+1 v i+1 = v i /f i a w i+1 = d i /f i = (w i v i)/f i. (j i) _ f j f j _ v i, Zbývá vyřešit poslední a nejtěžší úol, a to ja z hodnot v i a w i určit f i. Uvažujme, ja vypadá NSD(v i, d i ) = NSD(v i, w i v i). Fatory (ne nutně ireducibilní) polynomu v i jsou f i, f i+1,..., f. _ v i a f i se vysytuje v aždém Polynom f i dělí d i, protože d i = ] j=i+1 (j i) _ f j f j členu sumy. Pro aždý polynom f j, j š= i, je NSD(f j, d i ) = 1. To proto, že f j je bezčtvercový, tím pádem je dle (2.7) NSD(f j, f j) = 1, a tedy taé NSD(f j, (j i) _ f j/f j _ v i ) = 1. Hledané f i je tedy rovno NSD(v i, d i ). Z popsaných rovností vznine následující algoritmus. procedure BezčtvercováF(f) : f polynom nad tělesem charateristiy 0 if deg f = 0 then return f c NSD(f, f ); v f/c; w f /c; i 0 while deg v > 0 do i i + 1 d w v ; f i NSD(v, d) v v/f i ; w d/f i return (f 1,..., f i ) Algoritmus 3.4: Rychlá bezčtvercová fatorizace pro tělesa charateristiy 0 Tvrzení 3.4: Algoritmus pracuje oretně v čase asymptoticy rovném času spočítání jednoho NSD polynomů stupně nejvýš n, tedy v čase I (n 1+σ(1) ). 22

23 Důaz: Zbývá doázat složitost algoritmu. V i-tém průchodu cylem musíme spočítat nad polynomy stupně deg v i a deg w i dvě dělení, jedno odečítání, derivaci a jeden NSD. Nejsložitější z nich je právě NSD, taže budeme uvažovat jenom spočítání jednoho největšího společného dělitele polynomů v i a d i. Označme N(m) složitost nalezení NSD polynomů stupně nejvýš m a uvědomme si, že deg v i > deg d i. Složitost celého algoritmu je pa ] i=1 N(deg v i). Víme, že v i = Š j=i f j, z toho dostaneme rovnost deg v i = ] j=i deg f j, a tedy složitost celého algoritmu je i=1 N(deg v i ) N(n) n N = N i=1 i _ deg f i i=1 deg v i = N i=1 j=i f=š i f i i = N(deg f) = N(n). deg f j = Nyní zoumejme, ja bude tento algoritmus fungovat na tělesech prvočíselné charateristiy p. Nejprve si uvědomíme, že pro aždé f j je f j š= 0. Poud by totiž byla derivace f j nulová, f j = ] i a ix pi = (] i a ix i ) p a f j by nebyl beze čtverců. Polynom w 1 = ] j=1 j _ f j/f j _ v 1 je nad \ p m roven ] j=1 j mod p _ f j/f j _ v 1, taže algoritmus nám mocninu aždého bezčtvercového fatoru f i určí jao i mod p. Je-li mocnina nějaého f i je větší nebo rovna p, musíme tuto situaci ošetřit. Až algoritmus doběhne a vydá g 1,..., g i, můžeme spočítat zbyte z = f/(g 1 g _#_#_ 2 2 gi). i Poud byly mocniny všech fatorů menší než p, je stupeň polynomu z nula a hledané f j jsou rovny nalezeným g j. Když je ale stupeň polynomu z alespoň jedna, musíme dopočítat správné mocniny bezčtvercových fatorů. Hodnota polynomu z je rovna Š i f p i/p i, taže je to (stejně jao v apitole jedna) p-tá mocnina polynomu z 1/p = Š i f i/p i. Tento polynom můžeme zpracovat reurzivně a zísáme ta fatory (z 1,..., z t ), přičemž z j je součin všech bezčtvercových fatorů f, pro teré je Ý /pþ = j. Máme tedy fatory g 1,..., g i, přičemž g j je součin bezčtvercových fatorů f pro mod p = j, a fatory z 1,..., z t, de z j je součin bezčtvercových fatorů f pro Ý /pþ = j. Dopočítat hledané f j je teď už jednoduché: f jp+ pro 1 j a 1 < p je NSD(g, z j ), f jp je to, co zbylo ze z j, a f j pro 1 j < p je to, co zbylo z g j. Výrazem zbylo myslíme taové fatory, teré jsme zatím nepoužili v žádném polynomu f j. Tím vzniá algoritmus bezčtvercové fatorizace pro onečná tělesa. procedure BezčtvercováF(q = p m, f) : f polynom nad tělesem \ q if deg f = 0 then return f c NSD(f, f ); v f/c; w f /c; i 0 while deg v > 0 do i i + 1 d w v ; g i NSD(v, d) v v/g i ; w d/g i z f/(g 1 g 2 2 _#_#_ g i i) if deg z = 0 then return (g 1,..., g i ) (z 1,..., z t ) BezčtvercováF(p m, z 1/p ) for i + 1 j p 1 do g j 1 for 1 j p 1, 1 t do f p+j NSD(g j, z ) for 1 t do f p z /(f p+1 f p+2 _#_#_ f p+p 1 ) for 1 j p 1 do f j g j /(f p+j f 2p+j _#_#_ f tp+j ) return (f 1,..., f ), de tp < (t + 1)p je největší taové, že deg f > 0 Algoritmus 3.5: Rychlá bezčtvercová fatorizace pro onečná tělesa 23

24 Tvrzení 3.5: Algoritmus pracuje správně a v čase I (N(n)), tedy v čase I (n 1+σ(1) ). Důaz: Na správnosti není co doazovat, algoritmus je přímou implementací popsaného postupu. Zato doázat časovou složitost nám dá dost práce. Nejdříve si uvědomíme, za ja dlouho doážeme spočítat součin Š i=1 h i, poud je ] i deg h i = m. Budeme to dělat po rocích. V aždém rou spočítáme součin dvou sousedních polynomů. V prvním rou spočítáme součiny h 1 _ h 2, h 3 _ h 4,..., h 1 _ h, v druhém rou spočítáme součiny h 1 h 2 _ h 3 h 4,..., h 3 h 2 _ h 1 h atd. Těchto roů bude log 2, protože na začátu je polynomů a v aždém rou jejich počet lesne na polovinu. V jednom rou se s aždým polynomem h i pracuje právě jednou, taže složitost jednoho rou můžeme omezit složitostí I (M(] i=1 deg h i)) = I (M(m)). Celová složitost je tedy I (M(m) log ). Nyní provedeme analýzu časové složitosti algoritmu bez reurzivního volání. Algoritmus musí ve svém běhu romě reurzivního volání spočítat (g 1,..., g i ): z předchozího algoritmu již víme, že to zvládneme v čase I (N(n)). z = f/(g 1 g _#_#_ 2 2 gi): i součin polynomů g j j doážeme dle výše uvedeného pozorování spočítat v čase I (M(n) log n) = I (N(n)). Pa už jen vydělíme v čase I (M(n)). NSD(g j, z ) pro 1 j p 1 a 1 t: abychom dosáhli dobré složitosti, budeme muset udělat předvýpočet spočítat si g j mod z pro aždé j a. Poté budeme místo NSD(g j, z ) počítat NSD(g j mod z, z ), což je jistě evivalentní. Nejdříve určíme složitost předvýpočtu. Víme, že pro pevné j doážeme spočítat všechny g j mod z v čase I (M(l) log l), de l = max(deg g j, ] deg z ). Toto můžeme odhadnout jao l max(deg g j, n/p) deg g j + n/p. Poud sečteme složitost roů pro všechna j, dostaneme j I (M(deg g j + n/p) log(deg g j + n/p)) I (M( j j I (M(deg g j + n/p) log n) deg g j + p _ n/p) log n) I (M(n + n) log n) = O(M(n) log n). Nyní odhadneme složitost výpočtu všech NSD(g j mod z, z ). Spočítání jednoho taového největšího společného dělitele zabere čas I (N(deg z )). Poud vezmeme pevné g j, na spočtení všech NSD(g j mod z, z ) potřebujeme ] I (N(deg z )) I (N(] deg z ) I (N(n/p)) operací. Možných g j je nejvýš p, čímž se dostaneme na I (p _ N(n/p)) I (N(n)). z /(f p+1 f p+2 _#_#_ f p+p 1 ) pro 1 t: buď pevné. Součin polynomů f j dělí z. Proto je stupeň tohoto součinu nejvýš roven stupni z, taže spočítat ho doážeme v čase I (M(deg z ) log n/p). Pa jenom z vydělíme v čase I (M(deg z )). Sečteme-li tyto složitosti pro všechna z, dostaneme I (M(] deg z ) log n/p), což je určitě omezené složitostí I (M(n/p) log n/p) = I (N(n/p)). g j /(f p+j f 2p+j _#_#_ f tp+j ) pro 1 j p 1: stejnou úvahou jao v minulém případě zjistíme, že pro pevné j potřebujeme I (M(deg g j ) log n) operací. Sečtením přes všechna g j dostaneme I (M(] j deg g j) log n), což je určitě omezené složitostí I (M(n) log n) = I (N(n)). Tím dostáváme složitost I (N(n)) bez reurzivního volání. Vyřešit reurzivní volání je jednoduché. Poud označíme T (n) složitost algoritmu spuštěného na polynom stupně n, dostaneme T (n) N(n) + T n p N n p i N(n) n 1 p i _ N(n) = p p 1 _ N(n) p 2 2N(n). Složitost algoritmu je tím pádem opravdu rovna slíbené složitosti I (N(n)) = I (n 1+σ(1) ). 24

1.5.7 Prvočísla a složená čísla

1.5.7 Prvočísla a složená čísla 17 Prvočísla a složená čísla Předpolady: 103, 106 Dnes bez alulačy Číslo 1 je dělitelné čísly 1,, 3,, 6 a 1 Množinu, terou tvoří právě tato čísla, nazýváme D 1 množina dělitelů čísla 1, značíme ( ) Platí:

Více

Metoda konjugovaných gradientů

Metoda konjugovaných gradientů 0 Metoda onjugovaných gradientů Ludě Kučera MFF UK 11. ledna 2017 V tomto textu je popsáno, ja metodou onjugovaných gradientů řešit soustavu lineárních rovnic Ax = b, de b je daný vetor a A je symetricá

Více

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí: Řešené příklady z lineární algebry - část 1 Typové příklady s řešením Příklady jsou určeny především k zopakování látky před zkouškou, jsou proto řešeny se znalostmi učiva celého semestru. Tento fakt se

Více

Cyklické kódy. Definujeme-li na F [x] n sčítání a násobení jako. a + b = π n (a + b) a b = π n (a b)

Cyklické kódy. Definujeme-li na F [x] n sčítání a násobení jako. a + b = π n (a + b) a b = π n (a b) C Ať C je [n, k] q kód takový, že pro každé u 1,..., u n ) C je také u 2,..., u n, u 1 ) C. Jinými slovy, kódová slova jsou uzavřena na cyklické posuny. Je přirozené takový kód nazvat cyklický. Strukturu

Více

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy... Polynomy Obsah Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1 Základní vlastnosti polynomů 2 1.1 Teorie........................................... 2 1.1.1 Zavedení polynomů................................

Více

Charakteristika tělesa

Charakteristika tělesa 16 6 Konečná tělesa V této kapitole budeme pod pojmem těleso mít na mysli vždy konečné komutativní těleso, tedy množinu s dvěma binárními operacemi (T, +, ), kde (T, +) je komutativní grupa s neutrálním

Více

9 Stupně vrcholů, Věta Havla-Hakimiho

9 Stupně vrcholů, Věta Havla-Hakimiho Typicé přílady pro zápočtové písemy DiM 470-301 (Kovář, Kovářová, Kubesa) (verze: November 5, 018) 1 9 Stupně vrcholů, Věta Havla-Haimiho 9.1. Doážete nareslit graf na 9 vrcholech, ve terém mají aždé dva

Více

1 Gaussova kvadratura

1 Gaussova kvadratura Cvičení - zadání a řešení úloh Zálady numericé matematiy - NMNM0 Verze z 7. prosince 08 Gaussova vadratura Fat, že pro něterá rovnoměrná rozložení uzlů dostáváme přesnost o stupeň vyšší napovídá, že pro

Více

Řetězové zlomky. již čtenář obeznámen. Důraz bude kladen na implementační stránku, protože ta je ve

Řetězové zlomky. již čtenář obeznámen. Důraz bude kladen na implementační stránku, protože ta je ve Faktorizace čísel pomocí řetězových zlomků Tento text se zabývá algoritmem CFRAC (continued fractions algorithm) pro rozkládání velkých čísel (typicky součinů dvou velkých prvočísel). Nebudeme se zde zabývat

Více

Věta o dělení polynomů se zbytkem

Věta o dělení polynomů se zbytkem Věta o dělení polynomů se zbytkem Věta. Nechť R je okruh, f, g R[x], přičemž vedoucí koeficient polynomu g 0 je jednotka okruhu R. Pak existuje jediná dvojice polynomů q, r R[x] taková, že st(r) < st(g)

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

Pomocný text. Polynomy

Pomocný text. Polynomy Pomocný text Polynomy Tato série bude o polynomech a to zejména o polynomech jedné proměnné (pokud nebude uvedeno explicitně, že jde o polynom více proměnných). Formálně je někdy polynom jedné proměnné

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

Geometrická zobrazení

Geometrická zobrazení Pomocný text Geometricá zobrazení hodná zobrazení hodná zobrazení patří nejjednodušším zobrazením na rovině. Je jich vša hrozně málo a často se stává, že musíme sáhnout i po jiných, nědy výrazně složitějších

Více

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30 Počítání modulo polynom 3. přednáška z algebraického kódování Alena Gollová, TIK Počítání modulo polynom 1/30 Obsah 1 Polynomy nad Zp Okruh Zp[x] a věta o dělení se zbytkem 2 Kongruence modulo polynom,

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

MATEMATIKA II V PŘÍKLADECH

MATEMATIKA II V PŘÍKLADECH VYSOKÁ ŠKOL BÁŇSKÁ TECHICKÁ UIVERZIT OSTRV FKULT STROJÍ MTEMTIK II V PŘÍKLDECH CVIČEÍ Č 0 Ing Petra Schreiberová, PhD Ostrava 0 Ing Petra Schreiberová, PhD Vysoá šola báňsá Technicá univerzita Ostrava

Více

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa grupa komutativní podgrupa těleso generovaná prvkem, cyklická, řád prvku Malá Fermatova věta konečné těleso charakteristika tělesa polynomy ireducibilní prvky, primitivní prvky definice: G, je grupa kde

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde

Více

PRVOČÍSLA 1 Jan Malý UK v Praze a UJEP v Ústí n. L. Obsah

PRVOČÍSLA 1 Jan Malý UK v Praze a UJEP v Ústí n. L. Obsah PRVOČÍSLA Jan Malý UK v Praze a UJEP v Ústí n. L. Obsah. Elementární úlohy o prvočíslech 2. Kongruence 2 3. Algebraicé rovnice a polynomy 3 4. Binomicá a trinomicá věta 5 5. Malá Fermatova věta 7 6. Diferenční

Více

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě

Více

8 Kořeny cyklických kódů, BCH-kódy

8 Kořeny cyklických kódů, BCH-kódy 24 8 Kořeny cyklických kódů, BCH-kódy Generující kořeny cyklických kódů Nechť K je cyklický kód délky n nad Z p s generujícím polynomem g(z). Chceme najít rozšíření T tělesa Z p, tedy nějaké těleso GF

Více

1 Polynomiální interpolace

1 Polynomiální interpolace Polynomiální interpolace. Metoda neurčitých koeficientů Příklad.. Nalezněte polynom p co nejmenšího stupně, pro který platí p() = 0, p(2) =, p( ) = 6. Řešení. Polynom hledáme metodou neurčitých koeficientů,

Více

)(x 2 + 3x + 4),

)(x 2 + 3x + 4), 3 IREDUCIBILNÍ ROZKLADY POLYNOMŮ V T [X] 3 Ireducibilní rozklady polynomů v T [x] - rozklady polynomů na ireducibilní (dále nerozložitelné) prvky v oboru integrity polynomů jedné neurčité x nad tělesem

Více

4 všechny koeficienty jsou záporné, nedochází k žádné změně. Rovnice tedy záporné reálné kořeny nemá.

4 všechny koeficienty jsou záporné, nedochází k žádné změně. Rovnice tedy záporné reálné kořeny nemá. Přílad 1. Řešte v R rovnici x 4x + x 4 0. Výslede vypočtěte s přesností alespoň 0,07. 1) Reálné ořeny rovnice budou ležet v intervalu ( 5,5), protože největší z oeficientů polynomu bez ohledu na znaméno

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon).

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon). Grupy, tělesa grupa: množina s jednou rozumnou operací příklady grup, vlastnosti těleso: množina se dvěma rozumnými operacemi příklady těles, vlastnosti, charakteristika tělesa lineární prostor nad tělesem

Více

Matice. a m1 a m2... a mn

Matice. a m1 a m2... a mn Matice Nechť (R, +, ) je okruh a nechť m, n jsou přirozená čísla Matice typu m/n nad okruhem (R, +, ) vznikne, když libovolných m n prvků z R naskládáme do obdélníkového schematu o m řádcích a n sloupcích

Více

f (k) (x 0 ) (x x 0 ) k, x (x 0 r, x 0 + r). k! f(x) = k=1 Řada se nazývá Taylorovou řadou funkce f v bodě x 0. Přehled některých Taylorových řad.

f (k) (x 0 ) (x x 0 ) k, x (x 0 r, x 0 + r). k! f(x) = k=1 Řada se nazývá Taylorovou řadou funkce f v bodě x 0. Přehled některých Taylorových řad. 8. Taylorova řada. V urzu matematiy jsme uázali, že je možné funci f, terá má v oolí bodu x derivace aproximovat polynomem, jehož derivace se shodují s derivacemi aproximované funce v bodě x. Poud má funce

Více

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i. KOMLEXNÍ ČÍSLA C = {a + bi; a, b R}, kde i 2 = 1 Číslo komplexně sdružené k z = a + bi je číslo z = a bi. Operace s komplexními čísly: z = a + bi, kde a, b R v = c + di, kde c, d R Sčítání Odčítání Násobení

Více

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice Jan Tomeček Tento stručný text si klade za cíl co nejrychlejší uvedení do teorie Greenových funkcí pro obyčejné diferenciální

Více

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů? Kapitola 9 Matice a počet koster Graf (orientovaný i neorientovaný) lze popsat maticí, a to hned několika různými způsoby. Tématem této kapitoly jsou incidenční matice orientovaných grafů a souvislosti

Více

Úlohy krajského kola kategorie A

Úlohy krajského kola kategorie A 63. roční matematicé olympiády Úlohy rajsého ola ategorie A 1. Najděte všechna celá ladná čísla, terá nejsou mocninou čísla 2 a terá se rovnají součtu trojnásobu svého největšího lichého dělitele a pětinásobu

Více

Rozlišujeme dva základní typy šifrování a to symetrické a asymetrické. Symetrické

Rozlišujeme dva základní typy šifrování a to symetrické a asymetrické. Symetrické 1 Šifrování Kryptografie Každý z nás si určitě umí představit situaci, dy je důležité utajit obsah posílané zprávy ta aby ho byl schopen přečíst jen ten omu je určená a nido nepovolaný nebyl schopen zjistit

Více

Učební texty k státní bakalářské zkoušce Matematika Algebra. študenti MFF 15. augusta 2008

Učební texty k státní bakalářské zkoušce Matematika Algebra. študenti MFF 15. augusta 2008 Učební texty k státní bakalářské zkoušce Matematika Algebra študenti MFF 15. augusta 2008 1 8 Algebra Požadavky Grupa, okruh, těleso definice a příklady Podgrupa, normální podgrupa, faktorgrupa, ideál

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání

Více

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení

Více

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30 Generující kořeny cyklických kódů 6. přednáška z algebraického kódování Alena Gollová, TIK Generující kořeny 1/30 Obsah 1 Alena Gollová, TIK Generující kořeny 2/30 Hammingovy kódy Hammingovy kódy jsou

Více

7.3.9 Směrnicový tvar rovnice přímky

7.3.9 Směrnicový tvar rovnice přímky 739 Směrnicový tvar rovnice přímy Předpolady: 7306 Pedagogicá poznáma: Stává se, že v hodině nestihneme poslední část s určováním vztahu mezi směrnicemi olmých příme Vrátíme se obecné rovnici přímy: Obecná

Více

7.3.9 Směrnicový tvar rovnice přímky

7.3.9 Směrnicový tvar rovnice přímky 7.3.9 Směrnicový tvar rovnice přímy Předpolady: 7306 Pedagogicá poznáma: Stává se, že v hodině nestihneme poslední část s určováním vztahu mezi směrnicemi olmých příme. Vrátíme se obecné rovnici přímy:

Více

BCH kódy. Alena Gollová, TIK BCH kódy 1/27

BCH kódy. Alena Gollová, TIK BCH kódy 1/27 7. přednáška z algebraického kódování Alena Gollová, TIK 1/27 Obsah 1 Binární Alena Gollová, TIK 2/27 Binární jsou cyklické kódy zadané svými generujícími kořeny. Díky šikovné volbě kořenů opravuje kód

Více

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie Obsah Počítání modulo n a jeho časová složitost 3. a 4. přednáška z kryptografie 1 Počítání modulo n - dokončení Umocňování v Zn 2 Časová složitost výpočtů modulo n Asymptotická notace Základní aritmetické

Více

4 Počítání modulo polynom

4 Počítání modulo polynom 8 4 Počítání modulo polynom Co se vyplatilo jendou, vyplatí se i podruhé. V této kapitole zavedeme polynomy nad Z p a ukážeme, že množina všech polynomů nad Z p tvoří komutativní okruh s jednotkou. Je-li

Více

Matice lineárních zobrazení

Matice lineárních zobrazení Matice lineárních zobrazení Nechť V, +, a W, +, jsou nenulové vektorové prostory konečných dimenzí n a m nad tělesem T, +,, nechť posloupnosti vektorů g 1, g 2,..., g n V a h 1, h 2,..., h m W tvoří báze

Více

Kongruence na množině celých čísel

Kongruence na množině celých čísel 121 Kapitola 4 Kongruence na množině celých čísel 4.1 Relace kongruence na množině celých čísel Vraťme se k úvahám o dělení se zbytkem. Na základní škole jsme se naučili, že když podělíme číslo 11 číslem

Více

Buckinghamův Π-teorém (viz Barenblatt, Scaling, 2003)

Buckinghamův Π-teorém (viz Barenblatt, Scaling, 2003) Bucinghamův Π-teorém (viz Barenblatt, Scaling, 2003) Formalizace rozměrové analýzy ( výsledné jednoty na obou stranách musí souhlasit ). Rozměr fyziální veličiny Mějme nějaou třídu jednote, napřílad [(g,

Více

Lineární algebra : Báze a dimenze

Lineární algebra : Báze a dimenze Lineární algebra : Báze a dimenze (5. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 9. dubna 2014, 13:33 1 2 5.1 Báze lineárního prostoru Definice 1. O množině vektorů M z LP V řekneme,

Více

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY Jan Krejčí 31. srpna 2006 jkrejci@physics.ujep.cz http://physics.ujep.cz/~jkrejci Obsah 1 Přímé metody řešení soustav lineárních rovnic 3 1.1 Gaussova eliminace...............................

Více

Příklady: - počet členů dané domácnosti - počet zákazníků ve frontě - počet pokusů do padnutí čísla šest - životnost televizoru - věk člověka

Příklady: - počet členů dané domácnosti - počet zákazníků ve frontě - počet pokusů do padnutí čísla šest - životnost televizoru - věk člověka Náhodná veličina Náhodnou veličinou nazýváme veličinu, terá s určitými p-stmi nabývá reálných hodnot jednoznačně přiřazených výsledům příslušných náhodných pousů Náhodné veličiny obvyle dělíme na dva záladní

Více

Zavedení a vlastnosti reálných čísel

Zavedení a vlastnosti reálných čísel Zavedení a vlastnosti reálných čísel jsou základním kamenem matematické analýzy. Konstrukce reálných čísel sice není náplní matematické analýzy, ale množina reálných čísel R je pro matematickou analýzu

Více

2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi.

2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi. Řešené příklady z lineární algebry - část 3 Typové příklady s řešením Příklad 3.1: Zobrazení L: P 3 R 23 je zobrazení z prostoru P 3 všech polynomů do stupně 3 (včetně nulového polynomu) do prostoru R

Více

5. Lokální, vázané a globální extrémy

5. Lokální, vázané a globální extrémy 5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,

Více

Matematická analýza pro informatiky I. Limita funkce

Matematická analýza pro informatiky I. Limita funkce Matematická analýza pro informatiky I. 5. přednáška Limita funkce Jan Tomeček tomecek@inf.upol.cz http://aix-slx.upol.cz/ tomecek/index Univerzita Palackého v Olomouci 18. března 2011 Jan Tomeček, tomecek@inf.upol.cz

Více

Algebraické struktury s jednou binární operací

Algebraické struktury s jednou binární operací 16 Kapitola 1 Algebraické struktury s jednou binární operací 1.1 1. Grupoid, pologrupa, monoid a grupa Chtěli by jste vědět, co jsou to algebraické struktury s jednou binární operací? No tak to si musíte

Více

3. Mocninné a Taylorovy řady

3. Mocninné a Taylorovy řady 3. Mocninné a Taylorovy řady A. Záladní pojmy. Obor onvergence Mocninné řady jsou nejjednodušším speciálním případem funčních řad. Jsou to funční řady, jejichž členy jsou mocninné funce. V této apitole

Více

Testování prvočíselnosti

Testování prvočíselnosti Dokumentace zápočtového programu z Programování II (NPRG031) Testování prvočíselnosti David Pěgřímek http://davpe.net Úvodem V různých oborech (například v kryptografii) je potřeba zjistit, zda je číslo

Více

Lineární algebra : Polynomy

Lineární algebra : Polynomy Lineární algebra : Polynomy (2. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 15. dubna 2014, 11:21 1 2 2.1 Značení a těleso komplexních čísel Značení N := {1, 2, 3... }... množina

Více

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

ALGEBRA. 1. Pomocí Eukleidova algoritmu najděte největší společný dělitel čísel a a b. a) a = 204, b = 54, b) a = , b =

ALGEBRA. 1. Pomocí Eukleidova algoritmu najděte největší společný dělitel čísel a a b. a) a = 204, b = 54, b) a = , b = ALGEBRA 1 Úkol na 13. 11. 2018 1. Pomocí Eukleidova algoritmu najděte největší společný dělitel čísel a a b. a) a = 204, b = 54, b) a = 353 623, b = 244 571. 2. Připomeňte si, že pro ε = cos 2π 3 + i sin

Více

Lineární algebra : Násobení matic a inverzní matice

Lineární algebra : Násobení matic a inverzní matice Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních

Více

(iv) D - vybíráme 2 koule a ty mají různou barvu.

(iv) D - vybíráme 2 koule a ty mají různou barvu. 2 cvičení - pravděpodobnost 2102018 18cv2tex Definice pojmů a záladní vzorce Vlastnosti pravděpodobnosti Pravděpodobnost P splňuje pro libovolné jevy A a B následující vlastnosti: 1 0, 1 2 P (0) = 0, P

Více

Binomická věta

Binomická věta 97 Binomicá věta Předpolady: 96 Kdysi dávno v prvním ročníu jsme se učili vzorce na umocňování dvojčlenu Př : V tabulce jsou vypsány vzorce pro umocňování dvojčlenu Najdi podobnost s jinou dosud probíranou

Více

Kongruence. 1. kapitola. Opakování základních pojmů o dělitelnosti

Kongruence. 1. kapitola. Opakování základních pojmů o dělitelnosti Kongruence 1. kapitola. Opakování základních pojmů o dělitelnosti In: Alois Apfelbeck (author): Kongruence. (Czech). Praha: Mladá fronta, 1968. pp. 3 9. Persistent URL: http://dml.cz/dmlcz/403653 Terms

Více

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru 1 1. Lineární algebra 1.1. Lineární závislost a nezávislost vektorů. Hodnost matice Aritmetické vektory Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ).

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

Lineární algebra : Polynomy

Lineární algebra : Polynomy Lineární algebra : Polynomy (2. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních technologií České

Více

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru 2. Systémy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních rovnic s koeficienty z pole reálných případně komplexních čísel. Uvádíme podmínku pro existenci řešení systému lineárních

Více

7B. Výpočet limit L Hospitalovo pravidlo

7B. Výpočet limit L Hospitalovo pravidlo 7B. Výpočet it L Hospitalovo pravidlo V prai často potřebujeme určit itu výrazů, které vzniknou operacemi nebo složením několika spojitých funkcí. Většinou pomohou pravidla typu ita součtu násobku, součinu,

Více

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:

Více

1 Řešení soustav lineárních rovnic

1 Řešení soustav lineárních rovnic 1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty

Více

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008 Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty študenti MFF 15. augusta 2008 1 14 Vlastní čísla a vlastní hodnoty Požadavky Vlastní čísla a vlastní hodnoty lineárního

Více

PŘEDNÁŠKA 2 POSLOUPNOSTI

PŘEDNÁŠKA 2 POSLOUPNOSTI PŘEDNÁŠKA 2 POSLOUPNOSTI 2.1 Zobrazení 2 Definice 1. Uvažujme libovolné neprázdné množiny A, B. Zobrazení množiny A do množiny B je definováno jako množina F uspořádaných dvojic (x, y A B, kde ke každému

Více

Jak funguje asymetrické šifrování?

Jak funguje asymetrické šifrování? Jak funguje asymetrické šifrování? Petr Vodstrčil petr.vodstrcil@vsb.cz Katedra aplikované matematiky, Fakulta elektrotechniky a informatiky, Vysoká škola báňská Technická univerzita Ostrava Petr Vodstrčil

Více

Lineární algebra : Lineární prostor

Lineární algebra : Lineární prostor Lineární algebra : Lineární prostor (3. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. dubna 2014, 14:43 1 2 3.1 Aximotické zavedení lineárního prostoru Číselné těleso Celou lineární

Více

Operace s maticemi. 19. února 2018

Operace s maticemi. 19. února 2018 Operace s maticemi Přednáška druhá 19. února 2018 Obsah 1 Operace s maticemi 2 Hodnost matice (opakování) 3 Regulární matice 4 Inverzní matice 5 Determinant matice Matice Definice (Matice). Reálná matice

Více

Pravděpodobnost a statistika

Pravděpodobnost a statistika Pravděpodobnost a statistika 1 Náhodné pokusy a náhodné jevy Činnostem, jejichž výsledek není jednoznačně určen podmínkami, za kterých probíhají, a které jsou (alespoň teoreticky) neomezeně opakovatelné,

Více

Lineární algebra : Násobení matic a inverzní matice

Lineární algebra : Násobení matic a inverzní matice Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. března 2014, 12:42 1 2 0.1 Násobení matic Definice 1. Buďte m, n, p N, A

Více

Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar

Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar Řešte v : má rovnice tvar takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar takže rovnice v zadání má v tomto případě opět jedno řešení. Sjednocením obou případů dostaneme úplné

Více

Lingebraické kapitolky - Počítání s maticemi

Lingebraické kapitolky - Počítání s maticemi Lingebraické kapitolky - Počítání s maticemi Jaroslav Horáček KAM MFF UK 20 Rozehřívačka: Definice sčítání dvou matic a násobení matice skalárem, transpozice Řešení: (A + B ij A ij + B ij (αa ij α(a ij

Více

1 Seznamová barevnost úplných bipartitních

1 Seznamová barevnost úplných bipartitních Barvení grafů pravděpodobnotní důazy Zdeně Dvořá 7. proince 208 Seznamová barevnot úplných bipartitních grafů Hypergraf je (labě) -obarvitelný, jetliže exituje jeho obarvení barvami neobahující monochromaticou

Více

Nejdřív spočítáme jeden příklad na variaci konstant pro lineární diferenciální rovnici 2. řádu s kostantními koeficienty. y + y = 4 sin t.

Nejdřív spočítáme jeden příklad na variaci konstant pro lineární diferenciální rovnici 2. řádu s kostantními koeficienty. y + y = 4 sin t. 1 Variace konstanty Nejdřív spočítáme jeden příklad na variaci konstant pro lineární diferenciální rovnici 2. řádu s kostantními koeficienty. Příklad 1 Najděte obecné řešení rovnice: y + y = 4 sin t. Co

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést Úlohy k zamyšlení 1. Zdůvodněte, proč třetí řádek Hornerova schématu pro vyhodnocení polynomu p v bodě c obsahuje koeficienty polynomu r, pro který platí p(x) = (x c) r(x) + p(c). 2. Dokažte, že pokud

Více

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry. Kapitola Ohodnocené grafy V praktických aplikacích teorie grafů zpravidla graf slouží jako nástroj k popisu nějaké struktury. Jednotlivé prvky této struktury mají často přiřazeny nějaké hodnoty (může jít

Více

19. Druhý rozklad lineární transformace

19. Druhý rozklad lineární transformace Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA II, letní semestr 2000/2001 Michal Marvan Úmluva. Všude P = C. Vpřednášce o vlastních vektorech jsme se seznámili s diagonalizovatelnými

Více

V této sekci zobecníme vnější kalkulus z kapitoly 4 operaci vnějšího. se sice na zde zavedené operace budeme odvolávat, vždy ale jen jako

V této sekci zobecníme vnější kalkulus z kapitoly 4 operaci vnějšího. se sice na zde zavedené operace budeme odvolávat, vždy ale jen jako [2.03,1.12,1.14,2.04,2.02,2.02,2.03,2.03,2.02,0,1.03] Kapitola 8 Kovariantní vnější derivace V této seci zobecníme vnější alulus z apitoly 4 operaci vnějšího součinu a vnější derivace na obecnější tenzorové

Více

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u. Několik řešených příkladů do Matematiky Vektory V tomto textu je spočteno několik ukázkových příkladů které vám snad pomohou při řešení příkladů do cvičení. V textu se objeví i pár detailů které jsem nestihl

Více

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

3 Lineární kombinace vektorů. Lineární závislost a nezávislost 3 Lineární kombinace vektorů. Lineární závislost a nezávislost vektorů. Obrázek 5: Vektor w je lineární kombinací vektorů u a v. Vektory u, v a w jsou lineárně závislé. Obrázek 6: Vektor q je lineární

Více

Řešení. Hledaná dimenze je (podle definice) rovna hodnosti matice. a 1 2. 1 + a 2 2 1

Řešení. Hledaná dimenze je (podle definice) rovna hodnosti matice. a 1 2. 1 + a 2 2 1 Příklad 1. Určete všechna řešení následující soustavy rovnic nad Z 2 : 0 0 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 1 Gaussovou eliminací převedeme zadanou soustavu na ekvivalentní soustavu v odstupňovaném

Více

FREDHOLMOVA ALTERNATIVA

FREDHOLMOVA ALTERNATIVA FREDHOLMOVA ALTERNATIVA Pavel Jirásek 1 Abstrakt. V tomto článku se snažíme shrnout dosavadní výsledky týkající se Fredholmovy alternativy (FA). Postupně zmíníme FA na prostorech konečné dimenze, FA pro

Více

Matematika B101MA1, B101MA2

Matematika B101MA1, B101MA2 Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet

Více

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech. Kapitola 9 Skalární součin Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech. Definice 9.1 Je-li x = (x 1,..., x n ) T R n 1 reálný

Více

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A VEKTORY Vektorem se rozumí množina všech orientovaných úseček, které mají stejnou velikost, směr a orientaci, což vidíme na obr. 1. Jedna konkrétní orientovaná úsečka se nazývá umístění vektoru na obr.

Více

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n [1] Základní pojmy [2] Matice mezi sebou sčítáme a násobíme konstantou (lineární prostor) měníme je na jiné matice eliminační metodou násobíme je mezi sebou... Matice je tabulka čísel s konečným počtem

Více

Motivace. Náhodný pokus, náhodný n jev. pravděpodobnost. podobnostní charakteristiky diagnostických testů, Bayesův vzorec. Prof.RND. RND.

Motivace. Náhodný pokus, náhodný n jev. pravděpodobnost. podobnostní charakteristiky diagnostických testů, Bayesův vzorec. Prof.RND. RND. Pravděpodobnostn podobnostní charateristiy diagnosticých testů, Bayesův vzorec Prof.RND RND.Jana Zvárov rová,, DrSc. Náhodný pous, náhodný n jev Náhodný pous: výslede není jednoznačně určen podmínami,

Více

[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu.

[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu. Polynomy Polynom je možno definovat dvěma způsoby: jako reálnou nebo komplexní funkci, jejichž hodnoty jsou dány jistým vzorcem, jako ten vzorec samotný. [1] První způsob zavedení polynomu BI-LIN, polynomy,

Více

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2 Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných

Více

Úlohy domácí části I. kola kategorie C

Úlohy domácí části I. kola kategorie C 6. ročník Matematické olympiády Úlohy domácí části I. kola kategorie C 1. Určete všechny dvojice (x, y) reálných čísel, která vyhovují soustavě rovnic (x + )2 = y, (y )2 = x + 8. Řešení. Vzhledem k tomu,

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 40 regula Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague regula 1 2 3 4 5 regula 6 7 8 2 / 40 2 / 40 regula Iterační pro nelineární e Bud f reálná funkce

Více