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

3.2 KiB
Raw Blame History

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.