{{위키데이터 속성 추적}}
[[파일:Euclidean division example.svg|대체글=한 줄에 5개씩 나열하여 마지막 줄에 2개가 남은 총 17개의 원|섬네일|<math>17=5\times 3+2</math>. 17개를 한 줄에 5개씩 나열하면 3줄에 2개가 남는다.]]
[[파일:Pie division.svg|대체글=아홉 조각의 파이를 두 조각씩 나눠 먹는 네 사람|섬네일|<math>9=4\times 2+1</math>. 9조각의 파이를 4명의 사람이 2조각씩 나눠 먹으면 1조각이 남는다.]]
[[수학]]에서 '''나눗셈 정리'''(-定理, {{llang|en|division theorem}})는 임의의 [[정수]]를 0이 아닌 정수로 나눈 [[몫]]과 [[나머지]]를 유일하게 정의할 수 있다는 정리이다. 두 정수로부터 몫과 나머지를 얻는 연산을 '''나머지 있는 나눗셈'''({{llang|en|division with remainders}}) 또는 '''유클리드 나눗셈'''({{llang|en|Euclidean division}})이라고 한다. 양의 정수를 양의 정수로 나눈 몫은 나뉘는 수가 음의 정수가 되기 직전까지 나누는 수를 뺀 횟수를 나타내며, 나머지는 이 횟수만큼 뺀 차를 나타낸다. 예를 들어, 17에서 5를 3번 빼면 2가 남으며, 3번 이상 빼면 음의 정수가 되므로, 17를 5로 나눈 몫은 3이며 나머지는 2이다. 이를 [[곱셈]]을 사용하여 표기하면 다음과 같다.
:<math>17=5\times 3+2</math>
일반적인 두 정수의 나머지 있는 나눗셈에서 나머지는 나누는 수 <math>n</math>의 [[절댓값]]보다 작은 음이 아닌 정수들 <math>0,1,\dots,|n|-1</math> 가운데 하나이다. 각각 <math>0,1,\dots,|n|-1</math>와 법 <math>n</math>에 대하여 [[합동 산술|합동]]인 정수들
:<math>a_0,a_1,\dots,a_{|n|-1}\qquad(a_k\equiv k\pmod n)</math>
역시 나머지의 범위로 삼을 수 있다.

임의의 [[다항식]]을 0이 아닌 다항식으로 나눈 몫과 나머지 역시 유일하게 정의할 수 있다. 다항식의 나머지 있는 나눗셈은 나뉘는 다항식에서 나누는 다항식의 적절한 [[배수]]를 빼 [[다항식의 차수|차수]]가 나누는 다항식보다 낮은 다항식이 남도록 만드는 연산이다. 예를 들어, <math>f(x)=x^3-x+2</math>를 <math>g(x)=x^2+1</math>로 나눌 경우,
:<math>f(x)=xg(x)-2x+2</math>
이며, 1차 다항식 <math>-2x+2</math>는 2차 다항식 <math>g(x)</math>보다 차수가 낮으므로, 몫은 <math>q(x)=x</math>이며 나머지는 <math>r(x)=-2x+2</math>이다.

[[정수환]]이나 [[다항식환]]과 같이 나눗셈 정리와 유사한 성질이 성립하는 [[환 (수학)|환]]을 [[유클리드 정역]]이라고 한다. 유클리드 정역에서의 몫과 나머지는 유일하게 정의되지 않을 수 있다. 정수환과 다항식환 이외에도 [[가우스 정수환]]은 [[절댓값]]에 대하여 유클리드 정역을 이룬다.

일변수 다항식의 나머지 있는 나눗셈은 [[다변수 다항식]]에까지 일반화할 수 있다. 즉, 임의의 다변수 다항식을 여러 개의 0이 아닌 다변수 다항식으로 나눈 몫과 나머지를 생각할 수 있다. 이 경우 몫과 나머지는 일반적으로 유일하지 않지만, 나누는 다항식들이 [[그뢰브너 기저]]를 이룰 경우 유일한 나머지를 갖는다. 일변수 다항식과 달리, 다변수 다항식의 나머지 있는 나눗셈은 [[단항식]]들 사이의 [[단항식 순서|적절한 순서 관계]]의 선택에 의존한다. 다변수 다항식의 나머지 있는 나눗셈은 [[다변수 다항식환]] 위의 [[유한 생성 가군|유한 생성]] [[자유 가군]]에까지 일반화된다.

== (정수) 나눗셈 정리 ==
=== 정의 ===
두 [[정수]] <math>m,n</math>이 주어졌고, <math>n\ne 0</math>이라고 하자. '''나눗셈 정리'''에 따르면, 다음 두 조건을 만족시키는 정수 <math>q,r</math>가 유일하게 존재한다.
* <math>m=nq+r</math>
* <math>0\le r<|n|</math>
여기서 <math>|\cdot|</math>는 [[절댓값]]이다. 이 경우 <math>q,r</math>를 각각 <math>m</math>을 <math>n</math>으로 나눈 '''[[몫]]'''과 '''[[나머지]]'''라고 하며, 두 정수 <math>m,n</math>으로부터 몫 <math>q</math>와 나머지 <math>r</math>를 얻는 연산을 '''나머지 있는 나눗셈'''이라고 한다. [[추상대수학]]의 관점에서, 나눗셈 정리는 [[정수환]] <math>\mathbb Z</math>이 [[유클리드 정역]]임을 나타낸다.

{{증명}}
우선 <math>q,r</math>가 존재한다는 사실을 보이자. 우선 <math>m\ge 0</math>인 경우를 생각하자. 정수 <math>n\ne 0</math>을 고정하고 <math>m</math>에 대한 [[수학적 귀납법]]을 사용하자. 만약 <math>m<|n|</math>이라면, <math>q=0</math> 및 <math>r=m</math>은 원하는 조건을 만족시킨다. 이제, <math>m\ge|n|</math>이라고 하고, <math>m</math>보다 작은 모든 정수는 <math>n</math>으로 나눈 몫과 나머지를 갖는다고 가정하자. 그렇다면 <math>m-1<m</math>이므로 수학적 귀납법의 가정에 의하여 다음 두 조건을 만족시키는 정수 <math>q_1,r_1</math>이 존재한다.
* <math>m-1=nq_1+r_1</math>
* <math>0\le r_1<|n|</math>
만약 <math>r_1\ne|n|-1</math>일 경우, <math>q=q_1</math>과 <math>r=r_1+1</math>은 원하는 조건을 만족시킨다. 만약 <math>r_1=|n|-1</math>일 경우 <math>q=q_1+|n|/n</math>과 <math>r=0</math>을 취하면 된다. 수학적 귀납법에 의하여, 임의의 <math>m\ge 0</math>에 대하여, 정리 속 조건을 만족시키는 <math>q,r</math>가 존재한다. <math>n</math>을 미리 고정하였으므로 이는 임의의 <math>m\ge 0</math> 및 <math>n\ne 0</math>에 적용된다.

이제 <math>m<0</math>인 경우를 생각하자. 이 경우 <math>-m>0</math>은 양의 정수이므로, 다음 두 조건을 만족시키는 정수 <math>q_1,r_1</math>이 존재한다.
* <math>-m=nq_1+r_1</math>
* <math>0\le r_1<|n|</math>
만약 <math>r_1\ne 0</math>이라면 <math>q=-q_1-|n|/n</math>과 <math>r=|n|-r_1</math>을 취하고, 만약 <math>r_1=0</math>이라면 <math>q=-q_1</math>과 <math>r=0</math>을 취하자. 그렇다면 <math>q,r</math>는 원하는 조건을 만족시킨다. 이에 따라 <math>q,r</math>는 임의의 정수 <math>m</math> 및 0이 아닌 정수 <math>n</math>에 대하여 존재한다.

이제 <math>q,r</math>가 유일하다는 사실을 보이자. 정수 <math>q_1,r_1,q_2,r_2</math>가 다음 조건을 만족시킨다고 가정하자.
* <math>m=nq_1+r_1=nq_2+r_2</math>
* <math>0\le r_1<|n|</math>
* <math>0\le r_2<|n|</math>
그렇다면,
:<math>n(q_1-q_2)=r_2-r_1</math>
이며, 양변을 <math>n</math>으로 나누고 절댓값을 취하면
:<math>|q_1-q_2|=\frac{|r_2-r_1|}{|n|}<\frac{|n|-0}{|n|}=1</math>
을 얻는다. 즉, <math>q_1=q_2</math>이며, 따라서 <math>r_1=r_2</math>이다. 이에 따라, 정리 속 조건을 만족시키는 <math>q,r</math>는 유일하다.
{{증명 끝}}

=== 예 ===
<math>a=7</math>을 <math>b=3</math>으로 나눈 몫은 <math>q=2</math>, 나머지는 <math>r=1</math>이다 (<math>7=3\times 2+1</math>).

=== 따름정리 ===
==== 대분수 전개 ====
모든 [[유리수]]는 [[정수]]와 분모가 양의 정수인 [[기약 분수|기약]] [[진분수]]의 합으로 유일하게 나타낼 수 있다. 즉, 유리수 <math>a/b</math> (<math>a,b</math>는 정수, <math>b>0</math>, <math>a</math>와 <math>b</math>는 [[서로소 아이디얼|서로소]])에 대하여, <math>a</math>를 <math>b</math>로 나눈 몫과 나머지를 각각 <math>q,r</math>라고 하면,
:<math>\frac ab=q+\frac rb</math>
이며, 이 경우 <math>r/b</math>는 기약 분수이자 진분수이다.

== 다항식 나눗셈 정리 ==
=== 정의 ===
[[환 (수학)|환]] <math>R</math>에서 계수를 취하는 두 다항식 <math>f,g\in R[x]</math>가 주어졌고, <math>g(x)\ne 0</math>이며, <math>g(x)</math>의 최고차항의 계수가 <math>R</math>의 [[가역원]]이라고 하자. 그렇다면, 다음 두 조건을 만족시키는 다항식 <math>q,r\in R[x]</math>가 유일하게 존재한다.<ref name="Grillet">{{서적 인용
|성=Grillet
|이름=Pierre Antoine
|제목=Abstract Algebra
|언어=en
|판=2
|총서=Graduate Texts in Mathematics
|권=242
|출판사=Springer
|위치=New York, NY
|날짜=2007
|isbn=978-0-387-71567-4
|issn=0072-5285
|doi=10.1007/978-0-387-71568-1
|lccn=2007928732
}}</ref>{{rp|121, §III.5, Proposition 5.5}}<ref name="Lang">{{서적 인용
|성=Lang
|이름=Serge
|저자링크=서지 랭
|제목=Algebra
|언어=en
|판=개정 3
|총서=Graduate Texts in Mathematics
|권=211
|출판사=Springer
|위치=New York, NY
|날짜=2002
|issn=0072-5285
|isbn=978-1-4612-6551-1
|doi=10.1007/978-1-4613-0041-0
|zbl=0984.00001
|mr=1878556
}}</ref>{{rp|173-174, §IV.1, Theorem 1.1}}
* <math>f(x)=g(x)q(x)+r(x)</math>
* <math>\deg r<\deg g</math>
마찬가지로, 다음 두 조건을 만족시키는 다항식 <math>\tilde q,\tilde r\in R[x]</math>가 유일하게 존재한다.
* <math>f(x)=\tilde q(x)g(x)+\tilde r(x)</math>
* <math>\deg\tilde r<\deg g</math>
여기서 <math>\deg</math>는 [[다항식의 차수]]이다 (<math>\deg 0=-\infty</math>). 특히, <math>g(x)</math>가 [[일계수 다항식]]일 경우 나눗셈 정리가 적용된다 (<math>1\in R</math>은 항상 [[가역원]]이기 때문이다). 만약 <math>R</math>가 [[가환환]]일 경우, <math>R[x]</math> 역시 가환환이므로, <math>q(x),r(x)</math>는 <math>\tilde q(x),\tilde r(x)</math>와 일치한다. 만약 <math>R</math>가 [[나눗셈환]]일 경우, <math>R</math>의 모든 0이 아닌 원소는 [[가역원]]이므로, 나눗셈 정리는 임의의 <math>g(x)\ne 0</math>에 대하여 성립한다.

{{증명}}
우선 <math>q(x),r(x)</math>가 존재함을 증명하자. 임의의 <math>g(x)\ne 0</math>을 고정하고 <math>\deg f</math>에 대한 수학적 귀납법을 사용하자. 만약 <math>\deg f<\deg g</math>라면, <math>q(x)=0</math>과 <math>r(x)=f(x)</math>를 취하면 된다. 이제, <math>\deg f\ge\deg g</math>라고 하고, 차수가 <math>f(x)</math>보다 낮은 다항식이 항상 <math>g(x)</math>로 나눈 몫과 나머지를 갖는다고 가정하자. 차수 <math>\deg f</math>에 대한 [[수학적 귀납법]]을 사용하자.
:<math>f(x)=ax^{\deg f}+\cdots</math>
:<math>g(x)=bx^{\deg g}+\cdots</math>
라고 하고,
:<math>f_1(x)=f(x)-g(x)b^{-1}ax^{\deg f-\deg g}</math>
라고 하자. 그렇다면 <math>\deg f_1<\deg f</math>이므로, 수학적 귀납법의 가정에 의하여 다음 두 조건을 만족시키는 <math>q_1,r\in R[x]</math>가 존재한다.
* <math>f_1(x)=g(x)q_1(x)+r(x)</math>
* <math>\deg r<\deg g</math>
그렇다면
:<math>q(x)=q_1(x)+b^{-1}ax^{\deg f-\deg g}</math>
와 <math>r(x)</math>는 원하는 조건을 만족시킨다.

이제 <math>q(x),r(x)</math>가 유일함을 증명하자. <math>q_1,r_1,q_2,r_2\in R[x]</math>가 다음 조건을 만족시킨다고 가정하자.
* <math>f(x)=g(x)q_1(x)+r_1(x)=g(x)q_2(x)+r_2(x)</math>
* <math>\deg r_1<\deg g</math>
* <math>\deg r_2<\deg g</math>
그렇다면
:<math>r_1(x)-r_2(x)=g(x)(q_2(x)-q_1(x))</math>
이며, 또한 <math>g(x)</math>의 최고차항의 계수는 왼쪽 또는 오른쪽 [[영인자]]가 아니므로,
:<math>\deg g+\deg(q_2-q_1)=\deg(g(q_2-q_1))=\deg(r_2-r_1)\le\max\{\deg r_1,\deg r_2\}</math>
이다. 따라서 <math>q_1(x)=q_2(x)</math>, <math>r_1(x)=r_2(x)</math>이다.
{{증명 끝}}

보다 일반적으로, [[환 (수학)|환]] <math>R</math>에서 계수를 취하는 다항식 <math>f,g\in R[x]</math>가 주어졌고, <math>g(x)\ne 0</math>이며, <math>g(x)</math>의 최고차항의 계수를 <math>b</math>라고 하자. 그렇다면, 다음 두 조건을 만족시키는 다항식 <math>q,r\in R[x]</math>가 존재한다.<ref name="Bourbaki">{{서적 인용
|성=Bourbaki
|이름=Nicolas
|저자링크=니콜라 부르바키
|제목=Algebra II. Chapters 4–7
|언어=en
|총서=Elements of Mathematics
|출판사=Springer
|위치=Berlin, Heidelberg
|날짜=2003
|isbn=978-3-540-00706-7
|doi=10.1007/978-3-642-61698-3
}}</ref>{{rp|IV.10, §IV.6, Proposition 10}}
* <math>b^{\max\{\deg f-\deg g+1,0\}}f(x)=g(x)q(x)+r(x)</math>
* <math>\deg r<\deg g</math>
마찬가지로, 다음 두 조건을 만족시키는 다항식 <math>\tilde q,\tilde r\in R[x]</math>가 존재한다.
* <math>f(x)b^{\max\{\deg f-\deg g+1,0\}}=\tilde q(x)g(x)+\tilde r(x)</math>
* <math>\deg\tilde r<\deg g</math>
만약 <math>b\in R</math>가 [[가역원]]이라면, 이러한 <math>q(x),r(x),\tilde q(x),\tilde r(x)</math>는 유일하다.

==== 체의 경우 ====
만약 <math>R=K</math>가 [[나눗셈환]]일 경우, <math>K</math>의 모든 0이 아닌 원소는 [[가역원]]이므로, 임의의 <math>g(x)\ne 0</math>의 최고 차수의 항의 계수는 [[가역원]]이다. 특히 만약 <math>K</math>가 [[체 (수학)|체]]라면, <math>K[x]</math>는 [[가환환]]이며, 두 종류의 나눗셈을 구분할 필요가 없다. 체 계수의 다항식의 나눗셈 정리는 다음과 같다.

[[체 (수학)|체]] <math>K</math>에서 계수를 취하는 [[다항식]] <math>f,g\in K[x]</math>가 주어졌고, <math>g(x)\ne 0</math>이라고 하자. 그렇다면, 다음 두 조건을 만족시키는 다항식 <math>q,r\in K[x]</math>가 유일하게 존재한다.
* <math>f(x)=g(x)q(x)+r(x)</math>
* <math>\deg r<\deg g</math>
이에 따라, [[체 (수학)|체]]에 대한 일변수 [[다항식환]] <math>K[x]</math>는 [[유클리드 정역]]을 이룬다.

==== 복소수 계수 다항식의 경우 ====
실수체에 대한 다항식 나눗셈 정리에 따라, 실수 계수 다항식을 실수 계수 다항식으로 나눈 몫과 나머지는 실수 계수 다항식이다. 유리수 계수 다항식도 마찬가지다. 정수환에 대한 다항식 나눗셈 정리에 따라, 정수 계수 다항식을 정수 계수 [[일계수 다항식]]으로 나눈 몫과 나머지는 항상 정수 계수 다항식이다. 그러나 일반적으로 정수 계수 다항식의 나눗셈에서의 몫과 나머지는 유리수 계수 다항식이며, 이는 정수 계수 다항식이 아닐 수 있다.

=== 예 ===
정수 계수 다항식 <math>f(x)=x^2-x-1</math>를 <math>g(x)=x+1</math>로 나눈 몫과 나머지는 각각 <math>q(x)=x-2</math>와 <math>r(x)=1</math>이다.

임의의 환 <math>R</math>에서, 다항식 <math>ax</math>를 <math>bx</math> (<math>b</math>는 가역원)로 나눈 몫은 <math>b^{-1}a</math>, 나머지는 0이다. 그 [[반대환]] <math>R^{\operatorname{op}}</math>에서 몫과 나머지는 각각 <math>ab^{-1}</math>와 0이다. <math>R</math>가 가환환일 경우 [[반대환]]은 자기 자신과 일치하므로, <math>R</math>와 <math>R^{\operatorname{op}}</math>에서의 몫과 나머지는 일치한다.

=== 따름정리 ===
==== 나머지 정리 ====
{{본문|다항식의 나머지 정리}}
[[환 (수학)|환]] <math>R</math>에서 계수를 취하는 다항식 <math>f\in R[x]</math>가 주어졌고, <math>R</math>를 [[부분환]]으로 갖는 환 <math>S</math>의 원소 <math>a\in S</math>가 <math>R</math>의 모든 원소와 가환한다고 하자 (임의의 <math>b\in R</math>에 대하여, <math>ab=ba</math>). '''나머지 정리'''(-定理, {{llang|en|remainder theorem}})에 따르면, <math>f(x)</math>를 <math>x-a</math>로 나눈 나머지는 <math>f(a)</math>이다.

특히, 만약 <math>S</math>가 [[가환환]]일 경우, 임의의 <math>a\in S</math>에 대하여 나머지 정리가 성립한다.

{{증명}}
다항식 나눗셈 정리에 따라 다음 두 조건을 만족시키는 <math>q,r\in S[x]</math>가 존재한다.
* <math>f(x)=(x-a)q(x)+r(x)</math>
* <math>\deg r<\deg(x-a)=1</math>
따라서 <math>r\in S</math>이다. 함수
:<math>R[x]\to S</math>
:<math>g(x)\mapsto g(a)</math>
는 자명하게 덧셈을 보존한다. 또한, <math>a</math>가 <math>R</math>의 모든 원소와 가환하므로 이는 곱셈을 보존한다. 즉, [[환 준동형]]이다. 이를
:<math>f(x)=(x-a)q(x)+r(x)</math>
에 적용하면
:<math>f(a)=(a-a)q(a)+r(a)=r</math>
을 얻는다.
{{증명 끝}}

==== 인수 정리 ====
{{본문|인수 정리}}
[[환 (수학)|환]] <math>R</math>에서 계수를 취하는 다항식 <math>f\in R[x]</math>가 주어졌고, <math>R</math>를 [[부분환]]으로 갖는 환 <math>S</math>의 원소 <math>a\in S</math>가 <math>R</math>의 모든 원소와 가환한다고 하자 (임의의 <math>b\in R</math>에 대하여, <math>ab=ba</math>). '''인수 정리'''(因數定理, {{llang|en|factor theorem}})에 따르면, 다음 두 조건이 서로 동치이다.<ref name="Grillet" />{{rp|122, §III.5, Proposition 5.7}}<ref name="Lang" />{{rp|175, §IV.1, Theorem 1.4}}
* <math>x-a\mid f(x)</math>
* <math>f(a)=0</math>
특히, 만약 <math>S</math>가 [[가환환]]일 경우 이는 임의의 <math>a\in S</math>에 대하여 성립한다.

{{증명}}
만약 <math>x-a\mid f(x)</math>라면, <math>f(x)=(x-a)q(x)</math>인 <math>q\in S[x]</math>가 존재하므로,
:<math>f(a)=(a-a)q(a)=0</math>
이다.

만약 <math>f(a)=0</math>이라면, 나머지 정리에 따라
:<math>f(x)=(x-a)q(x)+f(a)=(x-a)q(x)</math>
인 <math>q\in S[x]</math>가 존재하므로 <math>x-a\mid f(x)</math>이다.
{{증명 끝}}

==== 대분수 전개 ====
[[체 (수학)|체]] <math>K</math>에서 계수를 취하는 [[유리 함수]]는 다음과 같은 꼴로 유일하게 나타낼 수 있다.
:<math>q(x)+\frac{r(x)}{g(x)}\in K(x)</math>
여기서 다항식 <math>q,r,g\in K[x]</math>는 다음 조건을 만족시킨다.
* <math>\deg r<\deg g</math>
* <math>g(x)</math>는 [[일계수 다항식]]이다.
* <math>\gcd\{r,g\}=1</math>

==== g진 전개 ====
환 <math>R</math>에서 계수를 취하는 두 다항식 <math>f,g\in R[x]</math>가 주어졌고, <math>\deg f\ge 0</math>, <math>\deg g\ge 1</math>이며, <math>g(x)</math>의 최고차항의 계수가 <math>R</math>의 가역원이라고 하자. 그렇다면, 다음 두 조건을 만족시키는 다항식 <math>q_0,\dots q_{\lfloor\deg f/{\deg g}\rfloor}\in R[x]</math>가 유일하게 존재한다.<ref name="Grillet" />{{rp|124, §III.5, Exercise 3}}<ref name="Lang" />{{rp|189, §IV.5, Theorem 5.3}}
* <math>f(x)=q_0(x)+g(x)q_1(x)+\cdots+g(x)^{\lfloor\deg f/{\deg g}\rfloor}q_{\lfloor\deg f/{\deg g}\rfloor}(x)</math>
* <math>\deg q_i<\deg g\qquad(0\le i\le\lfloor\deg f/{\deg g}\rfloor)</math>
마찬가지로, 다음 두 조건을 만족시키는 다항식 <math>\tilde q_0,\dots,\tilde q_{\lfloor\deg f/{\deg g}\rfloor}\in R[x]</math>가 유일하게 존재한다.
* <math>f(x)=\tilde q_0(x)+\tilde q_1(x)g(x)+\cdots+\tilde q_{\lfloor\deg f/{\deg g}\rfloor}(x)g(x)^{\lfloor\deg f/{\deg g}\rfloor}</math>
* <math>\deg\tilde q_i<\deg g\qquad(0\le i\le\lfloor\deg f/{\deg g}\rfloor)</math>
여기서 <math>\lfloor\cdot\rfloor</math>는 [[바닥 함수]]이다. 특히, <math>g(x)=x</math>일 경우 이는 다항식 <math>f(x)</math>의 통상적인 전개와 같다.

=== 알고리즘 ===
다항식의 나머지 있는 나눗셈의 몫과 나머지를 구하는 방법으로 [[장제법]]이 있다. 만약 1차 다항식으로 나눌 경우 [[조립제법]]을 사용할 수 있다. 다항식 나머지 정리에 따라, 다항식의 [[정의역]] 속 원소에 대한 값은 조립제법을 통해 구할 수 있다. 이는 다항식의 통상적인 전개를 통한 계산보다 덜 복잡하다.

== 유클리드 정역 ==
{{본문|유클리드 정역}}

=== 정의 ===
[[정수환]] <math>\mathbb Z</math> 또는 [[체 (수학)|체]] <math>K</math> 위의 [[다항식환]] <math>K[x]</math>와 같이, 나머지 있는 나눗셈을 할 수 있고 [[정역]]을 이루는 [[환 (수학)|환]]을 [[유클리드 정역]]이라고 한다. 구체적으로, [[유클리드 정역]]은 다음을 만족시키는 [[함수]] <math>\operatorname N\colon R\setminus\{0\}\to\mathbb N</math>가 존재하는 [[정역]] <math>R</math>이다.
* 임의의 <math>a,b\in R</math> (<math>b\ne 0</math>)에 대하여, <math>a=bq+r</math>이며, <math>r=0</math>이거나 <math>\operatorname N(r)<\operatorname N(b)</math>인 <math>q,r\in R</math>이 존재한다.
이 경우 <math>q,r</math>는 [[정수환]]이나 [[다항식환]]에서와 달리 유일하지 않을 수 있다.

=== 예 ===
[[정수환]] <math>\mathbb Z</math>은 [[절댓값]] 함수 <math>n\mapsto|n|</math>에 대하여 [[유클리드 정역]]을 이룬다. [[체 (수학)|체]] <math>K</math> 위의 [[다항식환]] <math>K[x]</math>는 [[다항식의 차수|차수]] 함수 <math>f\mapsto \deg f</math>에 대하여 [[유클리드 정역]]을 이룬다.

[[주 아이디얼 정역]]은 [[유클리드 정역]]보다 약한 조건이다. 즉, [[유클리드 정역]]의 모든 [[아이디얼]]은 한 원소로 생성할 수 있지만, 그 역은 성립하지 않는다. 예를 들어, <math>\mathbb Z</math>의 [[아이디얼]]은 음이 아닌 정수 <math>n</math>을 통해 <math>n\mathbb Z</math>의 꼴로 유일하게 나타낼 수 있으며, <math>K[x]</math>의 [[아이디얼]]은 유일한 [[일계수 다항식]] 또는 0을 생성원으로 갖는다.

[[이차 수체]]의 [[대수적 정수환]]은 [[유클리드 정역]]을 이룰 필요가 없다. [[유클리드 정역]]을 이루는 [[허수 이차 수체]]의 [[대수적 정수환]]은 유한 개밖에 없으며, 이들은 모두 [[체 노름]]에 대하여 [[유클리드 정역]]을 이룬다. [[체 노름]]의 [[절댓값]]에 대하여 [[유클리드 정역]]을 이루는 [[실수 이차 수체]]의 [[대수적 정수환]]도 유한 개뿐이다. 다음은 [[유클리드 정역]]을 이루는 [[이차 수체]]의 [[대수적 정수환]]의 일부이다.

==== 가우스 정수환 ====
[[허수 이차 수체]] <math>\mathbb Q(i)</math>의 [[대수적 정수환]]
:<math>\mathbb Z[i]=\{a+bi\colon a,b\in\mathbb Z\}</math>
를 [[가우스 정수환]]이라고 한다. <math>\mathbb Q(i)</math> 위의 [[체 노름]]은
:<math>\operatorname N(a+bi)=a^2+b^2\qquad(a,b\in\mathbb Z)</math>
이며, [[가우스 정수환]]은 [[체 노름]]에 대하여 [[유클리드 정역]]을 이룬다.

{{증명}}
임의의 <math>a+bi,c+di\in\mathbb Z[i]</math> (<math>a,b,c,d\in\mathbb Z</math>, <math>c+di\ne 0</math>)에 대하여,
:<math>\frac{a+bi}{c+di}=e+fi</math>
:<math>e,f\in\mathbb Q</math>
라고 하자. 이제,
:<math>|e-p|\le\frac 12</math>
:<math>|f-q|\le\frac 12</math>
인 <math>p,q\in\mathbb Z</math>를 취하고
:<math>r+si=(c+di)((e-p)+(f-q)i)=(a+bi)-(c+di)(p+qi)\in\mathbb Z[i]</math>
라고 하자. 그렇다면,
:<math>a+bi=(c+di)(p+qi)+(r+si)</math>
:<math>\operatorname N(r+si)=\operatorname N(c+di)\operatorname N((e-p)+(f-q)i)\le\frac 12\operatorname N(c+di)<\operatorname N(c+di)</math>
이다. 이에 따라 <math>\mathbb Z[i]</math>는 체 노름 <math>\operatorname N</math>에 대하여 유클리드 정역을 이룬다.
{{증명 끝}}

[[가우스 정수환]]의 원소는 [[데카르트 좌표 평면]] 위의 격자점, 또는 원점에서 격자점을 향하는 벡터와 일대일 대응하며, [[체 노름]]은 원점과의 거리의 제곱과 같다. <math>c+di</math>의 <math>i</math>배 <math>i(c+di)</math>에 대응하는 벡터는 <math>c+di</math>에 대응하는 벡터와 직교한다. 따라서, <math>c+di</math>의 배수는 <math>c+di</math>와 <math>i(c+di)</math>의 정수 계수 선형 결합이므로, <math>c+di</math>와 <math>i(c+di)</math>를 기저로 하는 새로운 데카르트 좌표계의 격자점에 대응한다. 주어진 <math>a+bi</math>에 대하여, 새로운 격자점들 가운데 <math>a+bi</math>와 가장 가까운 하나를 <math>(c+di)(p+qi)</math>라고 하자. 그렇다면 <math>p+qi</math>를 <math>a+bi</math>에서 <math>c+di</math>로 나눈 몫으로 취할 수 있다. 이 경우 나머지 <math>r+si</math>는 <math>(c+di)(p+qi)</math>에서 <math>a+bi</math>를 향하는 벡터와 같다.

==== −3에 대한 이차 수체의 대수적 정수환 ====
[[허수 이차 수체]] <math>\mathbb Q(\sqrt{-3})</math>의 [[대수적 정수환]]
:<math>\mathbb Z[\sqrt{-3}]=\left\{\frac{a+b\sqrt{-3}}2\colon a,b\in\mathbb Z,\;a\equiv b\pmod 2\right\}</math>
은 [[체 노름]]
:<math>\operatorname N(a+b\sqrt{-3})=a^2+3b^2\qquad(a,b\in\mathbb Q)</math>
에 대하여 유클리드 정역을 이룬다.

{{증명}}
임의의 <math>a+b\sqrt{-3},c+d\sqrt{-3}\in\mathbb Z[\sqrt{-3}]</math> (<math>a,b,c,d\in\mathbb Q</math>, <math>c+d\sqrt{-3}\ne 0</math>)에 대하여,
:<math>\frac{a+b\sqrt{-3}}{c+d\sqrt{-3}}=e+f\sqrt{-3}</math>
:<math>e,f\in\mathbb Q</math>
라고 하자. 이제,
:<math>|2e-p|\le 1</math>
:<math>|2f-q|\le\frac 12</math>
:<math>p\equiv q\pmod 2</math>
인 <math>p,q\in\mathbb Z</math>를 취하고,
:<math>r+s\sqrt{-3}=(c+d\sqrt{-3})\left(\frac{2e-p}2+\frac{2f-q}2\sqrt{-3}\right)=(a+bi)-(c+d\sqrt{-3})\left(\frac p2+\frac q2\sqrt{-3}\right)\in\mathbb Z[\sqrt{-3}]</math>
이라고 하자. 그렇다면,
:<math>a+b\sqrt{-3}=(c+d\sqrt{-3})\left(\frac p2+\frac q2\sqrt{-3}\right)+(r+s\sqrt{-3})</math>
:<math>\operatorname N(r+s\sqrt{-3})=\operatorname N(c+d\sqrt{-3})\operatorname N\left(\frac{2e-p}2+\frac{2f-q}2\sqrt{-3}\right)\le\frac 7{16}\operatorname N(c+d\sqrt{-3})<\operatorname N(c+d\sqrt{-3})</math>
이다. 이에 따라 <math>\mathbb Z[\sqrt{-3}]</math>은 체 노름 <math>\operatorname N</math>에 대하여 유클리드 정역을 이룬다.
{{증명 끝}}

== 다변수 다항식 ==
{{본문|그뢰브너 기저}}
=== 정의 ===
==== 단항식 순서 ====
{{본문|단항식 순서}}
[[체 (수학)|체]] <math>K</math>가 주어졌다고 하자. [[일변수 다항식환]] <math>K[x]</math> 속에서 표준적인 나눗셈을 정의할 수 있는 것은 [[단항식]]들 사이에 표준적인 순서 <math>1<x<x^2<\cdots</math>가 존재하기 때문이다. [[다변수 다항식환]] <math>K[x_1,\dots,x_n]</math>의 [[단항식]]들 사이에는 표준적인 순서가 존재하지 않으며, [[다변수 다항식]]들의 나눗셈을 정의하기 위해서는 [[단항식 순서]]를 미리 지정해야 한다.

[[체 (수학)|체]] <math>K</math>에서 계수를 취하는 [[다변수 다항식환]] <math>K[x_1,\dots,x_n]</math> 위의 '''[[단항식 순서]]'''(單項式順序, {{llang|en|monomial order}})는 다음 세 조건을 만족시키는, [[단항식]]의 집합 위의 [[전순서]] <math>\le</math>이다.
* 만약 <math>x_1^{i_1}\cdots x_n^{i_n}<x_1^{j_1}\cdots x_n^{j_n}</math>이라면, <math>(x_1^{i_1}\cdots x_n^{i_n})(x_1^{k_1}\cdots x_n^{k_n})<(x_1^{j_1}\cdots x_n^{j_n})(x_1^{k_1}\cdots x_n^{k_n})</math>이다.
* 항상 <math>1\le x_1^{i_1}\cdots x_n^{i_n}</math>이다.
* <math>\le</math>는 [[정렬 전순서]]이다.
두 번째와 세 번째 조건은 하나만 취하여도 좋다. 첫 번째와 두 번째 조건은 세 번째 조건을 함의하며, 반대로 첫 번째와 세 번째 조건도 두 번째 조건을 함의하기 때문이다. 정의에 따라, 만약 <math>x_1^{i_1}\cdots x_n^{i_n}\mid x_1^{j_1}\cdots x_n^{j_n}</math>이라면, <math>x_1^{i_1}\cdots x_n^{i_n}\le x_1^{j_1}\cdots x_n^{j_n}</math>이다.

[[체 (수학)|체]] <math>K</math>에서 계수를 취하는 [[다변수 다항식환]] <math>K[x_1,\dots,x_n]</math> 위의 [[단항식 순서]] <math>\le</math>가 주어졌다고 하자. 그렇다면, 임의의 [[다변수 다항식]] <math>f\in K[x_1,\dots,x_n]</math>은 그 (0이 아닌) 항들을 <math>\le</math>에 대하여 큰 항부터 작은 항까지의 순서대로 정렬하여
:<math>f(x_1,\dots,x_n)=a_{m_1,\dots,m_n}x_1^{m_1}\cdots x_n^{m_n}+\cdots</math>
꼴로 나타낼 수 있다. 이 경우, 단항식 순서 <math>\le</math>에 대한 <math>f</math>의 '''최고차항'''(最高次項, {{llang|en|leading term}})과 '''최고차 계수'''(最高次係數, {{llang|en|leading coefficient}})와 '''최고차 단항식'''(最高次單項式, {{llang|en|leading monomial}})은 각각 다음과 같다.
:<math>\operatorname{lt}f=a_{m_1,\dots,m_n}x_1^{m_1}\cdots x_n^{m_n}</math>
:<math>\operatorname{lc}f=a_{m_1,\dots,m_n}</math>
:<math>\operatorname{lm}f=x_1^{m_1}\cdots x_n^{m_n}</math>
(다항식 0의 최고차항, 최고차 계수, 최고차 단항식은 보통 모두 0으로 정의하며, 항상 <math>\operatorname{lm}0\le\operatorname{lm}f</math>이라고 생각한다.)

==== 다변수 나눗셈 ====
{{본문|다변수 나눗셈}}
[[체 (수학)|체]] <math>K</math>에서 계수를 취하는 [[다변수 다항식]] <math>f,g_1,\dots,g_k\in K[x_1,\dots,x_n]</math> 및 [[단항식 순서]] <math>\le</math>가 주어졌고, <math>g_1,\dots,g_k\ne 0</math>이라고 하자. 그렇다면, 다음을 만족시키는 [[다변수 다항식]] <math>q_1,\dots,q_k,r\in K[x_1,\dots,x_n]</math>이 존재한다.
* <math>f=g_1q_1+\cdots+g_kq_k+r</math>
* <math>\operatorname{lm}g_iq_i\le\operatorname{lm}f\qquad(1\le i\le k)</math>
* <math>\operatorname{lm}r\le\operatorname{lm}f</math>
* <math>r</math>에 등장하는 모든 (0이 아닌 계수의) 단항식은 <math>\operatorname{lm}g_1,\dots,\operatorname{lm}g_k</math>의 [[배수]]가 아니다.
이 경우 몫과 나머지 <math>q_1,\dots,q_k,r</math>는 유일할 필요가 없다. 만약 <math>\{g_1,\dots,g_k\}</math>가 <math>(g_1,\dots,g_k)</math>의 [[그뢰브너 기저]]를 이룰 경우, 나머지 <math>r</math>는 항상 유일하며, 임의의 <math>f\in K[x_1,\dots,x_n]</math>에 대하여, 다음 두 조건이 서로 [[동치]]이다.
* <math>f\in(g_1,\dots,g_k)</math>
* <math>f</math>를 <math>g_1,\dots,g_k</math>로 나눈 나머지는 0이다.

==== 그뢰브너 기저 ====
{{본문|그뢰브너 기저}}
[[체 (수학)|체]] <math>K</math>에서 계수를 취하는 [[다변수 다항식환]] <math>K[x_1,\dots,x_n]</math>의 [[아이디얼]] <math>\mathfrak a\subseteq K[x_1,\dots,x_n]</math> 및 [[단항식 순서]] <math>\le</math>가 주어졌다고 하자. [[유한 집합]] <math>\{g_1,\dots,g_k\}\subseteq\mathfrak a\setminus\{0\}</math>에 대하여, 다음 조건들이 서로 [[동치]]이며, 이를 만족시키는 <math>\{g_1,\dots,g_k\}</math>를 <math>\mathfrak a</math>의 '''[[그뢰브너 기저]]'''라고 한다.
* <math>(\operatorname{lm}\mathfrak a)=(\operatorname{lm}g_1,\dots,\operatorname{lm}g_k)</math>
* 임의의 <math>f\in\mathfrak a</math>에 대하여, <math>\operatorname{lm}g_i\mid\operatorname{lm}f</math>인 <math>1\le i\le k</math>가 존재한다.
* 임의의 <math>f\in\mathfrak a</math>에 대하여, <math>f</math>를 <math>g_1,\dots,g_k</math>로 나눈 모든 나머지는 0이다.
* 임의의 <math>f\in\mathfrak a</math>에 대하여, <math>f</math>를 <math>g_1,\dots,g_k</math>로 나눈 나머지 가운데 적어도 하나는 0이다.
* ([[부흐베르거 알고리즘]]) <math>\mathfrak a=(g_1,\dots,g_k)</math>이며, 임의의 <math>1\le i<j\le k</math>에 대하여, <math>\operatorname{lcm}\{\operatorname{lm}g_i,\operatorname{lm}g_j\}(g_i/\operatorname{lt}g_i-g_j/\operatorname{lt}g_j)</math>를 <math>g_1,\dots,g_k</math>로 나눈 모든 나머지는 0이다.
* ([[부흐베르거 알고리즘]]) <math>\mathfrak a=(g_1,\dots,g_k)</math>이며, 임의의 <math>1\le i<j\le k</math>에 대하여, <math>\operatorname{lcm}\{\operatorname{lm}g_i,\operatorname{lm}g_j\}(g_i/\operatorname{lt}g_i-g_j/\operatorname{lt}g_j)</math>를 <math>g_1,\dots,g_k</math>로 나눈 나머지 가운데 적어도 하나는 0이다.
여기서, 임의의 다항식 집합 <math>S\subseteq K[x_1,\dots,x_n]</math>에 대하여, <math>(S)</math>는 <math>S</math>로 생성된 <math>K[x_1,\dots,x_n]</math>의 [[아이디얼]]이다. <math>S=\{s_1,\dots,s_{|S|}\}</math>가 [[유한 집합]]일 경우 <math>(S)</math>는 <math>(s_1,\dots,s_{|S|})</math>로 표기할 수 있다. 또한,
:<math>\operatorname{lm}S=\{\operatorname{lm}s\colon s\in S\}</math>
이다. <math>\operatorname{lcm}</math>은 [[최소 공배수]]를 뜻한다.

[[아이디얼]] <math>\mathfrak a\subseteq K[x_1,\dots,x_n]</math>의 [[그뢰브너 기저]]는 항상 존재한다. 모든 ([[무한 집합]]일 수 있는) [[그뢰브너 기저]]는 유한 부분 그뢰브너 기저를 가지므로, 유한하지 않은 크기의 그뢰브너 기저는 다룰 필요가 없다.

==== 부흐베르거 알고리즘 ====
{{본문|부흐베르거 알고리즘}}
[[체 (수학)|체]] <math>K</math>에서 계수를 취하는 유한 개의 [[다변수 다항식]] <math>\{g_1,\dots,g_k\}\subseteq K[x_1,\dots,x_n]\setminus\{0\}</math>으로 생성된 [[아이디얼]] <math>(g_1,\dots,g_k)</math>의 [[그뢰브너 기저]]는 다음과 같은 과정을 통해 찾을 수 있으며, 이를 '''[[부흐베르거 알고리즘]]'''({{llang|en|Buchberger’s algorithm}})이라고 한다.
# <math>G=\{g_1,\dots,g_k\}</math>에서 시작한다.
# 각 <math>1\le i<j\le|G|</math>에 대하여, <math>\operatorname{lcm}\{\operatorname{lm}g_i,\operatorname{lm}g_j\}(g_i/\operatorname{lt}g_i-g_j/\operatorname{lt}g_j)</math>를 <math>g_1,\dots,g_{|G|}</math>로 나눈 나머지 <math>r_{ij}</math>를 구하되, 0이 아닌 나머지 <math>r_{ij}\ne 0</math>을 발견했거나, 모든 <math>1\le i<j\le|G|</math>에 대하여 구했다면 멈춘다.
# 만약 0이 아닌 나머지 <math>r_{i_0j_0}\ne 0</math>을 발견했다면, <math>g_{|G|+1}=r_{i_0j_0}</math>을 <math>G</math>의 새로운 원소로 추가하여 2번째 단계를 반복한다. 만약 임의의 <math>1\le i<j\le|G|</math>에 대하여 <math>r_{ij}=0</math>이라면, <math>G</math>는 <math>(g_1,\dots,g_k)</math>의 [[그뢰브너 기저]]이다.

== 같이 보기 ==
* [[유클리드의 보조 정리]]
* [[유클리드 호제법]]
== 각주 ==
{{각주}}

== 외부 링크 ==
* {{proofwiki|id=Division Theorem|제목=Division theorem}}

[[분류:수론 정리]]
[[분류:환론]]
[[분류:나눗셈]]