From: Martin Mares Date: Mon, 2 Jan 2012 17:42:28 +0000 (+0100) Subject: FFT: Prepsan uvod o polynomech a komplexni intermezzo X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=f433cede14af2a36e2ab7547f14421c2d785446d;p=ads2.git FFT: Prepsan uvod o polynomech a komplexni intermezzo --- diff --git a/7-fft/7-fft.tex b/7-fft/7-fft.tex index 9f7f51c..c9ee32f 100644 --- a/7-fft/7-fft.tex +++ b/7-fft/7-fft.tex @@ -1,117 +1,181 @@ \def\scharfs{\char"19} \input lecnotes.tex -\def\imply{\Rightarrow} \prednaska{9}{Fourierova transformace}{} -Násobení polynomù mù¾e mnohým pøipadat jako pomìrnì (algoritmicky) snadný -problém. Asi ka¾dého hned napadne \uv{hloupý} algoritmus -- vezmeme -koeficienty prvního polynomu a~vynásobíme ka¾dý se v¹emi koeficienty druhého -polynomu a~pøíslu¹nì u~toho seèteme i~exponenty (stejnì jako to dìláme, kdy¾ -násobíme polynomy na~papíøe). Pokud stupeò prvního polynomu je $n$ a~druhého -$m$, strávíme tím èas $\Omega(mn)$. Pro $m=n$ je to kvadraticky pomalé. -Na~první pohled se mù¾e zdát, ¾e rychleji to prostì nejde (pøeci musíme -v¾dy vynásobit \uv{ka¾dý s~ka¾dým}). Ve skuteènosti to ale rychleji fungovat -mù¾e, ale k~tomu je potøeba znát trochu tajemný algoritmus FFT neboli {\I Fast -Fourier Transform}. - - -\ss{Trochu algebry na~zaèátek} -Celé polynomy oznaèujeme velkými písmeny, jednotlivé èleny polynomù pøíslu¹nými -malými písmeny (pø.: polynom $W$ stupnì $d$ má koeficienty $w_{0}, w_{1}, -w_{2},\ldots, w_{d}$). - -Libovolný polynom $P$ stupnì (nejvý¹e) $d$ lze reprezentovat -jednak jeho koeficienty, tedy èísly $p_{0}, p_{1}, \ldots ,p_{d}$, druhak -i~pomocí hodnot: - -\>{\bf Lemma:} Polynom stupnì nejvý¹e $d$ je jednoznaènì urèeò svými -hodnotami v~$d+1$ rùzných bodech. - -\>{\it Dùkaz:} -Polynom stupnì $d$ má maximálnì $d$ koøenù (indukcí -- je-li -$k$ koøenem $P$, pak lze $P$ napsat jako $(x-k)Q$ kde $Q$ je polynom stupnì -o~jedna men¹í, pøitom polynom stupnì 1 má jediný koøen); uvá¾íme-li -dva rùzné polynomy $P$ a~$Q$ stupnì $d$ nabývající v~daných bodech stejných -hodnot, tak $P-Q$ je polynom stupnì maximálnì $d$, ka¾dé -z $x_{0}\ldots x_{d}$ je koøenem tohoto polynomu $\imply$ spor, polynom stupnì -$d$ má $d+1$ koøenù $\imply$ $P-Q$ musí být nulový polynom $\imply$ $P=Q$. +\h{Násobení polynomù} + +V~této kapitole se budeme zabývat násobením polynomù. Tento na první pohled +triviální algebraický problém má pøekvapivì efektivní øe¹ení, které nás +dovede a¾ k~Fourierovì transformaci. + +\s{Znaèení:} {\I Polynomy} jsou výrazy typu +$$ +P(x)=\sum_{i=0}^{n-1} p_i\cdot x^i, +$$ +kde $x$ je~promìnná a $p_0$ a¾ $p_{n-1}$ jsou {\I koeficienty} polynomu. +Obecnì budeme znaèit polynomy velkými písmeny a jejich koeficienty pøíslu¹nými +malými písmeny s~indexy. + +V~algoritmech polynomy obvykle reprezentujeme pomocí {\I vektoru koeficientù} +$(p_0,\ldots,p_{n-1})$; oproti zvyklostem lineární algebry budeme slo¾ky vektorù v~celé +této kapitole indexovat od~0. Poètu koeficientù~$n$ budeme øíkat {\I velikost +polynomu} $\vert P\vert$. Èasovou slo¾itost algoritmu budeme vyjadøovat vzhledem k~velikostem +polynomù na jeho vstupu. + +Pokud pøidáme nový koeficient $x_n=0$, hodnota polynomu se pro ¾ádné~$x$ +nezmìní. Stejnì tak je-li nejvy¹¹í koeficient~$x_{n-1}$ nulový, mù¾eme ho +vynechat. Takto mù¾eme ka¾dý polynom zmen¹it na {\I normální tvar,} +v~nìm¾ má buïto nenulový nejvy¹¹í koeficient, nebo nemá vùbec ¾ádné +koeficienty (a je tedy v¹ude roven nule). Nejvy¹¹í mocninì s~nenulovým +koeficientem se øíká {\I stupeò polynomu} $\deg R$, polynomu bez koeficientù +pøiøazujeme stupeò~$-1$. + +\s{Násobení polynomù:} +Polynomy násobíme jako výrazy: +$$ +P(x)\cdot Q(x) = \Biggl( \sum_{i=0}^{n-1} p_i\cdot x^i \Biggr) \cdot \Biggl( \sum_{j=0}^{m-1} q_j\cdot x^j \Biggr). +$$ +Po~roznásobení mù¾eme tento souèin zapsat jako polynom~$R(x)$, jeho¾ +koeficient u~$x^k$ je roven $r_k = p_0q_k + p_1q_{k-1} + \ldots + p_kq_0$. + +Snadno nahlédneme, ¾e polynom~$R$ má stupeò $\deg P + \deg Q$ a velikost +$\vert P\vert + \vert Q\vert - 1$. + +Algoritmus, který poèítá souèin dvou polynomù velikosti~$n$ pøímo podle definice, +proto spotøebuje èas $\Theta(n)$ na výpoèet ka¾dého koeficientu, celkem +tedy $\Theta(n^2)$. Pokusíme se nalézt efektivnìj¹í zpùsob. + +\s{Rovnost polynomù:} +Odboème na chvíli a uva¾ujme, kdy dva polynomy pova¾ujeme za stejné. +Na to se dá nahlí¾et více zpùsoby. Buïto se na polynom mù¾eme dívat +jako na výraz a porovnávat jejich symbolické zápisy. Pak jsou si dva +polynomy rovny právì tehdy, mají-li stejné vektory koeficientù, a¾ na +pøípadné nevýznamné nuly. Tomu se øíká {\I identická rovnost} polynomù +a obvykle se znaèí $P\equiv Q$. + +Druhá mo¾nost je porovnávat polynomy jako reálné funkce. Polynomy $P$ a~$Q$ +si tedy budou rovny ($P=Q$) právì tehdy, je-li $P(x)=Q(x)$ pro v¹echna~$x$. Identicky +rovné polynomy si jsou rovny i jako funkce, ale musí to platit i naopak? +Následující vìta uká¾e, ¾e ano a ¾e dokonce staèí rovnost pro koneèný poèet~$x$. + +\s{Vìta:} Buïte $P$ a~$Q$ polynomy stupnì nejvý¹e~$d$. Pokud platí $P(x_i) = Q(x_i)$ +pro navzájem rùzná èísla $x_0,\ldots,x_d$, pak jsou $P$ a~$Q$ identické. + +\proof +Pøipomeòme nejprve následující standardní lemma o~koøenech polynomù: + +{\narrower\s{Lemma:} +Polynom~$R$ stupnì~$t\ge 0$ má nejvý¹e $t$ koøenù (èísel~$\alpha$, pro nì¾ je $P(\alpha)=0$) + +\proof +Z~algebry víme, ¾e je-li èíslo $\alpha$ koøenem polynomu~$R(x)$, mù¾eme $R(x)$ beze zbytku vydìlit +výrazem $x-\alpha$. To znamená, ¾e $R(x)\equiv (x-\alpha)\cdot R'(x)$ pro nìjaký polynom $R'(x)$ +stupnì $t-1$. Dosazením ovìøíme, ¾e koøeny polynomu~$R'$ jsou pøesnì tyté¾ jako koøeny polynomu~$R$, +s~mo¾nou výjimkou koøene~$\alpha$. + +Budeme-li tento postup opakovat $t$-krát, buïto nám v~prùbìhu dojdou koøeny +(a~pak lemma jistì platí), nebo dostaneme rovnost $R(x) \equiv (x-\alpha_1)\cdot\ldots\cdot(x-\alpha_t)\cdot R''(x)$, +kde $R''$ je polynom nulového stupnì. Takové polynomy ov¹em nemohou mít ¾ádný +koøen, a~tím pádem nemù¾e mít ¾ádné dal¹í koøeny ani~$R$. \qed -\medskip - -Pov¹imnìme si jedné skuteènosti -- máme-li dva polynomy $A$ a~$B$ stupnì $d$ -a~body $x_{0}, \ldots, x_{n}$, dále polynom $C=A \cdot B$ (stupnì $2d$), pak -platí $C(x_{j}) = A(x_{j}) \cdot B(x_{j})$ pro $j = 0,1,2, \ldots, n$. Toto -èiní tento druhý zpùsob reprezentace polynomu velice atraktivním pro násobení --- máme-li $A$ i $B$ reprezentované hodnotami v $n \geq 2d+1$ bodech, pak -snadno (v $\Theta(n)$) spoèteme takovou reprezentaci $C$. -Problémem je, ¾e typicky máme polynom zadaný koeficienty, a~ne hodnotami -v~bodech. Tím pádem potøebujeme nìjaký hodnì rychlý algoritmus (tj. -rychlej¹í ne¾ kvadratický, jinak bychom si nepomohli oproti hloupému -algoritmu) na~pøevod polynomu z jedné reprezentace do druhé a~zase zpìt. - -\s{Idea, jak by mìl algoritmus pracovat:} + +} + +\smallskip + +\>Abychom dokázali vìtu, staèí uvá¾it polynom $R(x)\equiv P(x)-Q(x)$. +Tento polynom má stupeò nejvý¹e~$d$, ov¹em ka¾dé z~èísel $x_0,\ldots,x_d$ +je jeho koøenem. Podle lemmatu musí tedy být identicky nulový, a~proto +$P\equiv Q$. +\qed + +\s{Zpìt k~násobení:} +Vìta, ji¾ jsme právì dokázali, vlastnì øíká, ¾e polynomy mù¾eme reprezentovat +nejen vektorem koeficientù, ale také vektorem funkèních hodnot v~nìjakých smluvených +bodech -- tomuto vektoru budeme øíkat {\I graf polynomu.} Pokud zvolíme dostateènì +mnoho bodù, je polynom svým grafem jednoznaènì urèen. + +V~této reprezentaci je pøitom násobení polynomù triviální: Souèin polynomù +$P$ a~$Q$ má v~bodì~$x$ hodnotu $P(x)\cdot Q(x)$. Staèí tedy grafy vynásobit +po~slo¾kách, co¾ zvládneme v~lineárním èase. Jen je potøeba dát pozor na to, +¾e souèin je vìt¹í ne¾ jednotliví èinitelé, tak¾e si potøebujeme poøídit +dostateèný poèet bodù. + +Dostaneme následující algoritmus: + \algo -\:Vybereme $n\geq 2d+1$ bodù $x_{0}, x_{1}, \ldots , x_{n-1}$. -\:V tìchto bodech vyhodnotíme polynomy $A$ a~$B$. -\:Nyní ji¾ v~lineárním èase získáme hodnoty polynomu $C$ v~tìchto bodech: - $C(x_i) = A(x_i)\cdot B(x_i)$ -\:Pøevedeme hodnoty polynomu $C$ na~jeho koeficienty. +\:Jsou dány polynomy $P$ a~$Q$ velikosti~$n$, urèené svými koeficienty. + Bez újmy na obecnosti pøedpokládejme, ¾e horních $n/2$ koeficientù je + u~obou polynomù nulových, tak¾e souèin $R=P\cdot Q$ bude také polynom + velikosti~$n$. +\:Zvolíme navzájem rùzná èísla $x_0,\ldots,x_{n-1}$. +\:Spoèítáme grafy polynomù~$P$ a~$Q$, tedy vektory $(P(x_0),\ldots,P(x_{n-1}))$ + a $(Q(x_0),\ldots,Q(x_t))$. +\:Z~toho vypoèteme graf souèinu~$R$ vynásobením po~slo¾kách: $R(x_i)=P(x_i)\cdot Q(x_i)$. +\:Nalezneme koeficienty polynomu~$R$ tak, aby odpovídaly grafu. \endalgo -\>Je vidìt, ¾e klíèové jsou kroky 2 a~4. -Celý trik spoèívá v~chytrém vybrání onìch bodù, ve kterých budeme polynomy -vyhodnocovat -- zvolí-li se obecná $x_j$, tak se to rychle neumí, pro speciální -$x_j$ ale uká¾eme, ¾e to rychle jde. - -\ss{Vyhodnocení polynomu metodou Rozdìl a~panuj (algoritmus FFT):} -Mìjme polynom $P$ stupnì $\leq d$ a~chtìjme jej vyhodnotit v~$n$ bodech. -Vybereme si body tak, aby byly spárované, èili $\pm x_{0}, \pm x_{1}, -\ldots , \pm x_{n/2-1} $. To nám výpoèet urychlí, proto¾e pak se druhé -mocniny $x_{j}$ shodují s~druhými mocninami $-x_{j}$. - -Polynom $P$ rozlo¾íme na~dvì èásti, první obsahuje èleny se sudými exponenty, -druhá s~lichými: -$$P(x) = (p_{0}x^{0} + p_{2}x^{2} + \ldots + p_{d-2}x^{d-2}) + (p_{1}x^{1} + - p_{3}x^{3} + \ldots + p_{d-1}x^{d-1})$$ -\>se zavedením znaèení: -$$P_s(t) = p_0t^0 + p_{2}t^{1} + \ldots + p_{d - 2}t^{d - 2\over 2}$$ -$$P_l(t) = p_1t^0 + p_3t^1 + \ldots + p_{d - 1}t^{d - 2\over 2}$$ - -\>bude $P(x) = P_s(x^{2}) + xP_l(x^{2})$ a~$P(-x) = P_s(x^{2}) - -xP_l(x^{2})$. Jinak øeèeno, vyhodnocování polynomu $P$ v~$n$ bodech se nám -smrskne na~vyhodnocení $P_s$ a~$P_l$ v~$n/2$ bodech -- oba jsou polynomy -stupnì nejvý¹e $d/2$ a~vyhodnocujeme je v~$x^{2}$ (vyu¾íváme -rovnosti $(x_{i})^{2} = (-x_{i})^{2}$). - -\s{Pøíklad:} -$3 + 4x + 6x^{2} + 2x^{3} + x^{4} + 10x^{5} = (3 + 6x^{2} + x^{4}) + x(4 + -2x^{2} + 10x^{4})$. - -Teï nám ov¹em vyvstane problém s~oním párováním -- druhá mocnina pøece nemù¾e -být záporná a~tím pádem u¾ v~druhé úrovni rekurze body spárované nebudou. -Z~tohoto dùvodu musíme pou¾ít komplexní èísla -- tam druhé mocniny záporné býti -mohou. - -% komplex -\h{Komplexní intermezzo} -\def\i{{\rm i}} +\>Krok~4 trvá $\O(n)$, tak¾e rychlost celého algoritmu stojí a padá s~efektivitou +pøevodù mezi koeficientovou a hodnotovou reprezentací polynomù. Uká¾e se, +¾e aèkoliv to obecnì není snadný problém, mù¾eme si body $x_0,\ldots,x_{n-1}$ +zvolit tak ¹ikovnì, aby pøevod probìhl rychle. + +\h{Pokus o~vyhodnocení polynomù metodou Rozdìl a panuj} + +Uva¾ujme polynom $P$ velikosti~$n$, který chceme vyhodnotit v~$n$~bodech. +Body si pøitom zvolíme tak, aby byly {\I spárované} -- aby tvoøily dvojice li¹ící +se pouze znaménkem: $\pm x_{0}, \pm x_{1}, \ldots, \pm x_{n/2-1}$. + +Polynom $P$ mù¾eme rozlo¾it na~èleny se sudými exponenty a ty s~lichými: +$$P(x) = (p_{0}x^{0} + p_{2}x^{2} + \ldots + p_{n-2}x^{n-2}) + (p_{1}x^{1} + + p_{3}x^{3} + \ldots + p_{n-1}x^{n-1}).$$ +Navíc mù¾eme z~druhé závorky vytknout~$x$: +$$P(x) = (p_{0}x^{0} + p_{2}x^{2} + \ldots + p_{n-2}x^{n-2}) + x\cdot (p_{1}x^{0} + + p_{3}x^{2} + \ldots + p_{n-1}x^{n-2}).$$ +Ka¾dou závorku mù¾eme nyní pova¾ovat za~vyhodnocení nìjakého polynomu velikosti~$n/2$ +v~bodì~$x^2$ a psát: +$$P(x) = P_s(x^2) + x\cdot P_\ell(x^2),$$ +kde: +$$\eqalign{ +P_s(t) &= p_0t^0 + p_{2}t^{1} + \ldots + p_{n - 2}t^{n - 2\over 2}, \cr +P_\ell(t) &= p_1t^0 + p_3t^1 + \ldots + p_{n - 1}t^{n - 2\over 2}. \cr +}$$ +Navíc pokud podobným zpùsobem dosadíme do~$P$ hodnotu~$-x$, dostaneme: +$$P(-x) = P_s(x^2) - x\cdot P_\ell(x^2).$$ + +Vyhodnocení polynomu~$P$ v~bodech $\pm x_0,\ldots,\pm x_{n-1}$ tedy +mù¾eme pøevést na vyhodnocení polynomù $P_s$ a~$P_\ell$ polovièní velikosti +v~bodech $x_0^2,\ldots,x_{n-1}^2$. + +To naznaèuje algoritmus s~èasovou slo¾itostí $T(n) = 2T(n/2) + \Theta(n)$ +a z~Kuchaøkové vìty víme, ¾e tato rekurence má øe¹ení $T(n) = \Theta(n\log n)$. +Jediný problém je, ¾e tento algoritmus nefunguje: druhé mocniny, které pøedáme +rekurzivnímu volání, jsou v¾dy nezáporné, tak¾e u¾ nemohou být správnì spárované. + +Tedy \dots{} alespoò dokud poèítáme s~reálnými èísly. Uká¾eme, ¾e v~oboru +komplexních èísel u¾ mù¾eme zvolit body, které budou správnì spárované +i po~nìkolikerém umocnìní na druhou. + +\h{Intermezzo: Pøipomenutí komplexních èísel} +\def\ii{\mkern 0.5mu{\bf i}} +\def\im{{\bf i}} \def\\{\hfil\break} \s{Základní operace} \itemize\ibull -\:Definice: ${\bb C} = \{a + b\i \mid a,b \in {\bb R}\}$ +\:Definice: ${\bb C} = \{a + b\ii \mid a,b \in {\bb R}\}$. -\:Sèítání: $(a+b\i)\pm(p+q\i) = (a\pm p) + (b\pm q)\i$. \\ -Pro $\alpha\in{\bb R}$ je $\alpha(a+b\i) = \alpha a + \alpha b\i$. +\:Sèítání: $(a+b\ii)\pm(p+q\ii) = (a\pm p) + (b\pm q)\ii$. \\ +Pro $\alpha\in{\bb R}$ je $\alpha(a+b\ii) = \alpha a + \alpha b\ii$. -\:Komplexní sdru¾ení: $\overline{a+b\i} = a-b\i$. \\ +\:Komplexní sdru¾ení: $\overline{a+b\ii} = a-b\ii$. \\ $\overline{\overline x} = x$, $\overline{x\pm y} = \overline{x} \pm \overline{y}$, $\overline{x\cdot y} = \overline x \cdot \overline y$, $x \cdot \overline x \in {\bb R}$. \:Absolutní hodnota: $\vert x \vert = \sqrt{x\cdot\overline{x}}$, tak¾e $\vert -a+b\i \vert = \sqrt{a^2+b^2}$. \\ +a+b\ii \vert = \sqrt{a^2+b^2}$. \\ Také $\vert \alpha x \vert = \vert \alpha\vert \cdot \vert x \vert$. \:Dìlení: $x/y = (x\cdot \overline{y}) / (y \cdot \overline{y})$. @@ -120,16 +184,16 @@ Tak \s{Gau{\scharfs}ova rovina a goniometrický tvar} \itemize\ibull -\:Komplexním èíslùm pøiøadíme body v~${\bb R}^2$: $a+b\i \leftrightarrow (a,b)$. +\:Komplexním èíslùm pøiøadíme body v~${\bb R}^2$: $a+b\ii \leftrightarrow (a,b)$. \:$\vert x\vert$ je vzdálenost od~bodu $(0,0)$. \:$\vert x\vert = 1$ pro èísla le¾ící na~jednotkové kru¾nici ({\I komplexní jednotky}). \\ -Pak platí $x=\cos\varphi + \i\sin\varphi$ pro nìjaké $\varphi\in\left[ +Pak platí $x=\cos\varphi + \im\sin\varphi$ pro nìjaké $\varphi\in\left[ 0,2\pi \right)$. \:Pro libovolné $x\in{\bb C}$: $x=\vert x \vert \cdot (\cos\varphi(x) + -\i\sin\varphi(x))$. \\ +\im\sin\varphi(x))$. \\ Èíslu $\varphi(x)\in\left[ 0,2\pi \right)$ øíkáme {\I argument} èísla~$x$, nìkdy znaèíme $\mathop{\rm arg} x$. @@ -139,48 +203,44 @@ Pak plat \s{Exponenciální tvar} \itemize\ibull -\:Eulerova formule: $e^{i\varphi} = \cos\varphi + \i\sin\varphi$. +\:Eulerova formule: $e^{\im\varphi} = \cos\varphi + \im\sin\varphi$. -\:Ka¾dé $x\in{\bb C}$ lze tedy zapsat jako $\vert x\vert \cdot e^{\i\cdot -\varphi(x)}$. +\:Ka¾dé $x\in{\bb C}$ lze tedy zapsat jako $\vert x\vert \cdot e^{\ii \varphi(x)}$. -\:Násobení: $xy = \left(\vert x\vert\cdot e^{\i\cdot\varphi(x)}\right) \cdot - \left(\vert y\vert\cdot e^{\i\cdot\varphi(y)}\right) = \vert x\vert - \cdot \vert y\vert \cdot e^{\i\cdot(\varphi(x) + \varphi(y))}$. \\ +\:Násobení: $xy = \left(\vert x\vert\cdot e^{\ii\varphi(x)}\right) \cdot + \left(\vert y\vert\cdot e^{\ii\varphi(y)}\right) = \vert x\vert + \cdot \vert y\vert \cdot e^{\ii(\varphi(x) + \varphi(y))}$. \\ (absolutní hodnoty se násobí, argumenty sèítají) -\:Umocòování: $x^\alpha = \left(\vert x\vert\cdot e^{\i\cdot\varphi(x)}\right)^ - \alpha = {\vert x\vert}^\alpha\cdot e^{\i \alpha \varphi(x)}$. +\:Umocòování: $x^\alpha = \left(\vert x\vert\cdot e^{\ii\varphi(x)}\right)^ + \alpha = {\vert x\vert}^\alpha\cdot e^{\ii \alpha \varphi(x)}$. -\:Odmocòování: $\root n\of x = {\vert x\vert}^{1/n} \cdot e^{\i\cdot -\varphi(x)/n}$. \\ -Pozor -- odmocnina není jednoznaèná: $1^4=(-1)^4=\i^4=(-\i)^4=1$. +\:Odmocòování: $\root n\of x = {\vert x\vert}^{1/n} \cdot e^{\ii \varphi(x)/n}$. \\ +Pozor, odmocnina není jednoznaèná: $1^4=(-1)^4=\ii^4=(-\ii)^4=1$. \endlist \s{Odmocniny z~jednièky} -\itemize\ibull -\:Je-li nìjaké $x\in{\bb C}$ $n$-tou odmocninou z~jednièky, musí platit: -$\vert x \vert = 1$, tak¾e $x=e^{\i\varphi}$ pro nìjaké~$\varphi$. -Proto $x^n = e^{\i\varphi n} = \cos{\varphi n} + \i\sin\varphi n = 1$. -Platí tedy $\varphi n = 2k\pi$ pro nìjaké $k\in{\bb Z}$. - -\:Z~toho plyne: $\varphi = 2k\pi/n$ \\ -(pro $k=0,\ldots,n-1$ dostáváme rùzné $n$-té odmocniny). +\smallskip -\:Obecné odmocòování: $\root n \of x = {\vert x\vert}^{1/n} \cdot e^{\i\varphi - (x)/n} \cdot u$, kde $u=\root n\of 1$. +\>Je-li nìjaké $x\in{\bb C}$ $n$-tou odmocninou z~jednièky, musí platit: -\:Je-li $x$ odmocninou z 1, pak $\overline{x} = x^{-1}$ -- je toti¾ $1 = \vert -x\cdot \overline{x}\vert = x\cdot \overline{x}$. +\itemize\ibull +\:$\vert x \vert = 1$, tak¾e $x=e^{\ii\varphi}$ pro nìjaké~$\varphi$. +\:$x^n = e^{\ii\varphi n} = \cos{\varphi n} + \im\sin\varphi n = 1$, + co¾ nastane, kdykoliv $\varphi n = 2k\pi$ pro nìjaké $k\in{\bb Z}$. +\:Dostáváme $n$ rùzných $n$-tých odmocnin: \\ + $2k\pi/n$ pro $k=0,\ldots,n-1$. \endlist +\>Pro obecné~$x$ pak platí: $\root n \of x = {\vert x\vert}^{1/n} \cdot e^{\ii\varphi (x)/n} \cdot u$, kde $u=\root n\of 1$. + \s{Primitivní odmocniny} \s{Definice:} $x$ je {\I primitivní} $k$-tá odmocnina z 1 $\equiv x^k=1 \land \forall j: 0Tuto definici splòují napøíklad èísla $\omega = e^{2\pi \i / k}$ a $\overline\omega = e^{-2\pi\i/k}$. -Platí toti¾, ¾e $\omega^j = e^{2\pi\i j/k}$, co¾ je rovno~1 právì tehdy, +\>Tuto definici splòují napøíklad èísla $\omega = e^{2\pi \ii / k}$ a $\overline\omega = e^{-2\pi\ii/k}$. +Platí toti¾, ¾e $\omega^j = e^{2\pi\ii j/k}$, co¾ je rovno~1 právì tehdy, je-li $j$ násobkem~$k$ (jednotlivé mocniny èísla~$\omega$ postupnì obíhají jednotkovou kru¾nici). Analogicky pro~$\overline\omega$.