체(대수학)

에 마지막으로 수정됐습니다.

분류


field
췌에. 왜 장(場)이 아닐까.

1. 정의2. 예시
2.1. 체 확장(Field extension)2.2. 분해체(Splitting field)2.3. 유한체(Finite field)

1. 정의[편집]

체는 대수적 구조의 하나로, 간단히 말해 덧셈, 뺄셈, 곱셈, 나눗셈의 사칙연산을 집합 안에서 소화할 수 있는 집합을 의미한다. 가장 간단한 체의 예시로는 유리수의 집합 Q \mathbb Q, 실수의 집합 R\mathbb R, 복소수의 집합 C\mathbb C 가 있다. 그래서 이들이 체라는 것을 강조하고 싶을 때에는 각각 유리수체, 실수체, 복소수체라고 부르기도 한다.

그러나 정수의 집합 Z\mathbb Z 는 체가 되지 않는데, 정수 사이의 덧셈, 뺄셈, 곱셈까지는 언제나 원활하게 수행할 수 있지만 아무런 두 정수나 뽑아서 나눗셈을 하였을 때에는 나누어 떨어지지 않는 경우도 있기 때문이다. 물론 자연수의 집합 N\mathbb N의 경우에도 나눗셈은 커녕, 뺄셈조차도 불가능한 경우가 존재하므로 체가 되지 않는다.

어떤 집합 F F 가 체가 되는 것을 엄밀하게 증명하기 위해서는 다음의 11가지 조건을 보이면 된다. 개노가다
  • (A1) F F 의 어떤 두 원소를 뽑아 더해도 다시 F F 의 원소이다. 다시 말해 덧셈에 대해 닫혀 있다.
  • (A2) 덧셈에 대해 교환법칙이 성립한다.
  • (A3) 덧셈에 대해 결합법칙이 성립한다. 따라서 덧셈만 있는 식에는 괄호를 쓰지 않아도 된다.
  • (A4) 덧셈의 항등원 0 0 이 존재한다.
  • (A5) F F 의 모든 원소 a a 에 대해 역원 a -a 가 존재한다. 따라서 뺄셈도 항상 가능하다.
  • (M1) F F 의 어떤 두 원소를 뽑아 곱해도 다시 F F 의 원소이다. 다시 말해 곱셈에 대해 닫혀 있다.
  • (M2) 곱셈에 대해 교환법칙이 성립한다.
  • (M3) 곱셈에 대해 결합법칙이 성립한다. 따라서 곱셈만 있는 식에서도 괄호를 쓰지 않아도 된다.
  • (M4) 곱셈의 항등원 1 1 이 존재한다.
  • (M5) F F 0 0 이 아닌 모든 원소 a a 에 대해 역원 a1 a^{-1} 가 존재한다. 따라서 0 이외의 수로는 항상 나누기를 할 수 있다.
  • (D) 덧셈과 곱셈에 대해 분배법칙이 성립한다.

대수적인 언어로 압축해서 쓰면 ,(F,+,)\left(F,+,\cdot\right)가환 나눗셈환(commutative division ring)이라는 뜻이다.

역대 수학 천재들의 목록을 나열해 본다면 절대로 빼놓을 수 없는 수학자가 바로 갈루아인데 이분이 바로 이 체에 관한 이론을 연구하여 아벨이 기존에 증명하였던 것과는 다른 방식으로 5차 이상의 다항식에 대해서는 근의 공식이 존재하지 않는다는 것을 증명하였다.[1] 갈루아는 체와 사이에 존재하는 미묘하고도 심오한 관계를 사용하여 증명을 할 수 있었다. 이에 관한 자세한 설명은 갈루아 이론을 참조하자.

2. 예시[편집]

위에서 이미 언급한 유리수체, 실수체, 복소수체 이외에도 체가 되는 집합을 다양하게 만들어 낼 수 있다. 본 항목에서는 체의 예시 중 중요한 것들 몇 가지에 대해 간단히 설명한다.

2.1. 체 확장(Field extension)[편집]

대한민국의 중, 고등학교에서 6년 동안 수학 공부를 해온 사람이라면 아마도 a+b2a+b\sqrt 2 (단, a,ba,b는 유리수) 꼴의 수라는 표현에 매우 익숙할 것이다. 아마 이러한 표현을 보는 순간, 무리수 상등이라는 단어도 같이 떠오를 것이다. 정의에 따라 이런 꼴의 수만 모아놓아 만든 집합도 체가 된다. 고등학생은 이미 a+b2 a+b\sqrt 2 꼴의 수를 서로 더하고, 빼고, 곱하여도 언제나 다시 똑같은 꼴의 숫자가 되지, 갑자기 a+b3 a+b\sqrt 3 꼴의 수가 튀어나올 수는 없다는 것을 이미 잘 알고 있다. 게다가 나눗셈을 하는 경우에도 아무런 문제가 없는데, 다음과 같이 역수를 취하여도 (a+b2)1=(ab2)/(a22b2) (a+b\sqrt 2)^{-1}=(a-b\sqrt 2)/(a^2-2b^2) 여전히 a+b2a+b\sqrt 2 꼴의 수가 되기 때문이다. 따라서 이러한 꼴의 수들을 모두 모아 놓은 집합은 체가 된다.

이제 이 집합에 이름을 붙여주고자 한다면 어떻게 하는 것이 좋을까? a+b2a+b\sqrt 2 (단, a,ba,b는 유리수) 꼴의 수들의 집합은 간단하게 생각해보면 유리수의 집합 Q\mathbb Q에 새로운 원소 2\sqrt 2를 추가한 것과 같다. 물론, 2\sqrt 2라는 원소 단 하나만을 추가해주었다면, 그건 체가 될 수 없다. 왜냐하면 체는 덧셈과 곱셈에 대해 닫혀 있어야 하므로, 2\sqrt 2라는 원소를 체에 추가해 주려면, 동시에 b2b\sqrt 2 (단, bb는 유리수) 꼴의 수도 모두 추가해주어야 할 것이고, 따라서 a+b2a+b\sqrt 2 (단, a,ba,b는 모두 유리수) 꼴의 수를 모두 추가해야만 한다. 그러므로 우리가 설명하고자 하는 집합은 Q\mathbb Q라는 체가 2\sqrt 2라는 원소를 포함하도록 확장하려고 할 때 자연스럽게 얻어지는 체라는 것을 알 수 있고, 이를 간단하게 Q(2)\mathbb Q(\sqrt 2)라고 표기할 수 있다.

이와 같이 새롭게 얻어진 체 Q(2)\mathbb Q(\sqrt 2)Q\mathbb Q체 확장이라고 부른다. 이것을 알고 나면, 비슷하게 Q(3)\mathbb Q(\sqrt 3)이라는 체도 쉽게 생각할 수 있을 것이다. 더 나아가서, 원소를 여러 개 덧붙여 Q(2,3)\mathbb Q(\sqrt 2,\sqrt 3)이라는 체도 생각해볼 수 있다. 이는 a+b2+c3+d6a+b\sqrt 2+c\sqrt 3+d\sqrt 6 (단, a,b,c,da,b,c,d는 모두 유리수) 꼴의 수들을 모두 모은 집합이 된다. 물론, R(i)\mathbb R(i)C\mathbb C와 같다는 것도 어렵지 않게 이해할 수 있다.

2.2. 분해체(Splitting field)[편집]

이제 조금 다른 방향에서 Q(2)\mathbb Q(\sqrt 2)를 생각하자. 이때의 키워드는 바로 다항식인수분해이다. x22x^2-2라는 다항식을 생각해보자. 이 다항식의 해는 유리수가 아니므로, 이 다항식을 유리계수 일차다항식 두 개의 곱으로 인수분해하는 것은 절대로 불가능할 것이다. 이처럼 어떤 체에서 더 이상 인수분해할 수 없는 다항식이 있는 경우라면, 언제나 그 체를 확장하여 그 다항식의 해를 가지는 새로운 체를 만들어 낼 수 있다! 그런 체를 만드는 방법은 무엇일까? 바로 다항식의 나머지를 취하는 것이다.

우선, 모든 유리계수 다항식을 모아놓은 집합은 Q[x]\mathbb Q[x]라고 표기한다. 그리고 인수분해하고자 하는 다항식은 바로 x22x^2-2이다. 이제 우리는 Q[x]\mathbb Q[x]의 원소들 중, x22x^2-2로 나눈 나머지가 같은 원소들은 그냥 서로 동일한 것이라고 생각한다. 예를 들어, x2+x+1x^2+x+1x22x^2-2로 나눈 나머지는 x+3x+3이므로, x2+x+1x+3x^2+x+1\equiv x+3으로 취급한다. 그렇게 하고 나면, 어떤 다항식이든 2차다항식으로 나눈 나머지는 1차 이하의 다항식이므로, Q[x]\mathbb Q[x]의 모든 원소를 어떤 1차 이하의 다항식 a+bxa+bx (단, a,ba,b는 유리수)과 동일한 것이라고 생각할 수 있다. 이 다항식 사이의 덧셈, 뺄셈은 그냥 평범한 다항식의 덧셈, 뺄셈을 사용한다. 두 다항식 사이의 곱을 하고 나면 2차 다항식이 만들어질 수도 있는데, 그 경우에는 다시 x22x^2-2로 나눈 나머지를 취한다. 즉, x×xx \times xx22x^2-2로 나눈 나머지가 2이므로 xx라는 다항식을 제곱하면 그것은 2가 된다. 마지막으로 나눗셈을 하는 방법을 알아야 하는데, 이것은 조금 복잡하다. 그렇지만 x22x^2-2라는 다항식이 Q\mathbb Q에서는 인수분해가 불가능하였다는 사실을 잘 사용하면 어떤 다항식의 역수에 해당하는 다항식을 찾아내는 것도 가능하다. 예를 들어, 1/xx/21/x\equiv x/2이다. 이 식을 잘 정리하면 x220x^2-2\equiv 0를 얻을 수 있고, 양변은 x22x^2-2로 나눈 나머지가 동일하므로 맞는 식이라는 것을 확인할 수 있다. 따라서, 이렇게 Q[x]\mathbb Q[x]에서 x22x^2-2으로 나눈 나머지가 같은 다항식은 같다고 선언한 집합(기호로는 Q[x]/(x22)\mathbb Q[x]/(x^2-2)라고 쓴다.)은 사칙연산이 잘 정의되므로, 체가 된다. 길게 설명했지만 사실 이 체는 위에서 설명한 Q(2)\mathbb Q(\sqrt 2)와 동일한 것이다. 왜냐하면 x22x^2-2로 나눈 나머지 다항식들의 곱셈과 나눗셈에서 xx라는 기호는 마치 2\sqrt 2처럼 작용하기 때문이다. 우리는 이미 위에서 x×x2x\times x\equiv 2라든지 1/xx/21/x\equiv x/2라든지 하는 식으로부터 xx라는 기호가 실은 2\sqrt 2처럼 작동하는 것을 이미 확인하였다. 정리하자면, 우리는 2\sqrt 2라는 수의 존재를 전혀 알지 못하고도, x22x^2-2라는 다항식이 해를 가지는 Q\mathbb Q의 체 확장을 이야기함으로써, Q(2)\mathbb Q(\sqrt 2)를 만들어낼 수 있다. 이렇게 새로운 체에서는 x22x^2-2를 분해할 수 있으므로, Q[x]/(x22)\mathbb Q[x]/(x^2-2)x22x^2-2분해체라고 부른다.

어떤 다항식이 그 체에서 인수분해되지 않는다는 것만 확인한다면 동일한 일을 반복할 수 있다. 예를 들어, x2+x+1x^2+x+1라는 다항식이 해를 가지는 Q\mathbb Q의 체 확장을 만들고 싶다면, 유리 계수 다항식을 모두 모아놓고, x2+x+1x^2+x+1로 나눈 나머지가 같은 다항식은 서로 동일하다고 선언만 하면 된다. 그렇게 얻어지는 체는 물론 x2+x+1x^2+x+1의 해인 정석에서 많이 본 ω=(1+3i)/2\omega=(-1+\sqrt 3 i)/2를 지니고 있을 것이므로 Q(ω)\mathbb Q(\omega)와 동일한 체가 될 것이다. 그렇지만 이 체를 구성하기 위해 우리는 ω\omega에 대해 알 필요도 없다.

2차 다항식의 경우에는 한 번의 체 확장으로 분해체를 얻을 수 있지만, 고차 다항식이 주어진 경우에는 이러한 체 확장을 여러 번 해야 할 수도 있다. 그렇지만 매번 해를 1개씩만 구하여도 최대 n번만 이 과정을 반복함으로써 어떤 다항식이든 일차다항식의 곱으로 인수분해하는 새로운 체를 구성할 수 있다. 그렇게 얻어지는 체를 그 다항식의 분해체라고 한다.

2.3. 유한체(Finite field)[편집]

지금까지 설명한 체의 예시는 모두 무한집합이었다. 왜냐하면 지금까지 말한 체는 모두 유리수의 집합 Q\mathbb Q를 부분집합으로 갖는데, Q\mathbb Q가 무한집합이기 때문이다. 그렇지만 Q\mathbb Q와는 별개의 근원으로부터 출발한다면 유한집합이 되는 체도 만들 수 있다. 그 별개의 근원이란 다름 아닌 정수의 집합 Z\mathbb Z이다. Z\mathbb Z 자체는 나눗셈이 항상 잘 떨어지지 않으므로, 그 자신이 체가 될 수 없다는 것을 이미 알고 있다. 따라서 Z\mathbb Z를 이용하여 새로운 체를 만들어 낸다는 발상은 꽤 놀라운 것이라고 할 수 있다. Z\mathbb Z로부터 체를 만들어내는 방법은 바로 소수 pp로 나눈 나머지를 관찰하는 것이다.

여기에서는 예시를 들기 위해 p=7p=7인 경우만을 생각해보자. 이제 정수의 집합 Z\mathbb Z의 원소를 모두 모아놓고, 이들 중 7로 나눈 나머지가 같은 것은 그냥 같은 것으로 취급한다! 예컨대, 15를 7로 나눈 나머지와 8을 7로 나눈 나머지는 모두 1이므로, 그냥 15와 8은 같은 수라고 생각하는 것이다. 그리고 이를 표기하기 위해서는 158 (mod 7)15\equiv 8\text{ (mod }7)이라고 쓴다. 한편, 5와 9는 7로 나눈 나머지가 다르므로 59 (mod 7)5\neq 9\text{ (mod }7)이라고 쓸 수 있다. 이렇게 하고 나면, 정수를 7로 나눈 나머지는 0~6의 7가지만 가능하므로, 원래의 Z\mathbb Z는 무한집합이었지만, 이제는 {0,1,2,3,4,5,6}\{0,1,2,3,4,5,6\}이라는 유한집합이 되어버렸고, 이를 Z7\mathbb Z_7이라고 표기한다. (물론, pp가 다른 소수인 경우에도 Zp\mathbb Z_p라고 표기한다.)

이제 Z7\mathbb Z_7이 체가 된다는 것을 확인하자. 앞서 말했듯이 어떤 집합이 체가 되는지를 확인하려면 덧셈, 뺄셈, 곱셉, 나눗셈이 잘 이루어지는가를 확인하면 된다. Z7\mathbb Z_7의 덧셈은 Z\mathbb Z에서 원래 쓰던 것을 그냥 가져올 것이다. 예를 들어, 15+823 (mod 7)15+8\equiv 23\text{ (mod }7)과 같이 덧셈을 할때에는 평범한 정수를 더하듯이 더해주면 된다. 뺄셈과 곱셈의 경우도 마찬가지로 원래 정수 Z\mathbb Z에서 하던 뺄셈과 곱셈을 Z7\mathbb Z_7에 이식하는 것이 가능하다.[2]

이렇게 해서 Z7\mathbb Z_7 위의 덧셈, 뺄셈, 곱셈은 어렵지 않게 할 수 있다는 것을 확인하였다. 이제 마지막으로 남은 것은 이 위에서 나눗셈을 잘 할 수 있는지를 확인하는 것이다. 그런데 이것은 전혀 쉬운 일이 아니다. 왜냐하면 Z7\mathbb Z_7의 근원이 되는 Z\mathbb Z 자체에, 덧셈, 뺄셈, 곱셈만 있었지, 나눗셈은 없었기 때문이다. 나눗셈을 하는 방법은 우리가 새롭게 정의해주어야 하는데, 이때 사용되는 것이 확장된 유클리드 알고리즘(Extended Euclidean algorithm)이다. 확장된 유클리드 알고리즘이란, 두 정수 a,ba,b가 주어졌을 때, 두 수의 최대공약수가 gg라고 하면, am+bn=gam+bn=g가 되는 정수 m,nm,n을 언제나 빠르게 찾아낼 수 있는 알고리즘이다. (사실 저러한 정수 m,nm,n이 항상 존재한다는 사실부터가 충격과 공포다.) 그러면 이제 Z7\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=13m+7n=1이 되는 정수 m,nm,n을 반환해준다. 그러면 이때의 mm이 바로 3의 역수가 된다. 왜냐하면 3m3m+0n3m+7n1 (mod 7)3m\equiv 3m+0n\equiv 3m+7n\equiv 1\text{ (mod }7)이기 때문이다! 실제로 계산을 해보면 3의 역수는 기분이 이상하지만 5가 되는 것을 알 수 있다. 3×5151 (mod 7)3\times 5\equiv 15\equiv 1\text{ (mod }7)이기 때문이다.

따라서 Z7\mathbb Z_7는 체가 된다. 그리고 이는 위에서 예시로 보여주었던 체들과는 달리 유한집합이다. 이와 같이 유한집합이 되는 체를 유한체 또는 갈루아 체라고 부른다. 유한체는 이미 수학자들에 의해 완벽한 분류(classification)[3]가 이루어져 있다. 보다 자세히 말하자면, 유한체의 원소의 개수는 모두 pnp^n (단, pp는 소수)의 꼴로 표현되고, 원소 수가 pnp^n개인 체는 오직 하나가 존재한다는 사실이 증명되어 있다.[4][5] 즉, 원소 수가 7개인 체는 위에서 밝혀낸 Z7\mathbb Z_7 하나 뿐인 것이다. 위에서 설명한 방법을 사용하면 원소의 개수가 pp인 체는 모두 만들어낼 수 있는데, 어떻게 하면 pnp^n개의 원소를 가지는 체를 만들어낼 수 있을까? 이는 조금 더 복잡하지만 정수를 소수로 나눈 나머지를 생각하는 대신, Zp\mathbb Z_p의 원소를 계수로 가지는 다항식을 nn차 기약다항식으로 나누는 방법을 사용하여 만들 수 있다.

유한체의 분류 문제가 완벽하게 해결되었다고 해서, 유한체는 비교적 단순한 대상이라는 오해가 있을 수도 있다. 전혀 그렇지 않다. 예를 들어, 유한체 위에서 곱셈이 잘 정의되기 때문에, 실수에서의 로그와 비슷한 것을 생각하여 Zp\mathbb Z_p 위에서의 로그를 생각해볼 수 있다. 예를 들어, Z7\mathbb Z_7 위에서 생각한다면 log363\log_3 6\equiv 3이다. 이는 33276 (mod 7)3^3\equiv 27\equiv 6\text{ (mod }7)이기 때문이다. 그렇지만 이렇게 로그를 계산하는 것은 소수 pp가 50자리 이상의 큰 수가 되고 나면 더 이상 쉬운 문제가 아니다. 이와 같은 것을 이산 로그 문제(DLP)라고 하는데, 양자컴퓨터를 사용하지 않고서는 빠르게 계산하는 방법이 전혀 밝혀지지 않았기 때문에, 심지어는 이를 응용하여 암호 시스템을 만들 수 있을 정도이다![6]

[1] 이때 근의 공식이란, 덧셈, 뺄셈, 곱셈, 나눗셈, n승근의 조합으로만 구성된 수식을 의미한다. [2] 사실 이러한 이식 과정에서 연산 사이에 호환이 잘 이루어지는 지를 추가적으로 확인해보아야 한다. 이는 두 정수 a, b가 주어졌을 때, a와 b를 각각 7로 나눈 나머지를 더한 후 7로 나눈 나머지를 취한 것과, a+b를 7로 나눈 나머지를 취한 것이 동일하다는 사실에 기인하고 있다. 곱셈도 마찬가지이다.[3] classification 문제는 수학의 곳곳에서 발견되는 아주 중요한 문제이다.[4] 존재성 증명: Zp\mathbb Z_p위의 다항식 xpnx=0x^{p^n}-x=0과 이것의 해의 모임 FF를 생각하자. char(Zp)=p\text{char}\left(\mathbb Z_p\right)=p이므로, 임의의 α,βF\alpha,\beta \in F에 대하여 (α+β)pn=α+β\left(\alpha+\beta\right)^{p^{n}}=\alpha+\beta이다. 나머지 체의 공리들은 쉽게 보일 수 있다. 따라서, FFZp\mathbb{Z}_p위의 다항식 xpnx=0x^{p^{n}}-x=0의 분해체이다.[5] 유일성 증명: F=pn\left|F\right|=p^{n}인 체 FF에 대해, F×F^{\times}는 곱셈군이므로, 모든 αF× \alpha\in F^{\times}에 대해 αpn1=αF×=1\alpha^{p^{n}-1}=\alpha^{\left|F^{\times}\right|}=1이다. 따라서, 모든 αF \alpha\in F에 대해, αpnα=0\alpha^{p^{n}}-\alpha=0이다. 즉, FF의 모든 원소는, Zp\mathbb{Z}_p위의 다항식 xpnx=0x^{p^{n}}-x=0의 근이고, 이 방정식의 차수는 pn=Fp^{n}=\left|F\right|이므로, FFZp\mathbb{Z}_p위의 다항식 xpnx=0x^{p^{n}}-x=0의 분해체이다. 분해체의 유일성에 의해, FF는 유일하다.[6] 복잡한 정수론적 문제란 곧 새로운 암호 시스템 하나를 의미한다. 잘 알려져 있듯이, 소인수분해의 어려움은 널리 쓰이는 RSA 암호 시스템의 기초가 된다. 그러나 RSA는 양자컴퓨터가 개발되면 공격할 수 있기 때문에, 요즘 수학자들은 양자컴퓨터로도 풀기 어려운 격자(lattice) 문제에 기반하는 다른 암호 시스템의 안전성을 연구하고 있다.