체(대수학)

대수학
이론
기본대상방정식부등식산술
수 체계실수 · 복소수 · 사원수
구조와 관심대상
군(Group)군의 작용, 실로우 정리
환(Ring)가환대수학
체(Field)갈루아 이론
가군(Module)
대수(Algebra)
정리
대수학의 기본정리 · 나머지 정리
다항식 · 유클리드 호제법 · 대수#s-1 · 노름
분야와 관심대상
대수학
정수론대수적 정수론 · 해석적 정수론
선형대수학벡터 · 행렬 · 선형변환
대수기하학스킴 · 모티브 · 사슬 복합체


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

1 정의

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

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

어떤 집합 [math] F [/math]가 체가 되는 것을 엄밀하게 증명하기 위해서는 다음의 11가지 조건을 보이면 된다. 개노가다

  • (A1) [math] F [/math]의 어떤 두 원소를 뽑아 더해도 다시 [math] F [/math]의 원소이다.
  • (A2) 덧셈에 대해 교환법칙이 성립한다.
  • (A3) 덧셈에 대해 결합법칙이 성립한다. 따라서 덧셈만 있는 식에는 괄호를 쓰지 않아도 된다.
  • (A4) 덧셈의 항등원 [math] 0 [/math]이 존재한다.
  • (A5) [math] F [/math]의 모든 원소 [math] a [/math]에 대해 역원 [math] -a [/math]가 존재한다. 따라서 뺄셈도 항상 가능하다.
  • (M1) [math] F [/math]의 어떤 두 원소를 뽑아 곱해도 다시 [math] F [/math]의 원소이다.
  • (M2) 곱셈에 대해 교환법칙이 성립한다.
  • (M3) 곱셈에 대해 결합법칙이 성립한다. 따라서 곱셈만 있는 식에서도 괄호를 쓰지 않아도 된다.
  • (M4) 곱셈의 항등원 [math] 1 [/math]이 존재한다.
  • (M5) [math] F [/math][math] 0 [/math]이 아닌 모든 원소 [math] a [/math]에 대해 역원 [math] a^{-1} [/math]가 존재한다. 따라서 0 이외의 수로는 항상 나누기를 할 수 있다.
  • (D) 덧셈과 곱셈에 대해 분배법칙이 성립한다.

대수적인 언어로 압축해서 쓰면 ,[math]\left(F,+,\cdot\right)[/math]가환 나눗셈환(commutative division ring)이라는 뜻이다.
역대 수학 천재들의 목록을 나열해 본다면 절대로 빼놓을 수 없는 수학자가 바로 갈루아인데 이 분이 바로 이 체에 관한 이론을 연구하여 아벨이 기존에 증명하였던 것과는 다른 방식으로 5차 이상의 다항식에 대해서는 근의 공식이 존재하지 않는다는 것을 증명하였다.[1] 갈루아는 체와 사이에 존재하는 미묘하고도 심오한 관계를 사용하여 증명을 할 수 있었다. 이에 관한 자세한 설명은 갈루아 이론을 참조하자.

2 예시

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

2.1 체 확장(Field extension)

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

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

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

2.2 분해체(Splitting field)

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

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

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

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

2.3 유한체(Finite field)

지금까지 설명한 체의 예시는 모두 무한집합이었다. 왜냐하면 지금까지 말한 체는 모두 유리수의 집합 [math]\mathbb Q[/math]를 부분집합으로 갖는데, [math]\mathbb Q[/math]가 무한집합이기 때문이다. 그렇지만 [math]\mathbb Q[/math]와는 별개의 근원으로부터 출발한다면 유한집합이 되는 체도 만들 수 있다. 그 별개의 근원이란 다름 아닌 정수의 집합 [math]\mathbb Z[/math]이다. [math]\mathbb Z[/math] 자체는 나눗셈이 항상 잘 떨어지지 않으므로, 그 자신이 체가 될 수 없다는 것을 이미 알고 있다. 따라서 [math]\mathbb Z[/math]를 이용하여 새로운 체를 만들어 낸다는 발상은 꽤 놀라운 것이라고 할 수 있다. [math]\mathbb Z[/math]로부터 체를 만들어내는 방법은 바로 소수 [math]p[/math]로 나눈 나머지를 관찰하는 것이다.
여기에서는 예시를 들기 위해 [math]p=7[/math]인 경우만을 생각해보자. 이제 정수의 집합 [math]\mathbb Z[/math]의 원소를 모두 모아놓고, 이들 중 7로 나눈 나머지가 같은 것은 그냥 같은 것으로 취급한다! 예컨데, 15를 7로 나눈 나머지와 8을 7로 나눈 나머지는 모두 1이므로, 그냥 15와 8은 같은 수라고 생각하는 것이다. 그리고 이를 표기하기 위해서는 [math]15\equiv 8\text{ (mod }7)[/math]이라고 쓴다. 한편, 5와 9는 7로 나눈 나머지가 다르므로 [math]5\neq 9\text{ (mod }7)[/math]이라고 쓸 수 있다. 이렇게 하고 나면, 정수를 7로 나눈 나머지는 0~6의 7가지만 가능하므로, 원래의 [math]\mathbb Z[/math]는 무한집합이었지만, 이제는 [math]\{0,1,2,3,4,5,6\}[/math]이라는 유한집합이 되어버렸고, 이를 [math]\mathbb Z_7[/math]이라고 표기한다. (물론, [math]p[/math]가 다른 소수인 경우에도 [math]\mathbb Z_p[/math]라고 표기한다.)
이제 [math]\mathbb Z_7[/math]이 체가 된다는 것을 확인하자. 앞서 말했듯이 어떤 집합이 체가 되는지를 확인하려면 덧셈, 뺄셈, 곱셉, 나눗셈이 잘 이루어지는가를 확인하면 된다. [math]\mathbb Z_7[/math]의 덧셈은 [math]\mathbb Z[/math]에서 원래 쓰던 것을 그냥 가져올 것이다. 예를 들어, [math]15+8\equiv 23\text{ (mod }7)[/math]과 같이 덧셈을 할때에는 평범한 정수를 더하듯이 더해주면 된다. 뺄셈과 곱셈의 경우도 마찬가지로 원래 정수 [math]\mathbb Z[/math]에서 하던 뺄셈과 곱셈을 [math]\mathbb Z_7[/math]에 이식하는 것이 가능하다.[2]
이렇게 해서 [math]\mathbb Z_7[/math] 위의 덧셈, 뺄셈, 곱셈은 어렵지 않게 할 수 있다는 것을 확인하였다. 이제 마지막으로 남은 것은 이 위에서 나눗셈을 잘 할 수 있는지를 확인하는 것이다. 그런데 이것은 전혀 쉬운 일이 아니다. 왜냐하면 [math]\mathbb Z_7[/math]의 근원이 되는 [math]\mathbb Z[/math] 자체에, 덧셈, 뺄셈, 곱셈만 있었지, 나눗셈은 없었기 때문이다. 나눗셈을 하는 방법은 우리가 새롭게 정의해주어야 하는데, 이때 사용되는 것이 확장된 유클리드 알고리즘(Extended Euclidean algorithm)이다. 확장된 유클리드 알고리즘이란, 두 정수 [math]a,b[/math]가 주어졌을 때, 두 수의 최대공약수가 [math]g[/math]라고 하면, [math]am+bn=g[/math]가 되는 정수 [math]m,n[/math]을 언제나 빠르게 찾아낼 수 있는 알고리즘이다. (사실 저러한 정수 [math]m,n[/math]이 항상 존재한다는 사실부터가 충격과 공포다.) 그러면 이제 [math]\mathbb Z_7[/math] 위에서 나눗셈을 할 수 있다. 나눗셈은 역원을 곱하는 것이므로, 0 이외의 수가 항상 역수를 가진다는 것을 보이면 그것이 곧 나눗셈을 할 수 있다는 것을 보이는 것과 같다. 0이 아닌 원소 1, 2, 3, 4, 5, 6에 대해서 각각 역원을 찾으려면 어떻게 해야할까? 1~6은 모두 7보다 작은 자연수이고, 7은 소수이므로, 1~6은 모두 7과 서로소이다. 즉, 최대공약수가 1이다. 따라서 이 중 3의 역원을 계산하고자 한다면, 3과 7을 확장된 유클리드 알고리즘의 입력으로 넣어준다. 3과 7의 최대공약수는 1이므로, 알고리즘은 [math]3m+7n=1[/math]이 되는 정수 [math]m,n[/math]을 반환해준다. 그러면 이때의 [math]m[/math]이 바로 3의 역수가 된다. 왜냐하면 [math]3m\equiv 3m+0n\equiv 3m+7n\equiv 1\text{ (mod }7)[/math]이기 때문이다! 실제로 계산을 해보면 3의 역수는 기분이 이상하지만 5가 되는 것을 알 수 있다. [math]3\times 5\equiv 15\equiv 1\text{ (mod }7)[/math]이기 때문이다.
따라서 [math]\mathbb Z_7[/math]는 체가 된다. 그리고 이는 위에서 예시로 보여주었던 체들과는 달리 유한집합이다. 이와 같이 유한집합이 되는 체를 유한체 또는 갈루아 체라고 부른다. 유한체는 이미 수학자들에 의해 완벽한 분류(classification)[3]가 이루어져 있다. 보다 자세히 말하자면, 유한체의 원소의 개수는 모두 [math]p^n[/math] (단, [math]p[/math]는 소수)의 꼴로 표현되고, 원소 수가 [math]p^n[/math]개인 체는 오직 하나가 존재한다는 사실이 증명되어 있다.[4][5] 즉, 원소 수가 7개인 체는 위에서 밝혀낸 [math]\mathbb Z_7[/math] 하나 뿐인 것이다. 위에서 설명한 방법을 사용하면 원소의 개수가 [math]p[/math]인 체는 모두 만들어낼 수 있는데, 어떻게 하면 [math]p^n[/math]개의 원소를 가지는 체를 만들어낼 수 있을까? 이는 조금 더 복잡하지만 정수를 소수로 나눈 나머지를 생각하는 대신, [math]\mathbb Z_p[/math]의 원소를 계수로 가지는 다항식을 [math]n[/math]차 기약다항식으로 나누는 방법을 사용하여 만들 수 있다.

유한체의 분류 문제가 완벽하게 해결되었다고 해서, 유한체는 비교적 단순한 대상이라는 오해가 있을 수도 있다. 전혀 그렇지 않다. 예를 들어, 유한체 위에서 곱셈이 잘 정의되기 때문에, 실수에서의 로그와 비슷한 것을 생각하여 [math]\mathbb Z_p[/math] 위에서의 로그를 생각해볼 수 있다. 예를 들어, [math]\mathbb Z_7[/math] 위에서 생각한다면 [math]\log_3 6\equiv 3[/math]이다. 이는 [math]3^3\equiv 27\equiv 6\text{ (mod }7)[/math]이기 때문이다. 그렇지만 이렇게 로그를 계산하는 것은 소수 [math]p[/math]가 50자리 이상의 큰 수가 되고 나면 더 이상 쉬운 문제가 아니다. 이와 같은 것을 이산 로그 문제(DLP)라고 하는데, 양자컴퓨터를 사용하지 않고서는 빠르게 계산하는 방법이 전혀 밝혀지지 않았기 때문에, 심지어는 이를 응용하여 암호 시스템을 만들 수 있을 정도이다![6]
  1. 이때 근의 공식이란, 덧셈, 뺄셈, 곱셈, 나눗셈, n승근의 조합으로만 구성된 수식을 의미한다.
  2. 사실 이러한 이식 과정에서 연산 사이에 호환이 잘 이루어지는 지를 추가적으로 확인해보아야 한다. 이는 두 정수 a, b가 주어졌을 때, a와 b를 각각 7로 나눈 나머지를 더한 후 7로 나눈 나머지를 취한 것과, a+b를 7로 나눈 나머지를 취한 것이 동일하다는 사실에 기인하고 있다. 곱셈도 마찬가지이다.
  3. classification 문제는 수학의 곳곳에서 발견되는 아주 중요한 문제이다.
  4. 존재성 증명: [math]\mathbb Z_p[/math]위의 다항식 [math]x^{p^n}-x=0[/math]과 이것의 해의 모임 [math]F[/math]를 생각하자. [math]\text{char}\left(\mathbb Z_p\right)=p[/math]이므로, 임의의 [math]\alpha,\beta \in F[/math]에 대하여 [math]\left(\alpha+\beta\right)^{p^{n}}=\alpha+\beta[/math]이다. 나머지 체의 공리들은 쉽게 보일 수 있다. 따라서, [math]F[/math][math]\mathbb{Z}_p[/math]위의 다항식 [math]x^{p^{n}}-x=0[/math]의 분해체이다.
  5. 유일성 증명: [math]\left|F\right|=p^{n}[/math]인 체 [math]F[/math]에 대해, [math]F^{\times}[/math]는 곱셈군이므로, 모든 [math] \alpha\in F^{\times}[/math]에 대해 [math]\alpha^{p^{n}-1}=\alpha^{\left|F^{\times}\right|}=1[/math]이다. 따라서, 모든 [math] \alpha\in F[/math]에 대해, [math]\alpha^{p^{n}}-\alpha=0[/math]이다. 즉, [math]F[/math]의 모든 원소는, [math]\mathbb{Z}_p[/math]위의 다항식 [math]x^{p^{n}}-x=0[/math]의 근이고, 이 방정식의 차수는 [math]p^{n}=\left|F\right|[/math]이므로, [math]F[/math][math]\mathbb{Z}_p[/math]위의 다항식 [math]x^{p^{n}}-x=0[/math]의 분해체이다. 분해체의 유일성에 의해, [math]F[/math]는 유일하다.
  6. 복잡한 정수론적 문제란 곧 새로운 암호 시스템 하나를 의미한다. 잘 알려져 있듯이, 소인수분해의 어려움은 널리 쓰이는 RSA 암호 시스템의 기초가 된다. 그러나 RSA는 양자컴퓨터가 개발되면 공격할 수 있기 때문에, 요즘 수학자들은 양자컴퓨터로도 풀기 어려운 격자(lattice) 문제에 기반하는 다른 암호 시스템의 안전성을 연구하고 있다.