체(대수학)
體
field
1. 정의
체는 대수적 구조의 하나로, 간단히 말해 '''덧셈, 뺄셈, 곱셈, 나눗셈의 사칙연산을 집합 안에서 소화할 수 있는 집합'''을 의미한다.[1] 연산을 통해 나온 값 또한 해당 집합의 원소여야 한다는 뜻.[2] 가장 간단한 체의 예시로는 유리수의 집합 $$ \mathbb Q$$, 실수의 집합 $$\mathbb R$$, 복소수의 집합 $$\mathbb C $$가 있다. 그래서 이들이 체라는 것을 강조하고 싶을 때에는 각각 유리수체, 실수체, 복소수체라고 부르기도 한다.
그러나 정수의 집합 $$\mathbb Z $$는 체가 되지 않는데, 정수 사이의 덧셈, 뺄셈, 곱셈까지는 언제나 원활하게 수행할 수 있지만 아무런 두 정수나 뽑아서 나눗셈을 하였을 때에는 나누어 떨어지지 않는 경우도 있기 때문이다. 물론 자연수의 집합 $$\mathbb N$$의 경우에도 나눗셈은커녕 뺄셈조차도 불가능한 경우가 존재하므로 체가 되지 않는다.
어떤 집합 $$ F $$가 체가 되기 위해서는 다음의 10가지 조건을 만족시켜야 한다.
- 집합 $$ F $$ 위에 덧셈과 곱셈이 정의되어 있다.
- (A1) 덧셈에 대해 교환법칙이 성립한다.
- (A2) 덧셈에 대해 결합법칙이 성립한다.
- (A3) 덧셈의 항등원 $$ 0 $$이 존재한다.
- (A4) $$ F $$의 모든 원소 $$ a $$에 대해 역원 $$ -a $$가 존재한다. 따라서 뺄셈도 항상 가능하다.
- (M1) 곱셈에 대해 교환법칙이 성립한다.[3]
- (M2) 곱셈에 대해 결합법칙이 성립한다. 따라서 곱셈만 있는 식에서도 괄호를 쓰지 않아도 된다.
- (M3) 곱셈의 항등원 $$ 1 $$이 존재한다.
- (M4) $$ F $$의 $$ 0 $$이 아닌 모든 원소 $$ a $$에 대해 역원 $$ a^{-1} $$가 존재한다. 따라서 0 이외의 수로는 항상 나누기를 할 수 있다. 즉 체에서는 나머지가 존재해서는 안 된다.
- (D) 덧셈과 곱셈에 대해 분배법칙이 성립한다.
역대 수학 천재들의 목록을 나열해 본다면 절대로 빼놓을 수 없는 수학자가 바로 갈루아인데 이분이 바로 이 체에 관한 이론을 연구하여 아벨이 기존에 증명하였던 것과는 다른 방식으로 5차 이상의 다항식에 대해서는 근의 공식이 존재하지 않는다는 것을 증명하였다.[4] 갈루아는 체와 군 사이에 존재하는 미묘하고도 심오한 관계를 사용하여 증명을 할 수 있었다. 이에 관한 자세한 설명은 갈루아 이론을 참조하자.
2. 예시
위에서 이미 언급한 유리수체, 실수체, 복소수체 이외에도 체가 되는 집합을 다양하게 만들어 낼 수 있다. 본 항목에서는 체의 예시 중 중요한 것들 몇 가지에 대해 간단히 설명한다.
2.1. 체 확장(Field extension)
대한민국의 중, 고등학교에서 6년 동안 수학 공부를 해온 사람이라면 아마도 $$a+b\sqrt 2$$ (단, $$a, b$$는 유리수) 꼴의 수라는 표현에 매우 익숙할 것이다. 아마 이러한 표현을 보는 순간, 무리수 상등이라는 단어도 같이 떠오를 것이다. 정의에 따라 이런 꼴의 수만 모아놓아 만든 집합도 체가 된다. 고등학생은 이미 $$ a+b\sqrt 2$$ 꼴의 수를 서로 더하고, 빼고, 곱하여도 언제나 다시 똑같은 꼴의 숫자가 되지, 갑자기 $$ a+b\sqrt 3$$ 꼴의 수가 튀어나올 수는 없다는 것을 이미 잘 알고 있다. 게다가 나눗셈을 하는 경우에도 아무런 문제가 없는데, 다음과 같이 역수를 취하여도 $$ (a+b\sqrt 2)^{-1}=(a-b\sqrt 2)/(a^2-2b^2) $$ 여전히 $$a+b\sqrt 2$$ 꼴의 수가 되기 때문이다. 따라서 이러한 꼴의 수들을 모두 모아 놓은 집합은 체가 된다.
이제 이 집합에 이름을 붙여주고자 한다면 어떻게 하는 것이 좋을까? $$a+b\sqrt 2$$ (단, $$a,b$$는 유리수) 꼴의 수들의 집합은 간단하게 생각해보면 유리수의 집합 $$\mathbb Q$$에 새로운 원소 $$\sqrt 2$$를 추가한 것과 같다. 물론, $$\sqrt 2$$라는 원소 단 하나만을 추가해주었다면, 그건 체가 될 수 없다. 왜냐하면 체는 덧셈과 곱셈에 대해 닫혀 있어야 하므로, $$\sqrt 2$$라는 원소를 체에 추가해 주려면, 동시에 $$b\sqrt 2$$ (단, $$b$$는 유리수) 꼴의 수도 모두 추가해주어야 할 것이고, 따라서 $$a+b\sqrt 2$$ (단, $$a,b$$는 모두 유리수) 꼴의 수를 모두 추가해야만 한다. 그러므로 우리가 설명하고자 하는 집합은 $$\mathbb Q$$라는 체가 $$\sqrt 2$$라는 원소를 포함하도록 확장하려고 할 때 자연스럽게 얻어지는 체라는 것을 알 수 있고, 이를 간단하게 $$\mathbb Q(\sqrt 2)$$라고 표기할 수 있다.
이와 같이 새롭게 얻어진 체 $$\mathbb Q(\sqrt 2)$$를 $$\mathbb Q$$의 '''체 확장'''이라고 부른다. 이것을 알고 나면, 비슷하게 $$\mathbb Q(\sqrt 3)$$이라는 체도 쉽게 생각할 수 있을 것이다. 더 나아가서, 원소를 여러 개 덧붙여 $$\mathbb Q(\sqrt 2,\sqrt 3)$$이라는 체도 생각해볼 수 있다. 이는 $$a+b\sqrt 2+c\sqrt 3+d\sqrt 6$$ (단, $$a,b,c,d$$는 모두 유리수) 꼴의 수들을 모두 모은 집합이 된다. 물론, $$\mathbb R(i)$$는 $$\mathbb C$$와 같다는 것도 어렵지 않게 이해할 수 있다.
2.2. 분해체(Splitting field)
이제 조금 다른 방향에서 $$\mathbb Q(\sqrt 2)$$를 생각하자. 이때의 키워드는 바로 다항식의 인수분해이다. $$x^2-2$$라는 다항식을 생각해보자. 이 다항식의 해는 유리수가 아니므로, 이 다항식을 '''유리계수 일차다항식''' 두 개의 곱으로 인수분해하는 것은 절대로 불가능할 것이다. 이처럼 어떤 체에서 더 이상 인수분해할 수 없는 다항식이 있는 경우라면, 언제나 그 체를 확장하여 그 다항식의 해를 가지는 새로운 체를 만들어 낼 수 있다! 그런 체를 만드는 방법은 무엇일까? 바로 다항식의 나머지를 취하는 것이다.
우선, 모든 유리계수 다항식을 모아놓은 집합은 $$\mathbb Q[x]$$라고 표기한다. 그리고 인수분해하고자 하는 다항식은 바로 $$x^2-2$$이다. 이제 우리는 $$\mathbb Q[x]$$의 원소들 중, $$x^2-2$$로 나눈 '''나머지가 같은 원소들은 그냥 서로 동일한 것'''이라고 생각한다. 예를 들어, $$x^2+x+1$$을 $$x^2-2$$로 나눈 나머지는 $$x+3$$이므로, $$x^2+x+1\equiv x+3$$으로 취급한다. 그렇게 하고 나면, 어떤 다항식이든 2차다항식으로 나눈 나머지는 1차 이하의 다항식이므로, $$\mathbb Q[x]$$의 모든 원소를 어떤 1차 이하의 다항식 $$a+bx$$ (단, $$a,b$$는 유리수)과 동일한 것이라고 생각할 수 있다. 이 다항식 사이의 덧셈, 뺄셈은 그냥 평범한 다항식의 덧셈, 뺄셈을 사용한다. 두 다항식 사이의 곱을 하고 나면 2차 다항식이 만들어질 수도 있는데, 그 경우에는 다시 $$x^2-2$$로 나눈 나머지를 취한다. 즉, $$x \times x$$는 $$x^2-2$$로 나눈 나머지가 2이므로 $$x$$라는 다항식을 제곱하면 그것은 2가 된다. 마지막으로 나눗셈을 하는 방법을 알아야 하는데, 이것은 조금 복잡하다. 그렇지만 $$x^2-2$$라는 다항식이 $$\mathbb Q$$에서는 인수분해가 불가능하였다는 사실을 잘 사용하면 어떤 다항식의 역수에 해당하는 다항식을 찾아내는 것도 가능하다. 예를 들어, $$1/x\equiv x/2$$이다. 이 식을 잘 정리하면 $$x^2-2\equiv 0$$를 얻을 수 있고, 양변은 $$x^2-2$$로 나눈 나머지가 동일하므로 맞는 식이라는 것을 확인할 수 있다. 따라서, 이렇게 $$\mathbb Q[x]$$에서 $$x^2-2$$으로 나눈 나머지가 같은 다항식은 같다고 선언한 집합(기호로는 $$\mathbb Q[x]/(x^2-2)$$라고 쓴다.)은 사칙연산이 잘 정의되므로, 체가 된다. 길게 설명했지만 사실 이 체는 위에서 설명한 $$\mathbb Q(\sqrt 2)$$와 동일한 것이다. 왜냐하면 $$x^2-2$$로 나눈 나머지 다항식들의 곱셈과 나눗셈에서 $$x$$라는 기호는 마치 $$\sqrt 2$$처럼 작용하기 때문이다. 우리는 이미 위에서 $$x\times x\equiv 2$$라든지 $$1/x\equiv x/2$$라든지 하는 식으로부터 $$x$$라는 '''기호'''가 실은 $$\sqrt 2$$처럼 작동하는 것을 이미 확인하였다. 정리하자면, 우리는 $$\sqrt 2$$라는 수의 존재를 전혀 알지 못하고도, $$x^2-2$$라는 다항식이 해를 가지는 $$\mathbb Q$$의 체 확장을 이야기함으로써, $$\mathbb Q(\sqrt 2)$$를 만들어낼 수 있다. 이렇게 새로운 체에서는 $$x^2-2$$를 분해할 수 있으므로, $$\mathbb Q[x]/(x^2-2)$$를 $$x^2-2$$의 '''분해체'''라고 부른다.
어떤 다항식이 그 체에서 인수분해되지 않는다는 것만 확인한다면 동일한 일을 반복할 수 있다. 예를 들어, $$x^2+x+1$$라는 다항식이 해를 가지는 $$\mathbb Q$$의 체 확장을 만들고 싶다면, 유리 계수 다항식을 모두 모아놓고, $$x^2+x+1$$로 나눈 나머지가 같은 다항식은 서로 동일하다고 선언만 하면 된다. 그렇게 얻어지는 체는 물론 $$x^2+x+1$$의 해인 $$\omega=(-1+\sqrt 3 i)/2$$를 지니고 있을 것이므로 $$\mathbb Q(\omega)$$와 동일한 체가 될 것이다. 그렇지만 이 체를 구성하기 위해 우리는 $$\omega$$에 대해 알 필요도 없다.
2차 다항식의 경우에는 한 번의 체 확장으로 분해체를 얻을 수 있지만, 고차 다항식이 주어진 경우에는 이러한 체 확장을 여러 번 해야 할 수도 있다. 그렇지만 매번 해를 1개씩만 구하여도 최대 n번만 이 과정을 반복함으로써 어떤 다항식이든 일차다항식의 곱으로 인수분해하는 새로운 체를 구성할 수 있다.[5] 그렇게 얻어지는 체를 그 다항식의 분해체라고 한다. 또한 이런 식으로 계속해서 체를 확장해갈 경우, '''유리수체 $$\mathbb{Q}[x]$$의''' 모든 다항식의 근을 포함하는 체를 생각할 수 있는데, 이 체는 $$\mathbb{Q_A}$$라고 표기하고 '''유리수체의 대수적 폐포'''(Algebraic Closure)라고 부르며, $$\mathbb{Q}\subsetneq\mathbb{Q_A}\subsetneq\mathbb{C}$$가 된다.
2.3. 유한체(Finite field)
지금까지 설명한 체의 예시는 모두 무한집합이었다. 왜냐하면 지금까지 말한 체는 모두 유리수의 집합 $$\mathbb Q$$를 부분집합으로 갖는데, $$\mathbb Q$$가 무한집합이기 때문이다. 그렇지만 $$\mathbb Q$$와는 별개의 근원으로부터 출발한다면 유한집합이 되는 체도 만들 수 있다. 그 별개의 근원이란 다름 아닌 정수의 집합 $$\mathbb Z$$이다. $$\mathbb Z$$ 자체는 나눗셈이 항상 잘 떨어지지 않으므로, 그 자신이 체가 될 수 없다는 것을 이미 알고 있다. 따라서 $$\mathbb Z$$를 이용하여 새로운 체를 만들어 낸다는 발상은 꽤 놀라운 것이라고 할 수 있다. $$\mathbb Z$$로부터 체를 만들어내는 방법은 바로 소수 $$p$$로 나눈 나머지를 관찰하는 것이다.
여기에서는 예시를 들기 위해 $$p=7$$인 경우만을 생각해보자. 이제 정수의 집합 $$\mathbb Z$$의 원소를 모두 모아놓고, 이들 중 7로 나눈 나머지가 같은 것은 '''그냥 같은 것으로 취급한다!''' 예컨대, 15를 7로 나눈 나머지와 8을 7로 나눈 나머지는 모두 1이므로, 그냥 15와 8은 '''같은 수'''라고 생각하는 것이다. 그리고 이를 표기하기 위해서는 $$15\equiv 8\text{ (mod }7)$$이라고 쓴다. 한편, 5와 9는 7로 나눈 나머지가 다르므로 $$5\neq 9\text{ (mod }7)$$이라고 쓸 수 있다. 이렇게 하고 나면, 정수를 7로 나눈 나머지는 0~6의 7가지만 가능하므로, 원래의 $$\mathbb Z$$는 무한집합이었지만, 이제는 $$\{0,1,2,3,4,5,6\}$$이라는 유한집합이 되어버렸고, 이를 $$\mathbb Z_7$$이라고 표기한다. (물론, $$p$$가 다른 소수인 경우에도 $$\mathbb Z_p$$라고 표기한다.)
이제 $$\mathbb Z_7$$이 체가 된다는 것을 확인하자. 앞서 말했듯이 어떤 집합이 체가 되는지를 확인하려면 덧셈, 뺄셈, 곱셉, 나눗셈이 잘 이루어지는가를 확인하면 된다. $$\mathbb Z_7$$의 덧셈은 $$\mathbb Z$$에서 원래 쓰던 것을 그냥 가져올 것이다. 예를 들어, $$15+8\equiv 23\text{ (mod }7)$$과 같이 덧셈을 할 때에는 평범한 정수를 더하듯이 더해주면 된다. 뺄셈과 곱셈의 경우도 마찬가지로 원래 정수 $$\mathbb Z$$에서 하던 뺄셈과 곱셈을 $$\mathbb Z_7$$에 이식하는 것이 가능하다.[6]
이렇게 해서 $$\mathbb Z_7$$ 위의 덧셈, 뺄셈, 곱셈은 어렵지 않게 할 수 있다는 것을 확인하였다. 이제 마지막으로 남은 것은 이 위에서 나눗셈을 잘 할 수 있는지를 확인하는 것이다. 그런데 이것은 전혀 쉬운 일이 아니다. 왜냐하면 $$\mathbb Z_7$$의 근원이 되는 $$\mathbb Z$$ 자체에, 덧셈, 뺄셈, 곱셈만 있었지, 나눗셈은 없었기 때문이다. 나눗셈을 하는 방법은 우리가 새롭게 정의해주어야 하는데, 이때 사용되는 것이 '''확장된 유클리드 호제법'''(Extended Euclidean algorithm)이다. 확장된 유클리드 호제법이란, 두 정수 $$a,b$$가 주어졌을 때, 두 수의 최대공약수가 $$g$$라고 하면, $$am+bn=g$$가 되는 정수 $$m,n$$을 언제나 '''빠르게''' 찾아낼 수 있는 알고리즘이다. (사실 저러한 정수 $$m,n$$이 항상 존재한다는 사실부터가 충격과 공포다.) 그러면 이제 $$\mathbb Z_7$$ 위에서 나눗셈을 할 수 있다. 나눗셈은 역원을 곱하는 것이므로, 0 이외의 수가 항상 역수를 가진다는 것을 보이면 그것이 곧 나눗셈을 할 수 있다는 것을 보이는 것과 같다. 0이 아닌 원소 1, 2, 3, 4, 5, 6에 대해서 각각 역원을 찾으려면 어떻게 해야할까? 1~6은 모두 7보다 작은 자연수이고, 7은 소수이므로, 1~6은 모두 7과 서로소이다. 즉, 최대공약수가 1이다. 따라서 이 중 3의 역원을 계산하고자 한다면, 3과 7을 확장된 유클리드 알고리즘의 입력으로 넣어준다. 3과 7의 최대공약수는 1이므로, 알고리즘은 $$3m+7n=1$$이 되는 정수 $$m,n$$을 반환해준다. 그러면 이때의 $$m$$이 바로 3의 역수가 된다. 왜냐하면 $$3m\equiv 3m+0n\equiv 3m+7n\equiv 1\text{ (mod }7)$$이기 때문이다! 실제로 계산을 해보면 3의 역수는 5가 되는 것을 알 수 있다. $$3\times 5\equiv 15\equiv 1\text{ (mod }7)$$이기 때문이다.
따라서 $$\mathbb Z_7$$는 체가 된다. 그리고 이는 위에서 예시로 보여주었던 체들과는 달리 유한집합이다. 이와 같이 유한집합이 되는 체를 유한체 또는 갈루아 체라고 부른다. 유한체는 이미 수학자들에 의해 완벽한 분류(classification)[7] 가 이루어져 있다. 보다 자세히 말하자면, 유한체의 원소의 개수는 모두 $$p^n$$ (단, $$p$$는 소수)의 꼴로 표현되고, 원소 수가 $$p^n$$개인 체는 오직 하나가 존재한다는 사실이 증명되어 있다.[8][9] 즉, 원소 수가 7개인 체는 위에서 밝혀낸 $$\mathbb Z_7$$ 하나뿐인 것이다. 위에서 설명한 방법을 사용하면 원소의 개수가 $$p$$인 체는 모두 만들어낼 수 있는데, 어떻게 하면 $$p^n$$개의 원소를 가지는 체를 만들어낼 수 있을까? 이는 조금 더 복잡하지만 정수를 소수로 나눈 나머지를 생각하는 대신, $$\mathbb Z_p$$의 원소를 계수로 가지는 다항식을 $$n$$차 기약다항식으로 나누는 방법을 사용하여 만들 수 있다.
유한체의 분류 문제가 완벽하게 해결되었다고 해서, 유한체는 비교적 단순한 대상이라는 '''오해'''가 있을 수도 있다. 전혀 그렇지 않다. 예를 들어, 유한체 위에서 곱셈이 잘 정의되기 때문에, 실수에서의 로그와 비슷한 것을 생각하여 $$\mathbb Z_p$$ 위에서의 로그를 생각해볼 수 있다. 예를 들어, $$\mathbb Z_7$$ 위에서 생각한다면 $$\log_3 6\equiv 3$$이다. 이는 $$3^3\equiv 27\equiv 6\text{ (mod }7)$$이기 때문이다. 그렇지만 이렇게 로그를 계산하는 것은 소수 $$p$$가 50자리 이상의 큰 수가 되고 나면 더이상 쉬운 문제가 아니다. 이와 같은 것을 이산 로그 문제(DLP)라고 하는데, 양자컴퓨터를 사용하지 않고서는 빠르게 계산하는 방법이 전혀 밝혀지지 않았기 때문에, 심지어는 이를 응용하여 암호 시스템을 만들 수 있을 정도이다! 이산 로그 문제와 소인수분해 문제가 동등함을 쉽게 밝힐 수 있고, 이산 로그 문제의 다항 시간 해법을 알면 위키러 여러분도 다항 시간 내에 끝나는 간편한 소인수분해 알고리즘을 만들 수 있다! [10]
[1] 쉽게말해 유리수끼리 사칙연산해서 유리수가 나오는 식.[2] 이를 해당 연산에 대해 닫혀있다고 말한다.[3] 이게 성립하지 않는 환은 꼬인체(skew field)가 된다. 대표적으로 사원수 집합 $$\mathbb H$$.[4] 이때 근의 공식이란, 덧셈, 뺄셈, 곱셈, 나눗셈, n승근의 조합으로만 구성된 수식을 의미한다. [5] 이는 대수학의 기본정리의 자명한 귀결로 얻어지는 결과다. 항목의 따름정리 1 참조.[6] 사실 이러한 이식 과정에서 연산 사이에 호환이 잘 이루어지는지를 추가적으로 확인해보아야 한다. 이는 두 정수 a, b가 주어졌을 때, a와 b를 각각 7로 나눈 나머지를 더한 후 7로 나눈 나머지를 취한 것과, a+b를 7로 나눈 나머지를 취한 것이 동일하다는 사실에 기인하고 있다. 곱셈도 마찬가지이다.[7] classification 문제는 수학의 곳곳에서 발견되는 아주 중요한 문제이다.[8] 존재성 증명: $$\mathbb Z_p$$위의 다항식 $$x^{p^n}-x=0$$과 이것의 해의 모임 $$F$$를 생각하자. $$\text{char}\left(\mathbb Z_p\right)=p$$이므로, 임의의 $$\alpha,\beta \in F$$에 대하여 [math(\left(\alpha+\beta\right)^{p^{n}}=\alpha+\beta)]이다. 나머지 체의 공리들은 쉽게 보일 수 있다. 따라서, $$F$$는 $$\mathbb{Z}_p$$위의 다항식 $$x^{p^{n}}-x=0$$의 분해체이다.[9] 유일성 증명: $$\left|F\right|=p^{n}$$인 체 $$F$$에 대해, $$F^{\times}$$는 곱셈군이므로, 모든 $$ \alpha\in F^{\times}$$에 대해 $$\alpha^{p^{n}-1}=\alpha^{\left|F^{\times}\right|}=1$$이다. 따라서, 모든 $$ \alpha\in F$$에 대해, $$\alpha^{p^{n}}-\alpha=0$$이다. 즉, $$F$$의 모든 원소는, $$\mathbb{Z}_p$$위의 다항식 $$x^{p^{n}}-x=0$$의 근이고, 이 방정식의 차수는 $$p^{n}=\left|F\right|$$이므로, $$F$$는 $$\mathbb{Z}_p$$위의 다항식 $$x^{p^{n}}-x=0$$의 분해체이다. 분해체의 유일성에 의해, $$F$$는 유일하다.[10] 복잡한 정수론적 문제란 곧 새로운 암호 시스템 하나를 의미한다. 잘 알려져 있듯이, 소인수분해의 어려움은 널리 쓰이는 RSA 암호 시스템의 기초가 된다. 그러나 RSA는 양자컴퓨터가 개발되면 공격할 수 있기 때문에, 요즘 수학자들은 양자컴퓨터로도 풀기 어려운 격자(lattice) 문제에 기반하는 다른 암호 시스템의 안전성을 연구하고 있다.