From 98482dba7e4c223c044dd429bd911aaeecc18583 Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Sat, 12 Apr 2025 16:23:43 +0200 Subject: [PATCH] =?UTF-8?q?Teorie=20=C4=8D=C3=ADsel:=20P=C5=99ezna=C4=8Den?= =?UTF-8?q?=C3=AD=20v=20CRT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 07-teorie-cisel/teorie-cisel.tex | 56 ++++++++++++++++---------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/07-teorie-cisel/teorie-cisel.tex b/07-teorie-cisel/teorie-cisel.tex index 1d8bb17..32f55e2 100644 --- a/07-teorie-cisel/teorie-cisel.tex +++ b/07-teorie-cisel/teorie-cisel.tex @@ -310,17 +310,17 @@ $x^{\varphi(n)} \equiv x^{jk} \equiv (x^j)^k \equiv 1^k \equiv 1$. \subsection{Čínská věta o~zbytcích} -Nyní se zamysleme nad tím, jak najít číslo~$x$, které dává modulo~$N_1$ -zadaný zbytek~$a_1$ a modulo~$N_2$ zbytek~$a_2$. Řešíme tedy soustavu kongruencí: +Nyní se zamysleme nad tím, jak najít číslo~$x$, které dává modulo~$n_1$ +zadaný zbytek~$a_1$ a modulo~$n_2$ zbytek~$a_2$. Řešíme tedy soustavu kongruencí: $$\eqalign{ - x&\equiv a_1 \pmod{N_1} \cr - x&\equiv a_2 \pmod{N_2} \cr + x&\equiv a_1 \pmod{n_1} \cr + x&\equiv a_2 \pmod{n_2} \cr }$$ Především si můžeme všimnout, že najdeme-li nějaké řešení, přičtením -libovolného násobku čísla $N=N_1N_2$ získáme další řešení. Stačí se tedy -omezit na $x\in\Z_N$. +libovolného násobku čísla $n=n_1n_2$ získáme další řešení. Stačí se tedy +omezit na $x\in\Zn$. -Také si všimneme, že jsou-li $N_1$ a~$N_2$ soudělná, nemusí řešení vůbec +Také si všimneme, že jsou-li $n_1$ a~$n_2$ soudělná, nemusí řešení vůbec existovat -- například v~soustavě $$\eqalign{ x&\equiv 2 \pmod 6 \cr @@ -330,25 +330,25 @@ první kongruence vynucuje, aby $x$~bylo sudé, zatímco druhá, aby bylo liché Za chvíli uvidíme, že soudělnost je jediná překážka. \obs{ -Nechť $N_1\perp N_2$. -Uvažme funkci $f: \Z_N \rightarrow \Z_{N_1} \times \Z_{N_2}$ +Nechť $n_1\perp n_2$. +Uvažme funkci $f: \Zn \rightarrow \Z_{n_1} \times \Z_{n_2}$ definovanou takto: $$ - f(x) = (x\bmod N_1, x\bmod N_2). + f(x) = (x\bmod n_1, x\bmod n_2). $$ Zamysleme se nad jejími vlastnostmi: \list{n.} \:Nejprve si všimneme, že $f$ je prostá. -Pokud $f(x)=f(y)$, pak $x \bmod N_1 = y \bmod N_1$, tedy $N_1 \divs (x-y)$. -Podobně dostaneme $N_2 \divs (x-y)$. Jelikož $N_1\perp N_2$, plyne z~toho -také $N \divs (x-y)$. To je ovšem pro $x,y\in\Z_N$ možné jen tehdy, když $x=y$. +Pokud $f(x)=f(y)$, pak $x \bmod n_1 = y \bmod n_1$, tedy $n_1 \divs (x-y)$. +Podobně dostaneme $n_2 \divs (x-y)$. Jelikož $n_1\perp n_2$, plyne z~toho +také $n \divs (x-y)$. To je ovšem pro $x,y\in\Zn$ možné jen tehdy, když $x=y$. \:Každá prostá funkce mezi dvěma stejně velkými množinami musí být bijekce. To znamená, že naše soustava kongruencí má pro každé $a_1$ a~$a_2$ právě jedno řešení $f\inv(a_1,a_2)$. -\:Naše funkce~$f$ je dokonce izomorfismus okruhů $Z_N$ a $Z_{N_1} \times \Z_{N_2}$. +\:Naše funkce~$f$ je dokonce izomorfismus okruhů $Z_n$ a $Z_{n_1} \times \Z_{n_2}$. (Součinem okruhů $R_1$ a~$R_2$ se myslí okruh, jehož nosná množina je kartézský součin nosných množin $R_1\times R_2$ a operace se aplikují po složkách.) Platí totiž $f(0)=(0,0)$, $f(1)=(1,1)$, $f(x+y) = f(x) + f(y)$ a $f(xy) = f(x)\cdot f(y)$. @@ -361,17 +361,17 @@ se jí říká proto, že byla známa už ve starověké Číně. Zkracuje se ja Chinese Remainder Theorem.} Ukážeme si její dvě verze: \theoremn{Čínská o~zbytcích neboli CRT}{ -Nechť $N_1,\ldots,N_k$ jsou navzájem nesoudělná kladná čísla, -$N=N_1\cdot\ldots\cdot N_k$ a $a_i\in\Z_{N_i}$ pro $i=1,\ldots,k$. -Pak existuje právě jedno $x\in\Z_N$ takové, že $x\bmod N_i = a_i$ pro všechna~$i$. +Nechť $n_1,\ldots,n_k$ jsou navzájem nesoudělná kladná čísla, +$n=n_1\cdot\ldots\cdot n_k$ a $a_i\in\Z_{n_i}$ pro $i=1,\ldots,k$. +Pak existuje právě jedno $x\in\Zn$ takové, že $x\bmod n_i = a_i$ pro všechna~$i$. } \theoremn{Algebraická formulace CRT}{ -Nechť $N_1,\ldots,N_k$ jsou navzájem nesoudělná kladná čísla a -$N=N_1\cdot\ldots\cdot N_k$. -Pak funkce $f: \Z_N \rightarrow Z_{N_1} \times \ldots \times \Z_{N_k}$ -definovaná jako $f(x) = (x\bmod N_1, \ldots, x\bmod N_k)$ -je izomorfismus okruhů $Z_N$ a $Z_{N_1} \times \ldots \times \Z_{N_k}$. +Nechť $n_1,\ldots,n_k$ jsou navzájem nesoudělná kladná čísla a +$n=n_1\cdot\ldots\cdot n_k$. +Pak funkce $f: \Zn \rightarrow Z_{n_1} \times \ldots \times \Z_{n_k}$ +definovaná jako $f(x) = (x\bmod n_1, \ldots, x\bmod n_k)$ +je izomorfismus okruhů $Z_n$ a $Z_{n_1} \times \ldots \times \Z_{n_k}$. } \proof @@ -392,16 +392,16 @@ Větu opět stačí dokázat pro $k=2$ a pak použít indukci. Inspirujeme se Lagrangeovou interpolací z~oddílu \secref{shamir}. Pokud bychom znali čísla $u_1$ a~$u_2$ taková, že $f(u_1) = (1,0)$ a $f(u_2) = (0,1)$, řešením je jejich lineární kombinace -$x = (a_1u_1 + a_2u_2) \bmod N$. +$x = (a_1u_1 + a_2u_2) \bmod n$. Jelikož $f$ je homomorfismus, je lineární. Proto platí: $f(x) = a_1f(u_1) + a_2f(u_2) = a_1(1,0) + a_2(0,1) = (a_1,a_2)$. Zbývá si pořídit~$u_1$ ($u_2$~najdeme obdobně) -Nejprve si všimneme, že $f(N_2) = (v_1,0)$ pro nějaké~$v_1$. -Pokud je $v_1=1$, položíme $u_1=N_2$ a jsme hotovi. -Jinak najdeme multiplikativní inverzi~$w_1$ čísla $v_1$ modulo~$N_1$ -a položíme $u_1=w_1N_2$. Bude platit $f(u_1) = f(w_1N_2) = w_1f(N_2) -= w_1(v_1,0) = (w_1v_1\bmod N_1,0) = (1,0)$. +Nejprve si všimneme, že $f(n_2) = (v_1,0)$ pro nějaké~$v_1$. +Pokud je $v_1=1$, položíme $u_1=n_2$ a jsme hotovi. +Jinak najdeme multiplikativní inverzi~$w_1$ čísla $v_1$ modulo~$n_1$ +a položíme $u_1=w_1n_2$. Bude platit $f(u_1) = f(w_1n_2) = w_1f(n_2) += w_1(v_1,0) = (w_1v_1\bmod n_1,0) = (1,0)$. \qed \subsection{Eulerova funkce} -- GitLab