FAV-ZCU/KMA DMA/Otázky ke zkoušce/05. Modulární počítání.md

51 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Modulární počítání
## Eukleidův algoritmus
Algoritmus pro nalezení největšího společného dělitele čísel $a$ a $b$. Největšího společného dělitele označíme jako $\gcd(a, b)$.
Mějme $a = 57, b = 27$. Platí, že $c = \gcd(a, b)$ dělí $a$ a rovněž $b$, dělí tedy i rozdíl $a-b = 30$. Pokud nyní najdeme $\gcd(30, 27)$, získáme i $\gcd(57, 27)$. Aplikacím tohoto postupu dostaneme postupně $\gcd(30, 27) = \gcd(3, 27) = 3$, tedy i $\gcd(57, 27) = 3$.
## Modulární aritmetika
Ekvivalence $\sim$ na množině $X$ je relace na $X$, která je reflexivní, symetrická a tranzitivní.
Ekvivalence, která zachovává operace definované na množině, se nazývá **kongruence**. Jedna z takových kongruencí je například kongruence modulo $p$.
Pro $a \in \mathbb{Z}_{n}$ rozumíme opačným prvkem prvek $x \in \mathbb{Z}_{n}$ takový, že řeší rovnici $a \cdot x \equiv 1 \quad (\text{mod } n)$. Značíme jej $-a$.
## Kongruence modulo $p$
Motivace: při počítání hodin je pro nás obvykle 13 hodin to stejné, jako 1 hodina.
**Definice**: Mějme $p \geq 1$ a celá čísla $a, b \in \mathbb{Z}$. Relaci $\equiv (\text{mod }p)$ na množině $\mathbb{Z}$ nazveme **kongruencí modulo** $p$, kterou značíme $a \equiv b \space (\text{mod }5)$, jestliže $n$ dělí $b - a$.
- předpis: $a \equiv b \space (\text{mod }p) \iff (b - a) \text{ je dělitelné } p$
**Příklad**: Z hodin víme, že $21 \equiv 9 \space (\text{mod }12)$. Zkouška podle definice: $921 = 12$, což je dělitelné dvanácti. Jiný příklad: $(-2) \equiv 13 \space (\text{mod }5)$, protože $13 - (-2) = 15$, což je dělitelné pěti.
### Zbytkové třídy
Kongruence modulo $p$ je ekvivalence, její třídy ekvivalence nazýváme **zbytkové třídy** a označujeme $\mathbb{Z}_{p}(i), i = 0, \dots, p-1$.
Každá z $p$ tříd této ekvivalence je **tvořena všemi čísly**, která **při dělení číslem** $p$ dávají **tentýž zbytek**.
**Operace**: Na množině $\mathbb{Z}_{p}$ definujeme operace $\oplus$ a $\otimes$ předpisem:
- $\mathbb{Z}_{p}(i) \oplus \mathbb{Z}_{p}(j) = \mathbb{Z}_{p}(i+j)$
- $\mathbb{Z}_{p}(i) \otimes \mathbb{Z}_{p}(j) = \mathbb{Z}_{p}(ij)$
Nechť $p \geq 1$ je přirozené číslo. Potom pro každé prvky $a, b, c \in \mathbb{Z}_{p}$ platí:
1) komutativita: $\quad a \oplus b = b \oplus a, \quad a \otimes b = b \otimes a$,
2) asociativita: $\quad (a \oplus b) \oplus c = a \oplus (b \oplus c), \quad (a \otimes b) \otimes c = a \otimes (b \otimes c)$,
3) neutrální prvek: $\quad a \oplus 0 = a, \quad a \otimes 1 = a$,
4) opační prvek: $\quad \exists \, (-a) \in \mathbb{Z}_{p}, \quad a \oplus (-a) = 0$,
5) distributivita: $\quad a \otimes (b \oplus c) = (a \otimes b) \oplus (a \otimes c)$,
kde $0 = \mathbb{Z}_{p}(0)$ a $1 = \mathbb{Z}_{p}(1)$.
## Aritmetika modulo $p$
**Definice**
- Nechť $p \geq 1$ je přirozené číslo. Pro každou zbytkovou třídu $\mathbb{Z}_{p}$ vybereme jednoho **reprezentanta**, tedy prvek v intervalu $\langle 0, p-1 \rangle$.
- Množinu všech takových reprezentantů nazveme **úplnou soustavou zbytků modulo** $p$.
- Operace $\oplus$ a $\otimes$ použité na úplné soustavě zbytků modulo $p$ nazveme **aritmetikou modulo** $p$.