50 lines
3.2 KiB
Markdown
50 lines
3.2 KiB
Markdown
# 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: $9−21 = −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$.
|
||
|