B4B01DMA Webové stránky předmětu
Nechť $a,b\in \mathbb{Z}$. Řekneme, že $a$ dělí $b$, značeno $a \mid b$, jestliže existuje $k \in \mathbb{Z}$ takové, že $b = k \cdot a$. V takovém případě říkáme, že $a$ je dělitel (faktor) čísla $b$ a že $b$ je násobek čísla $a$. Pokud toto není pravda, značíme $a \nmid b$.
Tato relace je:
Množina $\mathbb{Z}$ je uzavřená na operace sčítání, odčítání i násobení.
Číslo $d \in \mathbb{N}$ je společný dělitel (common divisor) čísel $a$, $b$, pokud $d \mid a$ a $d \mid b$.
Největší společný dělitel (greatest common divisor) čísel $a$ a $b$ označujeme $\text{gcd}(a,b)$ a definujeme jako největší číslo, které dělí obě čísla:
$$ n = \text{gcd}(a,b) \iff n \mid a \land n \mid b \land \forall d \in \mathbb{Z}: (d \mid a \land d \mid b \Rightarrow d \leq n) $$
Platí:
$$ \text{lcm}(a, b) \cdot \text{gcd}(a, b) = |a| \cdot |b| $$
– co je kongruence, jak se tam počítá, co je inverzní číslo a kdy existuje.
Modulo znamená „zbytek po dělení“. Zapisujeme jako $a \bmod n$ a označuje zbytek po celočíselném dělení $a$ číslem $n$.
Příklad: $17 \bmod 5 = 2$, protože $17 = 3 \cdot 5 + 2$.
Čísla $a,b\in \mathbb{Z}$ jsou kongruentní modulo $n$, pokud mají stejný zbytek po dělení $n$.
Formálně: $$ a \equiv b \pmod{n} \iff n \mid (a - b) $$ což znamená, že existuje $k \in \mathbb{Z}$ takové, že $a = b + kn$.
Ekvivalentně také platí: $$ a \bmod n = b \bmod n $$
Kongruence vytváří ekvivalenční relaci na množině $\mathbb{Z}$ a rozděluje ji do tříd zbytků.
Každé číslo $a$ patří do třídy zbytků $[a]_n$, která obsahuje všechna čísla kongruentní s $a$ modulo $n$.
Nechť $n \in \mathbb{N}$, a platí $a \equiv u \pmod{n}$ a $b \equiv v \pmod{n}$, pak:
Tyto operace v modulo aritmetice definují strukturu komutativního okruhu $\mathbb{Z}_n$ (množina všech zbytkových tříd modulo $n$).
Alternativní zápis (například v kryptografii nebo při implementaci):
Nechť $a \in \mathbb{Z}$ a $n \in \mathbb{N}$. Číslo $x \in \mathbb{Z}$ je inverzní k $a$ modulo $n$, pokud: $$ a \cdot x \equiv 1 \pmod{n} $$
Takové $x$ převádí $a$ na jedničku v $\mathbb{Z}_n$, čímž umožňuje dělení (násobení inverzní hodnotou).
Podmínka existence: Inverzní číslo existuje právě tehdy, když $\text{gcd}(a,n) = 1$, tj. $a$ a $n$ jsou nesoudělná čísla. Pokud existuje, je v $\mathbb{Z}_n$ jednoznačné.
Výpočet:
Prvočísla hrají v počítání modulo důležitou roli.
Definice: Přirozené číslo $p > 1$ je prvočíslo, pokud jeho jedinými děliteli jsou $1$ a $p$.
V $\mathbb{Z}_p$ pro prvočíslo $p$ má každý nenulový prvek inverzi – $\mathbb{Z}_p$ je tedy pole.
Čísla, která nejsou prvočísla a mají více než dva různé dělitele, nazýváme složená čísla.
– Která gcd poskytne jako lineární kombinaci čísel $a,b$. K čemu se dá použít: hledání inverzního čísla ve světě modulo, řešení diofantických rovnic.
Bezoutova identita říká, že největší společný dělitel dvou čísel $a, b \in \mathbb{Z}$ lze zapsat jako jejich lineární kombinaci s celočíselnými koeficienty:
$$ \gcd(a,b) = \alpha a + \beta b \quad \text{pro nějaká } \alpha, \beta \in \mathbb{Z} $$
Tato identita je základem pro řadu dalších výsledků v teorii čísel, zejména při řešení diofantických rovnic a při hledání inverzního čísla modulo $n$.
Příklad: $$ \gcd(12, 42) = 6 = (-3) \cdot 12 + 1 \cdot 42 $$
Jedno z možných řešení pro $(\alpha,\beta)=(-3,1)$.
Chceme nalézt inverzní prvek $a^{-1} \in \mathbb{Z}_n$, tedy takové $x$, že $a \cdot x \equiv 1 \pmod{n}$.
Postup:
Neboli:
Pojem lineární diofantická rovnice označujme libovolnou rovnici typu $ax + by = c$ s neznámými $x,y\in \mathbb{Z}$, kde $a,b,c \in \mathbb{Z}$ jsou konstanty.
Definice: Diofantická rovnice je rovnice, jejímž cílem je najít celočíselná řešení. Např.: $$ ax + by = c $$
Řešení existuje tehdy a jen tehdy, když $c$ je dělitelná $\gcd(a,b)$. Bezoutova identita pak dává způsob, jak jedno řešení najít.
Řešení diofantických rovnic:
Nechť $a,b,c\in \mathbb{Z}$. Lineární diofantická rovnice $ax + by = c$ má alespoň jedno řešení právě tehdy, když c je násobkem $gcd(a,b)$ (téměř přímo vychází z Bezoutovy identity).
Jeli daná diofantická rovnice $ax +by = c$, pak definujeme její přidruženou homogenní rovnici jako $ax + by = 0$.
Věta o řešení homogeních rovnic:
Uvažujme rovnici $ax+by=0$ pro $a,b \in \mathbb{Z}$. Množina všech jejích celočíslených řešení je $$\left\{ \left(k \frac{b}{\gcd(a, b)}, - k \frac{a}{\gcd(a, b)}\right) : k \in \mathbb{Z} \right\} $$
Algoritmus pro nalezení všech celočíselných řešení rovnice $ax+by=c$.
Pro řešení difonatických rovnic musíme najít 2 části řešení, homogenní a partikulární část. Partikulární část řešení najde jedno specifické řešení diofantické rovnice, ale abychom našli všechny řešení tak musíme vyřešit homogenní část ta nám umožní najít všechny řešení.
Malá Fermatova věta se často používá při hledání inverzních prvků modulo prvočíslo.
$$ a^p \equiv a \pmod{p} $$
$$ a^{p-1} \equiv 1 \pmod{p} $$
Z toho plyne, že inverzní prvek lze vypočítat jako: $$ a^{-1} \equiv a^{p-2} \pmod{p} $$
– jak funguje, teoreticky (přechod ke zbytku po dělení) i prakticky, jak se pozná kdy končí. Jak funguje jeho rozšířená verze, která umí poskytnout Bezoutovu identitu (prakticky).
Ve své základní verzi slouží k hledání GCD (Největšího společného dělitele).
Postupně počítáme zbytky po dělení, přičemž v každém kroku dělíme předchozí dvě čísla. Vždy odečteme co největší násobek menšího čísla od většího, čímž získáme nové, menší číslo. Algoritmus končí ve chvíli, kdy je zbytek nulový – tehdy je poslední nenulové číslo právě $\gcd(a,b)$. Níže je uveden příklad pro čísla $408$ a $108$:
Díky postupnému zmenšování čísel má algoritmus logaritmickou časovou složitost, což z něj dělá velmi efektivní metodu i pro velká čísla.
Rozšířený Euklidův algoritmus najde nejen GCD (největší společný dělitel), ale zároveň i lineární kombinaci počátečních čísel ze kterých se GCD skládá, což je kritické pro použití Bezoutovy identity a řešení diofantických rovnic. Pro shrnutí: Nechť $a,b \in \mathbb{N}$, poté Euklidův algoritmus dokáže najít $A,B \in \mathbb{Z}$, tak že $a\cdot A + b\cdot B = gcd(a,b)$.
Po jeho použití dostaneme rovnou Bezoutovu identitu, zkonstruujeme ho následující tabulkou, kde vedle původních čísel dosadíme jednotkovou matici (zde hledáme $\text{gcd}(408, 108)$ a Bezoutovu identitu $12 = A\cdot408 + B\cdot108$), princip je stejný jako u Euklidova algoritmu:
Každý řádek se skládá z $r_i$ | $x_i$ | $y_i$, kde $r_i = x_i\cdot a + y_i\cdot b$. Pro výpočet řádku $i+1$ hledáme $a = \textbf{floor}(r_{i-1} / r_i)$ poté nový řádek je $r_{i+1}$ | $x_i\cdot (-a) + x_{i-1}$ | $y_i\cdot (-a) + y_{i-1}$
Každý řádek obsahuje tři hodnoty $r_i \;|\; x_i \;|\; y_i$, kde:
Rozšířený Euklidův algoritmus vždy vrací koeficienty $\alpha, \beta \in \mathbb{Z}$, které splňují Bezoutovu identitu pro zadaná $a,b$.
– definice a ilustrace na jednoduchých příkladech. Čtyři základní vlastnosti (reflexivita, symetrie, antisymetrie, tranzitivita): jaký mají význam, umět ilustrovat na grafu relace, popřípadě (alespoň intuitivně) rozpoznat u nějaké relace ze života.
Nechť $A, B$ jsou množiny. Binární relace $R$ z $A$ do $B$ je libovolná podmnožina kartézského součinu: $$ R \subseteq A \times B $$
Jestliže $(a, b) \in R$, zapisujeme $a \mathcal{R} b$ a říkáme, že prvek $a$ je v relaci s $b$ vzhledem k relaci $\mathcal{R}$. Pokud $(a, b) \notin R$, pak $a$ není v relaci s $b$.
Pokud je relace na jedné množině ($A = B$), říkáme, že je na množině $A$.
Relace $\mathcal{R}$ na množině $A$ může mít tyto čtyři základní vlastnosti:
Relace $\mathcal{R}$ na množině $A$ je ekvivalence, pokud splňuje: reflexivitu, symetrii, tranzitivitu.
Taková relace přirozeně rozdělí množinu $A$ na třídy ekvivalence – tedy podmnožiny, kde jsou prvky navzájem v relaci.
Definice třídy ekvivalence: Pro $a \in A$ definujeme: $$ [a]_{\mathcal{R}} = \{ b \in A \mid a \mathcal{R} b \} $$
Každý prvek $a$ náleží právě jedné třídě, množina všech tříd tvoří rozklad $A$.
Relace $\mathcal{R}$ na množině $A$ je částečné uspořádání, pokud splňuje: reflexivitu, antisymetrii, tranzitivitu.
Takovou relaci značíme často symbolem $\preceq$ nebo $\leq$ (např. „dělitelnost“). Dvojice $(A, \mathcal{R})$ se pak nazývá částečně uspořádaná množina.
Hasseův diagram je grafické znázornění částečně uspořádané množiny.
Další pojmy v uspořádání:
Linearizace částečného uspořádání: Z Hasseova diagramu vytvoříme posloupnost prvků (např. zleva doprava, po úrovních), která zachovává uspořádání.
– je třeba rozumět principu, vnímat různé verze (slabá, silná), umět případně ilustrovat na nějakém jednoduchém důkazu.
Nechť $n_0 \in \mathbb{Z}$, ať $V(n)$ je výrok (vlastnost) pro celá čísla $n \geq n_0$. Předpokládejme, že platí:
Pak $V(n)$ platí pro všechna $n \geq n_0$.
Dokážeme, že $2^n \ge n+1$ pro každé $n \in \mathbb{N}_0$.
$$ 2^{n+1} = 2 \cdot 2^n \ge 2(n+1) \ge (n+1)+1 $$ protože $n+1 \ge 1$
Vysvětlení: Na rozdíl od slabé indukce zde při kroku $n+1$ předpokládáme, že tvrzení platí pro všechna menší čísla $n_0, n_0\!+\!1,\dots,n$. Je to, jako bys stavěl schody a u každého nového stupínku směl využít celou „platformu“ před sebou, nejen poslední schod.
Formálně: Pokud platí
pak $V(n)$ platí pro všechna $n \geq n_0$.
Dokážeme, že každé celé číslo $n \ge 2$ lze zapsat jako součin prvočísel.
Krátký slovní popis: V kroku $n+1$ můžeme předpokládat platnost tvrzení pro každé $k$ s $2\le k\le n$. Je-li $n+1$ složené, rozdělíme ho na dva menší činitele $a,b$ (to lze díky tomu že víme, že čísla která nejsou prvočíslo jsou dělitelná ne jen sama sebou a 1) a pro oba už známe rozklad (protože čísla jsou menší než $n$ a pro ty už jsme si to dokázali) → jejich součinem dostaneme rozklad i pro $n+1$.
– základní vlastnosti homogenních lineárních rekurentních rovnic (jejich množina řešení tvoří vektorový prostor dimenze rovné řádu rovnice, takže řešení lze generovat pomocí vhodné báze), jak najít vhodnou bázi (pomocí kořenů charakteristického polynomu).
Definice:
Rekurentní (nebo také rekurzivní) vztah pro posloupnost $\{a_k\}$ je libovolná rovnice typu: $$ F(a_n, a_{n-1}, a_{n-2}, \dots, a_0) = 0 $$ kde $F$ je nějaká funkce.
Například problém Hanojských věží lze vyjádřit vztahem: $$ H_n = 2 \cdot H_{n-1} + 1 \quad\text{tedy}\quad H_n - 2H_{n-1} - 1 = 0 $$
Lineární rekurentní rovnice (nebo také lineární rekurzivní rovnice) řádu $k$ je rovnice tvaru: $$ a_{n+k} + c_{k-1}(n)a_{n+k-1} + \dots + c_1(n)a_{n+1} + c_0(n)a_n = b_n \quad \text{pro všechna } n \geq n_0 $$
Rovnice se nazývá homogenní, pokud platí $b_n = 0$ pro všechna $n \geq n_0$.
Nechť je dána lineární rekurentní rovnice: $$ a_{n+k} + c_{k-1}(n)a_{n+k-1} + \dots + c_1(n)a_{n+1} + c_0(n)a_n = b_n $$
Řešením rozumíme posloupnost $\{a_n\}_{n=n_0}^\infty$, která po dosazení splňuje rovnici pro všechna $n \geq n_0$.
Definice: $$ a_{n+k} + c_{k-1}a_{n+k-1} + \dots + c_0a_n = b_n $$
Pokud je $b_n = 0$ pro všechna $n$, rovnice se nazývá homogenní a můžeme k ní přiřadit charakteristický polynom: $$ p(\lambda) = \lambda^k + c_{k-1}\lambda^{k-1} + \dots + c_1\lambda + c_0 $$
Řešením rovnice $p(\lambda) = 0$ (tzv. charakteristická rovnice) jsou tzv. charakteristická čísla (nebo také kořeny či „vlastní čísla“).
$$ a_n = \alpha_1\lambda_1^n+\dots+\alpha_m\lambda_m^n $$
Pomocí těchto tvarů sestavíme obecné řešení homogenní rovnice – každý kořen přispívá jedním nebo více lineárně nezávislými členy.
Homogenní rovnice druhého řádu $$ a_{n+2}-3a_{n+1}+2a_n=0 $$ má charakteristický polynom $p(\lambda)=\lambda^2-3\lambda+2$ a kořeny $\lambda_1=1,\;\lambda_2=2$.
Rovnice $$ a_{n+2}-2a_{n+1}+a_n=0 $$ má charakteristický polynom $p(\lambda)=(\lambda-1)^2$, kořen $\lambda=1$ s násobností 2.