3.2 KiB
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í:
- komutativita:
\quad a \oplus b = b \oplus a, \quad a \otimes b = b \otimes a
, - asociativita:
\quad (a \oplus b) \oplus c = a \oplus (b \oplus c), \quad (a \otimes b) \otimes c = a \otimes (b \otimes c)
, - neutrální prvek:
\quad a \oplus 0 = a, \quad a \otimes 1 = a
, - opační prvek:
\quad \exists \, (-a) \in \mathbb{Z}_{p}, \quad a \oplus (-a) = 0
, - 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ů modulop
nazveme aritmetikou modulop
.