티스토리 뷰
정수 $n$의 나머지 동네를 공부한다. 시계를 볼 줄 안다면, 12에 관한 나머지 동네를 이해한거다.
$a \equiv b \;(mod \; n)$ 일 때, $a,b$를 $n$에 관해서 합동(congruent)이라고 한다.
기본적인 성질들을 정리하자.
- $a \equiv a \; (mod \;n)$
- $a \equiv b \Leftrightarrow b \equiv a$
- If $ a \equiv b (mod \; n)$ and $b \equiv c (mod \; n)$, then $a \equiv c (mod \; n)$.
- If $c\in \mathbb{Z}$ and $ a \equiv b (mod \; n)$, then $ ac \equiv bc (mod \; n)$.
- $a+c \equiv b+d \; (mod \; n)$
- $a-c \equiv b-d \; (mod \; n)$
- $ ac \equiv bd \; (mod \; n)$
$f$가 정수 계수 다항식이면 위의 성질들에 의해 $$ a \equiv b \;(mod \; n) \Rightarrow f(a) \equiv f(b) \; (mod \; n) $$ 이 성립한다.
0이 모든 수의 배수임을 기억하자. $f$가 정수 계수 다항식일 때, $f(x)=0$이 정수해를 가지면 $$ \forall n \in \mathbb{Z} , \; f(x) \equiv 0 \; (mod \; n) $$ 이 정수해를 가지게 된다.
위 명제의 대우를 생각하자. 어떤 $n$에 대해 $f(x) \equiv 0 \; (mod \; n)$이 해가 없음을 보이면, 방정식 $ f(x)=0 $은 정수해를 가질 수 없다!
더 일반화해서 $f(x_1, x_2, \cdots, x_n)=0$ 역시 마찬가지이다.
나머지 동네를 부르는 공식적인 명칭이 등장한다.
잉여(residue)는 나머지를 일컫는다. $n$으로 나눈 나머지는 $$0,1,\cdots, n-1$$ 중의 하나일 것이다.
위를 표준으로 해서 합동이라는 측면에서 위와 동등한 $n$ 개의 정수의 집합을 완전잉여계라고 부른다. 조금 형식을 갖추어 다시 쓰면 다음과 같다.
임의의 정수 $x$를 $n$으로 나눈 나머지가 $$r_1, r_2,\cdots, r_n$$ 중의 하나와 합동이고 오직 하나와 합동일 때, $r_1, r_2,\cdots, r_n$ 를 $n$ 에 관한 완전잉여계라 한다.
예를 들어 $$ -5, -4, \cdots, 0, 1, \cdots, 6 $$ 은 12의 완전잉여계이고, $$ 30, 101, -2 $$ 는 3의 완전 잉여계가 된다.
동네와 그 위에서 정의된 연산이 잘 정의되면, 다음으로 생각할 것은 방정식이다.
초등학교 시절 사칙 연산을 배우고 나면 다음과 같은 질문을 받게 된다.
'3에 무엇을 곱하면 21이 될까?' 혹은 '2배하면 13이 되는 수를 구하라.'
생각해보면 역원(inverse)가 핵심적인 역할을 했던 것 같다.
그런데, 나머지 동네는 역원을 항상 제공하지는 않는다.
이제 역원이 있으면 소위 '나눗셈'을 할 수 있게 된다.
$a$와 $n$에 따라서 역원이 없을 수 있음을 염두에 두고 있어야 한다.
마침내 일차방정식 이야기를 할 수 있게 되었다.
The congruence(or the equation) $ax \equiv b\;(mod\;n)$ has a solution iff $$ \gcd(a,n) \;|\;b .$$'Mathematics > Number Theory' 카테고리의 다른 글
[Number Theory with Code] 5. Wilson's Theorem (0) | 2023.01.09 |
---|---|
Number Theory with Code - 3. Prime and Unique Factorization (0) | 2022.12.07 |
Number Theory with Code - 2. G.C.D and Euclid Algorithm (1) | 2022.12.02 |
Number Theory with Code - 1. Well-Ordering Principle, Division Algorithm (0) | 2022.08.30 |
- Total
- Today
- Yesterday
- max flow
- shell
- 백준
- BOJ
- 다익스트라
- JavaScript
- map
- bash script
- persistent segment tree
- Shell Programming
- lazy propagation
- RUBY
- Dijkstra
- Aho-Corasick
- nearest common ancestor
- C++ big number
- script
- javascript array
- python3
- number theory
- stack
- Vim
- fenwick tree
- 정수론
- math font
- 세그먼트 트리
- segment tree
- Reference
- bash
- dynamic programming
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |