]> mj.ucw.cz Git - ads2.git/commitdiff
FFT: Prepsan uvod o polynomech a komplexni intermezzo
authorMartin Mares <mj@ucw.cz>
Mon, 2 Jan 2012 17:42:28 +0000 (18:42 +0100)
committerMartin Mares <mj@ucw.cz>
Mon, 2 Jan 2012 17:42:28 +0000 (18:42 +0100)
7-fft/7-fft.tex

index 9f7f51ce7282830c66a5b94e3b3f535b2525ea12..c9ee32f00bd7dbf7293629dae6864c6b839d9761 100644 (file)
 \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: 0<j<k \Rightarrow x^j \neq 1$.
 
-\>Tuto 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$.