1. 정의
가군(加群, module)은 가환군 위에 환의 작용(ring action)이 정의된 대수 구조라고 할 수 있다. 환의 작용은 군의 작용과 비슷한 개념으로, 환의 곱셈 구조가 주어진 집합에 작용하는 것이다.[1] 다만, 작용받는 집합이 가환군으로 덧셈 구조를 가지고 있고 환 자체도 덧셈 구조를 가지고 있으므로, 환에서 곱셈과 덧셈 사이에 분배법칙을 요구한 것과 마찬가지로 환의 작용도 자기 자신의 덧셈과 작용받는 가환군의 덧셈에 대한 분배 법칙을 만족하길 요구한다.
이를 풀어쓰면 다음과 같다: [math(M )]이 환 [math((R, +, times) )] 위에서의 가군이라는 것은 다음과 같은 두 연산이 정의되어 있다는 것이다.
이를 풀어쓰면 다음과 같다: [math(M )]이 환 [math((R, +, times) )] 위에서의 가군이라는 것은 다음과 같은 두 연산이 정의되어 있다는 것이다.
- 덧셈 [math( +: M times M rightarrow M )]가 정의되어 있으며 [math( (M,+) )]는 아벨 군이다. 즉, 임의의 [math( a, b, c in M )]에 대해 다음이 성립한다.
- 결합 법칙: [math( (a+b) + c = a + (b+c) )]
- 교환 법칙: [math( a + b = b + a )]
- 항등원 존재: [math( 0_M in M )]가 존재해 [math( a + 0_M = 0_M + a = a )]
- 역원 존재: [math( a + x = x + a = 0_M )]를 만족하는 [math( x in M )]가 존재한다.
- 스칼라곱 [math( cdot: R times M rightarrow M )]가 정의되어 있으며 이는 모노이드 [math( (R, times) )]의 작용이고, [math(R )]과 [math(M )]의 [math(+ )]에 대해 분배 법칙을 만족한다. 즉, 임의의 [math( a, b in R )]과 [math( x, y in M )]에 대해 다음을 만족한다.
- 결합 법칙: [math( (ab) cdot x = a cdot (b cdot x) )]
- 분배 법칙
- [math( (a+b)cdot x = acdot x + bcdot x )]
- [math( acdot (x+y) = a cdot x + acdot y )]
- 항등원 곱: [math( R )]의 곱셉에 대한 항등원 [math( 1_R )]에 대해 [math( 1_R cdot x = x )]
위의 '항등원 곱' 조건은 환의 정의에 따라 달라진다. 환의 정의에 곱셈의 항등원을 요구하지 않는 경우에는 이 조건이 생략된다. 이 정의가 더욱 많은 경우를 다룰 수 있긴 하지만, 스칼라곱이 모노이드 작용조차 되지 못하고 반군의 작용이 되어버리는 문제점이 생긴다.[2]
또한, 스칼라곱의 경우 반드시 왼쪽에서 행해질 이유는 없다. 스칼라곱을 [math( cdot : M times R rightarrow M )]으로 둘 경우 이 집합을 오른쪽 가군(right module)이라고 부르며, 이에 대응되는 의미로 여기서 정의하는 가군을 왼쪽 가군(left module)이라 부른다. 같은 환 위에서 왼쪽 가군이자 오른쪽 가군이면서 같은 원소에 대한 스칼라 곱 값이 같을 경우 이 대수 구조를 쌍가군(bimodule)이라 부른다.
또한, 스칼라곱의 경우 반드시 왼쪽에서 행해질 이유는 없다. 스칼라곱을 [math( cdot : M times R rightarrow M )]으로 둘 경우 이 집합을 오른쪽 가군(right module)이라고 부르며, 이에 대응되는 의미로 여기서 정의하는 가군을 왼쪽 가군(left module)이라 부른다. 같은 환 위에서 왼쪽 가군이자 오른쪽 가군이면서 같은 원소에 대한 스칼라 곱 값이 같을 경우 이 대수 구조를 쌍가군(bimodule)이라 부른다.
2. 선형대수학과의 연결
위의 정의에서 바로 모든 벡터공간은 [math(R )]이 체인 가군이라는 것을 깨달을 수 있을 것이다. 공리가 부족해보이겠지만 가군의 정의로부터 [math(R )]이 체일 경우 벡터 공간의 조건도 만족함을 쉽게 확인할 수 있다.
그러면 벡터공간이 아닌 가군의 예시로는 무엇이 있을까? 먼저 대수학을 공부하다보면 자주 접하는 표기인 [math( nx = x + ... + x)]에 대해 생각해보자. 이 표기를 몇 번 사용하다보면 곧바로 이것이 마치 [math(x )]에 [math(n )]을 "곱하는" 것과 비슷하다는 것을 깨달을 것이다. 이 사실은 가군을 통해 설명할 수 있다. 즉, 임의의 아벨군 [math((G, +) )]에 대해, [math(mathbb{Z} )]의 원소 [math(n )]에 의한 스칼라곱을 [math(nx )]로 정의하면[3], [math((-n)x = -nx )]로 정의한다.] [math(G )]는 [math(mathbb{Z} )] 위의 가군이다.
다른 예로는 이데알(ideal)을 들 수 있다. 환 [math(R )]에서의 이데알 [math(I )]에 대해 스칼라곱을 [math(R )]에서의 곱셈 연산으로 주면 이데알의 정의에 따라 스칼라곱은 [math(I )]에 대해 닫혀있고, 따라서 [math(I )]는 [math(R )] 위의 가군이라 할 수 있을 것이다. 덧붙여서, [math(R )]은 [math(R )]의 이데알이므로 [math(R )]은 [math(R )] 위의 가군이다.
반대로, 가군 개념을 체가 아닌 환 위에서의 벡터공간이라고 이해할 수도 있다. 정의를 확장한 만큼 다음과 같이 벡터공간의 여러 성질도 탈락한다.
그러면 벡터공간이 아닌 가군의 예시로는 무엇이 있을까? 먼저 대수학을 공부하다보면 자주 접하는 표기인 [math( nx = x + ... + x)]에 대해 생각해보자. 이 표기를 몇 번 사용하다보면 곧바로 이것이 마치 [math(x )]에 [math(n )]을 "곱하는" 것과 비슷하다는 것을 깨달을 것이다. 이 사실은 가군을 통해 설명할 수 있다. 즉, 임의의 아벨군 [math((G, +) )]에 대해, [math(mathbb{Z} )]의 원소 [math(n )]에 의한 스칼라곱을 [math(nx )]로 정의하면[3], [math((-n)x = -nx )]로 정의한다.] [math(G )]는 [math(mathbb{Z} )] 위의 가군이다.
다른 예로는 이데알(ideal)을 들 수 있다. 환 [math(R )]에서의 이데알 [math(I )]에 대해 스칼라곱을 [math(R )]에서의 곱셈 연산으로 주면 이데알의 정의에 따라 스칼라곱은 [math(I )]에 대해 닫혀있고, 따라서 [math(I )]는 [math(R )] 위의 가군이라 할 수 있을 것이다. 덧붙여서, [math(R )]은 [math(R )]의 이데알이므로 [math(R )]은 [math(R )] 위의 가군이다.
반대로, 가군 개념을 체가 아닌 환 위에서의 벡터공간이라고 이해할 수도 있다. 정의를 확장한 만큼 다음과 같이 벡터공간의 여러 성질도 탈락한다.
- [math(M)]이 [math(R)]-가군일 때, [math(r in R)], [math(x in M)]에 대해 [math(rx=0_M)]이어도 [math(r neq 0_R)]일 수 있다.
- 덧셈군 [math(mathbb{Q})]를 [math(mathbb{Z})]-가군으로 보았을 때, 어떠한 [math(mathbb{Q})]의 부분집합도 선형종속이며, 따라서 기저 개념이 성립하지 않는다.
3. 동형사상 정리
가군론에서도 세 가지 기초적인 동형사상 정리를 얻는다. 그 전에 부분가군과 몫가군, 그리고 가군 준동형사상 개념을 정의해야 한다.
[math(M)]이 [math(R)]-가군이라고 하자. [math(N)]이 [math(M)]의 [math(R)]-부분가군(submodule)이라고 함은 모든 [math(x, y in N, r in R)]에 대해 [math(x+y, rx in N)]임을 의미하고, [math(N<_{R}M)]이라 쓴다. 이 때 [math(r=-1_R)]로 잡으면 반드시 [math(-x in N)]임을 짚고 넘어가자.
[math(x+N={x+n | n in N})]일 때 [math((x+N)+(y+N)=(x+y)+N)], [math(r(x+N)=rx+N)]으로 정의하면 이 두 연산, 즉 덧셈과 스칼라에 의해 [math(M/N={x+N | x in M})]은 [math(R)]-가군을 이루고, 이를 몫가군(quotient module)이라고 한다. 스칼라곱을 저렇게 정의하는 이유는 어차피 [math(a in N)]이면 [math(ra in N)]이기 때문이며, 이에 따라 잘 정의된다.
이제 [math(R)]-가군 [math(M, M')]을 생각하자. 함수 [math(f: M rightarrow M')]이 존재하여, 모든 [math(x, y in M, r in R)]에 대하여 [math(f(x+y)=f(x)+f(y))]와 [math(f(rx)=rf(x))]를 만족한다면 이러한 f를 가군 준동형사상(module homomorphism)이라고 부른다. 물론, [math(f)]가 전단사(bijective)일 경우 가군 동형사상(module isomorphism)이라고 부른다.
준비가 거의 다 됐다. 함수 [math(pi: M rightarrow M/N)]를 [math(pi(x)=x+N)]으로 정의하면 이것이 준동형사상이 됨을 쉽게 확인할 수 있고, 이를 사영(projective) 준동형사상이라 한다. [math(mathrm{ker}(pi)=N, mathrm{im}(pi)=M/N)]임을 짚고 가자.
[math(M)]이 [math(R)]-가군이라고 하자. [math(N)]이 [math(M)]의 [math(R)]-부분가군(submodule)이라고 함은 모든 [math(x, y in N, r in R)]에 대해 [math(x+y, rx in N)]임을 의미하고, [math(N<_{R}M)]이라 쓴다. 이 때 [math(r=-1_R)]로 잡으면 반드시 [math(-x in N)]임을 짚고 넘어가자.
[math(x+N={x+n | n in N})]일 때 [math((x+N)+(y+N)=(x+y)+N)], [math(r(x+N)=rx+N)]으로 정의하면 이 두 연산, 즉 덧셈과 스칼라에 의해 [math(M/N={x+N | x in M})]은 [math(R)]-가군을 이루고, 이를 몫가군(quotient module)이라고 한다. 스칼라곱을 저렇게 정의하는 이유는 어차피 [math(a in N)]이면 [math(ra in N)]이기 때문이며, 이에 따라 잘 정의된다.
이제 [math(R)]-가군 [math(M, M')]을 생각하자. 함수 [math(f: M rightarrow M')]이 존재하여, 모든 [math(x, y in M, r in R)]에 대하여 [math(f(x+y)=f(x)+f(y))]와 [math(f(rx)=rf(x))]를 만족한다면 이러한 f를 가군 준동형사상(module homomorphism)이라고 부른다. 물론, [math(f)]가 전단사(bijective)일 경우 가군 동형사상(module isomorphism)이라고 부른다.
준비가 거의 다 됐다. 함수 [math(pi: M rightarrow M/N)]를 [math(pi(x)=x+N)]으로 정의하면 이것이 준동형사상이 됨을 쉽게 확인할 수 있고, 이를 사영(projective) 준동형사상이라 한다. [math(mathrm{ker}(pi)=N, mathrm{im}(pi)=M/N)]임을 짚고 가자.
3.1. 제1 동형사상 정리
제1 동형사상 정리를 기술하기에 앞서 다음 정리를 소개한다.
(Factor Theorem) [math(M, M')]이 [math(R)]-가군이고 [math(N<_{R}M)]이라 하자. 이 때 준동형사상 [math(f: M rightarrow M')]가 존재한다면, 준동형사상 [math(bar{f}: M/N rightarrow M')]가 유일하게 존재하고, 다음을 만족한다.
* [math(bar{f})]가 전사임과 [math(f)]가 전사임은 동치이다.
* [math(bar{f})]가 단사임과 [math(mathrm{ker}(f)=N)]임은 동치이다.
이제 [math(M''=mathrm{im}(f))]라 놓으면 위 정리의 따름정리로 다음을 얻을 수 있고, 이를 제1 동형사상 정리라 한다.
(First Isomorphism Theorem) [math(M/mathrm{ker}(f) simeq mathrm{im}(f))]
3.2. 제2 동형사상 정리
(Second Isomorphism Theorem) [math(S, T<_{R}M)]일 때, [math((S+T)/S simeq T/(S cap T))]가 성립한다.
3.3. 제3 동형사상 정리
(Third Isomorphism Theorem) [math(L<_{R}N<_{R}M)]일 때, [math(M/N simeq (M/L)/(N/L))]이 성립한다.
4. Annihilator와 순환 가군
[math(M)]이 [math(R)]-가군이고 [math(x in M)]일 때, [math(I_x:= {r in R|rx=0 })]이라 쓰고 [math(I_x)]를 annihilator라고 한다. 나아가, [math(I_0:= {r in R|forall x in M, rx=0 })]라 쓰고 [math(I_0)]를 annihilator라고 한다. 그러면 [math(I_x)]는 [math(R)]의 왼쪽 아이디얼(left ideal)이고, [math(I_0)]은 [math(R)]의 양쪽 아이디얼(two-sided ideal)임을 보일 수 있다.
가군이 순환(cyclic)임을 [math(M=Rx:= {rx|r in R })] 꼴로 나타내어진다는 것으로 정의한다.
그러면 다음과 같은 정리를 얻는다.
가군이 순환(cyclic)임을 [math(M=Rx:= {rx|r in R })] 꼴로 나타내어진다는 것으로 정의한다.
그러면 다음과 같은 정리를 얻는다.
모든 순환 [math(R)]-가군은 몫가군 [math(R/I_x)]와 동형이다. [math(R)]이 가환환이면, 모든 순환 [math(R)]-가군은 [math(R/I_0)]와 동형이다.
5. 텐서곱(tensor product)
[1] 사실은, 환의 곱셈 구조는 군이 아니므로 모노이드의 작용(monoid action)이라고 부르는 것이 더 정확하다. 애초에 군의 작용에 역원에 대한 조건이 없었으므로 이런 구분이 크게 의미가 있다고 할 수는 없겠지만 말이다.[2] 만약 환의 정의에 곱셈의 항등원이 포함된다면, 이 조건이 생략된 구조를 유사 가군(pseudomodule)이라 부른다. 반대로, 환의 정의에 곱셈의 항등원이 포함되지 않는다면 이 조건이 포함된 가군을 unital module 또는 module with unity라고 부른다.[3] [math(0x = 0_G )