1. 개요
可換代數學 / Commutative Algebra선형대수학을 배울 때 처음에 [math(\mathbb{R})] 위 벡터 공간을 생각한다. 그리고 후에 [math(\mathbb{R})]보단 [math(\mathbb{C})]가 선형대수학을 하기 좋다는 사실을 알게 되고, 나중엔 아예 일반적인 체 [math(k)] 위에서 하게 된다.
그렇다면, [math(k)]란 체를 아예 환 [math(R)]로 바꾸면 어떨까? 이런 상황은 대수적 정수론, 대수기하학에서 정말로 자주 등장하는 상황이다. 이에 대해서 연구하는것이 바로 가환 대수학이다. 다만, 유의할 점이라면 실제 가환대수학은 선형대수학하고는 매우 다르다. 크룰 차원과 같은 선형대수학에서는 듣도보도못한 해괴망측한 정의와 개념이 밥먹듯이 튀어나오며, 여기에 대수기하학과도 밀접한 연관이 있기에 학습자를 골때리게 한다.
가환대수는 이 뿐만 아니라 대수를 연구하기도 한다. 이 경우는 대수(대수 구조)를 참조하길 바란다.
2. 가군 (module)
[math(R)]이 (commutative일 필욘 없고 1은 있는) ring일 때 [math(R)] 위의 left module [math(M)]란 이것이 abelian group이고 다음과 같은 map[math( f:R\times M\to M)]
가 있어서 [math(f(a,x)=ax)]라고 간단히 쓸 때
[math(a(x+y)=ax+ay, (ab)x=a(bx), 1x=x)]
를 만족할 때 [math((M,f))]를 말한다. 그리고 이건 보통 [math(M)]이라고 많이 쓴다.
앞으로 [math(R)]는 commutative ring이라고 가정하겠다. 이것이 commutative라고 가정하지 않아도 left module로만 한정하면 commutative case의 대부분의 성질이 성립하고, 이를 [math(k[G])] 위의 left projective module에 적용한 것이 바로 (finite) group [math(G)]에 대한 representation theory가 되지만 여기는 가환대수학이므로 이런 가정을 줄 것이다. 그러면 우리는 left module을 그냥 module이라고 쓰자.
예제를 들자면, [math(\mathbb{Z})] 위의 [math(\mathbb{Z}^n)]꼴 abelian group을 들 수 있고, 또는 아무 field [math(k)]가 있을 때 [math(k)] 위의 module은 vector space랑 다를 것이 없다. 그러니까 module은 vector space를 ring 위에서 정의한 것으로 볼 수 있다.
모든 abelian group은 유일한 방법으로 [math(\mathbb{Z})]-module이 된다.
[math(f:\mathbb{Z}\times M\to M)]
은 [math(f(n,x)=x+\cdots+x=nx)][1]일 수밖에 없기 때문에 그 방법은 유일하며 덤으로 모든 abelian group에 대해서 [math(f(n,x)=nx)]로 정의할 수 있기 때문이다.
[math(R)]-module [math(M,N)] 둘이 있을 때 [math(N\subseteq M)]라면 [math(N)]을 [math(R)]-submodule of [math(M)]라고 부르자.
[math(R)]는 자명하게 [math(R)]-module이 된다. 그리고 [math(R)]-submodule of [math(R)]를 간단하게 ideal이라고 부르자. 이는 우리가 상식적으로 알고 있는 ideal의 정의하고 정확히 같다. 그렇다면 principal ideal domain은 간단하게 모든 [math(R)]-submodule of [math(R)]가 [math(R)]하고 isomorphic일 때를 말한다고 정의하면 된다.
3. 모듈들의 카테고리 (category of modules)
[math(M,N)]가 [math(R)]-module일 때 함수 [math(f:M\to N)]이 [math(R)]-module homomorphism이란 것을[2][math( f(ax)=af(x), f(x+y)=f(x)+f(y))]
란 두 가지를 만족할 때라고 하자. 그렇다면 우린 다음과 같은 category를 정의할 수 있다.
[math(\mathrm{Ob}(\mathrm{Mod}_R)=\{\text{Class of all modules of }R\})]
[math(\mathrm{Hom}_{\mathrm{Mod}_R}(M,N)=\{R-\text{module homomorphisms }f:M\to N\})]
그러면 우린 간단히 [math(\mathrm{Hom}_{\mathrm{Mod}_R}=\mathrm{Hom}_R)]로 쓰기로 하자.
이 category의 특징은 limit와 colimit가 모두 존재한다는 것이다. 그 중에서 우리는 product와 tensor product를 정의할 수 있는데, [math(M,N)]가 [math(R)]-module일 때
[math(M\times N=\{(m,n)|m\in M,n\in N\})]
[math(a(m,n)=(am,an),(m,n)+(m',n')=(m+m',n+n'))]
라고 정의하고 연산규칙을 정한다. 그리고 [math(S)]가 아무 set이라면
[math(R^S=\{\sum_{i\in I}a_i[s_i]|s_i\subseteq S,a_i\in R\})]
라고 정의하자. 여기에서 합은 언제나 유한합이다. (그러니까 언제나 [math(\{s_i\})]를 유한집합으로만 잡는다.) 그러면 이런 formal sum은 언제나 abelian group이 되며
[math( A_1=R^{\{(m+m',n)-(m,n)-(m',n)|m,m'\in M,n\in N\}},A_2=R^{\{(m,n+n')|m\in M,n,n'\in N\}})]
[math(A_3=R^{\{a(m,n)-(am,n)|a\in R,m\in M,n\in N\}},A_4=R^{\{a(m,n)-(m,an)|a\in R,m\in M,n\in N\}})]
[math(M\otimes_R N=R^{\{(m,n)|m\in M,n\in N\}}/(A_1+A_2+A_3+A_4))]
라고 텐서곱을 정의하자. 그리고 이 때 [math((m,n)=m\otimes n)]라고 쓰자. 이것의 정의는 언뜻 보면 비직관적이고 복잡해 보이지만 잘 보면 그냥 [math(m\otimes n)] 양쪽이 각각 분배법칙이 성립하고 스칼라곱이 바깥으로 나온단 것을 복잡하게 나타냈을 뿐이다.
예를 들어보자. [math(R=\mathbb{Z})]일 때 [math(\mathbb{Z}/n\mathbb{Z})]는 abelian group이므로 [math(\mathbb{Z})]-module이 되고 [math(m,n)]의 최대공약수를 [math(\mathrm{gcd}(m,n))]이라고 쓰면
[math( \mathbb{Z}/m\mathbb{Z}\otimes_{\mathbb{Z}}\mathbb{Z}/n\mathbb{Z}=\mathbb{Z}/\mathrm{gcd}(m,n)\mathbb{Z})]
임을 알 수 있다. 좌변은 언제나 [math(1\otimes 1)]에 의해서 generate되는데 이것은 [math(\mathrm{gcd}(m,n))]를 곱하면 사라지기 때문.[3]
이 둘은 각각 product, coproduct에 대한 universal property를 만족한다. 그리고 이걸 무한번 해도 여전히 정의할 수 있다. 게다가 morphism의 kernel과 cokernel은 abelian group 할 때 똑같이 따라하면 되고 따라서 [math(\mathrm{Mod}_R)]은 limit와 colimit가 존재한다.
덤으로 우리는 [math(\mathrm{Hom}_R(M,N))]이 언제나 abelian group임을 알 수 있고, 따라서 이것은 abelian category임을 알 수 있다. 이 성질은 정말로 많이 중요하다.
이제 다음을 보자.
[math(\mathrm{Hom}_R(M,-):\mathrm{Mod}_R\to \mathrm{Mod}_R)]
은 left exact functor임을 알 수 있다. 그리고 반대로
[math(-\otimes_R N:\mathrm{Mod}_R\to \mathrm{Mod}_R)]
는 right exact functor로, 이 둘은 각각의 adjoint functor가 된다.
[math(\mathrm{Hom}_R(M\otimes_R N,L)=\mathrm{Hom}_R(M,\mathrm{Hom}_R(N,L)))]
4. 자유 가군, 사영 가군, 평탄 가군 (free module, projective module and flat module)
우리는 [math(R)]가 ring이고 [math(M)]가 [math(R)]-module일 때 [math(M)]가 free module이란 것을 적당한 [math(\{e_i\}_{i\in I}\subseteq M)]가 있어서 모든 [math(x\in M)]는 적당한 finite subset [math(I'\subseteq I)]와 [math(\{a_i\}_{i\in I'}\subseteq R)]가 유일하게 있어서[math( x=\sum_{i\in I'}a_i e_i)]
일 때를 말한다. 그리고 이 때 [math(\{e_i\})]를 [math(M)]의 기저(basis)라고 부르자.
이것은 복잡하게 생각할 필요가 없다. 그냥 적당한 집합 [math(I)]에 대해서 [math(M=R^I)]꼴인 module일 뿐이다. 그리고 [math(M)]이 free가 아니어도 되는 아무 module일 때 [math(M)]의 underlying set을 생각한 를 생각할 수 있고
[math(p:M^M\to M)]
를 [math(\sum a_i [x_i]\mapsto \sum a_i x_i)]로 생각한다면 모든 module은 free module에서 오는 surjection이 있단 결과를 얻게 된다.
이를 일반화하자. set 이 있어서 [math(R^{I_0}\to N\to 0)]란 surjection이 있다면 이것의 kernel을 생각할 수 있고
[math(0\to K\to R^{I_0}\to N\to 0)]
와 같이 쓸 수 있다. 그리고 [math(K)]에게도 적당한 set [math(I_1)]가 있어서 surjection이 있으므로 우리는
[math( R^{I_1}\to R_{I_0}\to N\to 0)]
와 같은 exact sequence를 만들 수 있다. 이를 반복해서, 다음과 같은 exact sequence를 만들었다고 생각하자.
[math( \cdots \to R^{I_n}\to \cdots \to R^{I_1}\to R^{I_0}\to N\to 0)]
이를 free resolution이라고 한다. 여기에 [math(\mathrm{Hom}_R(-,M))] 라는 Hom functor를 씌워주자. 해당 함자는 left exact functor이므로 그 결과값을 다음과 같이 쓸 수 있다.
[math( 0\to \mathrm{Hom}(R^{I_0},M)\to \mathrm{Hom}(R^{I_1},M)\to \cdots)]
이제 여기서 맨 앞을 0번째라고 하고 i번째 [math(\to )]에 [math(\mathrm{d}_i)]란 이름을 붙힌다면
[math(\mathrm{Ext}^i_R(N,M):=\mathrm{Ker}\,d_{i+1}/\mathrm{Im}\,d_i)]
라고 정의할 수 있다. 이는 [math(I_i)]들의 선택에 전혀 영향을 받지 않음을 증명할 수 있다. 특히 [math(i=0)]일 때
[math(\mathrm{Ext}^0_R(N,M)=\mathrm{Hom}_R(N,M))]
가 된다. 반대로 저 free resolution에다가 [math(-\otimes_R M)] 이라는 functor를 취해주면
[math(\cdots \to R^{I_1}\otimes_R M\to R^{I_0}\otimes_R M\to 0)]
을 만들 수 있으며 이것의 i-th homology를 [math( \mathrm{Tor}^R_i(N,M))]라고 쓰자. 이것 역시 free resolution의 선택에 대해서 독립이다.
앞으로 우리는 간단하게 [math(I)]가 finite set이고 그 원소의 갯수가 [math(n)]일 때
[math(R^I=R^n)]
라고 쓰자.
서로 다른 두 자연수 (또는 집합론에 나오는 두 cardinal) [math(m,n)]에 대해서 [math(R^m\ne R^n)]다. 이는 vector space에서 증명할 때처럼 한다.[4]
선형대수학을 처음 시작할 때 나오는 가장 중요한 결과들 중 하나는 이것이다.
[math( k)]가 field일 때 모든 [math(k)]-module은 free module이다.[5]
하지만 이것은 module로 올라가면 더 이상 성립하지 않는다. 당장 [math(\mathbb{Z})]-module만 해도 란 반례가 존재한다.
우리는 projective module을 정의할 수 있다. 선형대수에서, vector space를 둘로 나누는 것은 정말로 흔한 일이다. 이 때 우리는 이렇게 나눌 수 있는 module을 projective module이라고 할 것이다. 정확힌
free module [math(M)]과 다른 module [math(N)]이 있어서 [math(P\times N=M)]일 수 있는 [math(R)]-module [math(P)]
를 projective module이라고 할 것이다. 그렇다면 우리에겐 [math(P)]에게 두 가지 morphism이 있단 걸 알 수 있다.
[math(i:P\to M)]
[math(p:M\to P)]
선형대수를 할 때의 우리 직관대로라면 어떤 vector space 안에 들어 있는 vector space엔 projection이 반드시 있고, 그 projection이 바로 두번째다. 그리고 이는 [math(p\circ i=\mathrm{id}_P)]가 성립하기도 한다. 따라서 우리는 다음과 같이 projective module의 정의를 바꿀 수 있다.
surjection [math(M\to P)]가 있으면 적당한 injection [math(i:P\to M)]가 있어서 [math(p\circ i=\mathrm{id}_P)]
이것의 증명은 먼저 [math(M)]가 free module이라고 가정해도 되는데, 적당한 set이 있어서 [math(p':R^I\to M)]란 surjection이 언제나 존재하기 때문이다. 그리고 위에서 이미 했듯 projective module에겐 이미 이를 만족하는 free module이 정의로 하나 존재하고, 두 free module 사이엔 injection이나 surjection이 반드시 존재하므로 증명이 끝난다.
놀라운 결과들 중 하나는 이것이다.
[math(P)]가 projective [math(R)]-module이란 것은 [math(\mathrm{Hom}_R(P,-):\mathrm{Mod}_R\to \mathrm{Mod}_R)]가 exact functor인 것이다.
이미 Hom functor는 left exact functor이므로 우리는 다음을 증명하면 된다.
surjection [math(p:M\to N)]와 아무 morphism [math(f:P\to N)]에 대해서 적당한 [math(f':P\to M)]가 있어서 [math(p\circ f'=f)]인 것과 [math(P)]가 projective인 것은 동치다.
그리고 이것은 이 성질을 free module이 만족함을 보이고
[math(P\to R^{I}\to P\to M)]
이란 diagram을 만들면 증명이 끝난다. 여기에서 [math(R^I\to P)]는 surjection이고 [math(P\to R^I)]는 projective module의 성질로 만들어지는 injection이다. 그리고 이것으로 얻을 수 있는 또 한 가지의 결과가 있는데
[math(P)]가 projective [math(R)]-module이란 것은 [math(\mathrm{Ext}^i_R(P,N)=0)] for all [math(i>0)] and for all [math(R)]-module [math(N)]인 것이다.
이것은 사실 [math(i=1)]라고만 가정해도 성립한다.
이제 [math(R)]-module [math(M)]가 flat이라는 것을 [math(-\otimes_R N:\mathrm{Mod}_R\to \mathrm{Mod}_R)]이 exact sequence일 때를 말한다고 하자.
5. 크기
[math(R)]-module [math(M)]가 finitely generated란 것을 적당한 finite set [math(I)]과 surjective map [math( R^I\to M\to 0 )]가 있는 것으로 정의하고, [math(M)]이 finitely presented라는 것은 적당한 finite set [math(I_0,I_1)]가 있어서[math(R^{I_1}\to R^{I_0}\to M\to 0)]
라는 exact sequence가 존재하는 것으로 정의하자. 이는 free resolution에서 각각 1,2번째까지만 뽑아온 것이다. 그리고 finitely generated module [math(M)]에서 [math(\{s_i\}\subseteq M)]가
[math(s_j=\sum_{i\ne j} a_is_j)]
꼴이 아니고 모든 [math(x\in M)]가 [math(\{s_i\})]의 linear combination으로 표현할 수 있을 때 [math(\{s_i\})]를 [math(M)]의 generator라고 하고 이런 generator의 갯수의 최소를 [math(M)]의 rank라고 한다.
[math(M)]의 rank가 0일 때를 보자. 당연히 vector space일 땐 [math(M=0)]밖에 없지만, module의 세계에선 여기에서도 의미있는 module이 나온다. 먼저 [math(M)]은
[math(R\to M\to 0)]
란 surjection이 존재하며 이것은 injection이 될 수 없고 따라서 다음 꼴로 쓰일 수 있다.
[math(M=R/I)]
여기에서 [math(I)]는 [math(R)]의 ideal이다. 그리고 [math(I)]가 maximal ideal일 때 [math(M)]을 simple [math(R)]-module이라고 부르자.[6]
finitely generated free module은 선형대수의 finite dimensional vector space에 대응된다고 생각할 수 있다. finitely generated free module에서 basis는 finite set이 되도록 잡을 수 있는데, infinite set [math(I)]와 적당한 자연수 [math(n)]에 대해서
[math(p:R^n\to R^I\to 0)]
이란 surjection이 있다면 [math([i]\in I)]의 inverse image의 원소들을 하나씩 뽑아서 [math(R^n)]의 basis로 표현하고 나누기 없는 가우스 소거법으로 쉽게 모순을 만들 수 있다.
우습게 들릴 수도 있겠지만, finitely generated free module의 submodule은 finitely generated가 아닐 수도 있다. 예를 들어서 자명하게 자기 자신은 finitely generated free [math(R)]-module이지만
[math(R=\mathbb{C}[x_0,x_1,x_2,\cdots,])]
를 생각하고 [math(M=\mathbb{C}[x_1,x_2,\cdots])]를 생각하면 된다. 또는 정수론에서 중요한 예제로는 [math(p)]가 소수일 때 [math(\mathbb{Q}\left(p^{\frac{1}{p^{\infty}}}\right))]의 ring of integers 자기 자신이 있다.[7]
사실 finitely presented가 아니면서 finitely generated모든 module은 이 예제가 될 수 있다.
이제 [math(R)]-module [math(M)]이 noetherian이란 것을 [math(M)]의 모든 submodule이 finitely generated일 때를 말한다고 생각하자. 그러면 당연히 noetherian이면 finitely presented고
[math(M\to N)]
란 surjection이 있을 때 [math(M)]이 noetherian이면 [math(N)]도 noetherian이고 [math(M,N)]이 noetherian이면 [math(M\times N)]도 noetherian이고 특히 [math(R)] 자기 자신이 noetherian이라면 모든 자연수 [math(n)]에 대해서 [math(R^n)]이 noetherian이므로 모든 finitely generated [math(R)]-module은 noetherian이 된다. 그래서 특히 자기 자신이 noetherian module인 ring을 noetherian ring이라고 부르자. [8]
이제 [math(R)]이 noetherian이고 field가 아닐 때 [math(R/I)]꼴들을 볼 텐데, [math(I)]의 chain
[math(I\subseteq I_1\subseteq I_2\subseteq \cdots \subseteq I_n=R)]
의 최대 길이 [math(n)]을 [math(R/I)]의 length라고 정의하자.
[math(R)]가 artinian ring이란 것을 최대로 ideal들
[math((0)=I_0\subseteq I_1\subseteq I_2\cdots \subseteq I_n=R)]
을 늘려도 그 길이가 유한인 것으로 정의한다. 그러면 [math(R)] 자기 자신은 noetherian이 되며, 바로 위의 최대 길이는 [math(R=R/(0))]의 length가 된다.
field가 아닌 artinian ring은 반드시 0이 아닌 zero divisor를 포함한다. 이는 대수기하의 intersection theory에서 정말로 중요하게 쓰인다.[9]
6. 국소환 (local ring)
[math(R)]가 ring이고 [math(\mathfrak{p})]가 그 prime ideal이라고 하자. 그러면[math(R_{\mathfrak{p}}=\left\{\frac{a}{b}|a\in R,b\in R\setminus \mathfrak{p}\right\})]
라고 정의하자. 예를 들면 [math(\mathfrak{p}=(0))]이면 이것은 field of fraction이 된다. 그리고 무엇보다 이것은 [math(\mathfrak{p}R_{\mathfrak{p}})]를 유일한 maximal ideal로 가지는 ring이 된다.
[1] [math(n)]번 더했다.[2] 앞으로 그냥 morphism이라고 줄여 부르자.[3] [math(m(1\otimes 1)=m\otimes 1=0,n(1\otimes 1)=1\otimes n=0)][4] 가우스 소거법을 쓴다. 여기에서 주의할 점은 나누기가 안 된다는 점이다. 하지만 이 점은 free module이라는 점때문에 걱정하지 않아도 된다.[5] 참고로 위에 나온 free module의 정의에 따라, 이는 모든 벡터공간에는 기저가 존재한다는 것과 동치라는 것을 쉽게 알 수 있다.[6] [math(R)]이 group ring일 때 바로 irreducible reprsentation이라고 부르는 것이다.[7] 여기에서 [math(\mathbb{Q})]를 [math(\mathbb{Q}_p)]로 바꾸고 completion을 취하면 그 유명한 피터 숄츠의 perfectoid field가 나오며 이런 말도 안 될 것 같은 성질은 신기하게도 perfectoid field 성질의 central role로 작용한다.[8] 많은 경우, ring을 noetherian이라고 가정한다. noetherian이 아닌 ring은 정말로 특수한 경우 뿐이기 때문이다.[9] divisor 앞에 붙은 계수는 사실 local ring의 length다.