순환 부분공간과 동반행렬, F[x]-모듈 V_T, 아이디얼과 최대공약수, 표현 정리 V_A ≅ F[x]ⁿ/(xI − A)F[x]ⁿ, 스미스 표준형과 불변 인자, 유리 표준형과 닮음 판정, 기본 인자와 조르당 형식, 유한생성 아벨 군
스칼라 자리에 수 대신 다항식을 놓으면 벡터공간이 모듈이 됩니다. 이 장에서는 선형사상을 다항식 위의 모듈로 보아, 행렬을 분류하는 또 다른 표준형(유리 표준형)을 얻습니다. 추상대수학으로 넘어가는 다리이며, 논문을 읽는 데는 대부분 필요하지 않으므로 처음에는 건너뛰어도 됩니다(고급).
29.1 고윳값을 모를 때
질문. 조르당 형식은 특성다항식이 일차식들로 쪼개질 때만 존재합니다. R 위의 회전 [01−10]이나 Q 위의 x3−2 같은 다항식을 특성다항식으로 갖는 행렬은 조르당 형식이 없습니다. 근을 구하지 않고도, 어떤 체에서든 쓸 수 있는 표준형이 있을까요? 그리고 두 행렬이 닮았는지 계산으로 판정할 수 있을까요?
답은 그렇다입니다. 아이디어는 하나입니다. T∈L(V)가 주어지면 다항식 p를 벡터에 “곱할” 수 있습니다: p⋅v=p(T)v. 그러면 V는 스칼라가 체 F 대신 다항식 고리 F[x]인 “벡터공간”이 됩니다. 이것을 모듈이라 합니다. 다항식은 나눗셈 정리가 성립하므로 정수와 비슷하게 다룰 수 있고, 정수 행렬을 대각화하듯 다항식 행렬 xI−A를 대각화하면 T의 구조가 드러납니다.
이 장에서 F는 임의의 체, F[x]는 F 계수 다항식 전체, V는 n차원, T∈L(V)입니다.
29.2 순환 부분공간과 동반행렬
정의 29.1 (순환 부분공간).v∈V에 대해 Z(v,T)=span(v,Tv,T2v,…)를 v가 생성하는 순환 부분공간(cyclic subspace)이라 합니다. V=Z(v,T)인 v가 있으면 T를 순환(cyclic)이라 합니다.
Z(v,T)는 v를 포함하는 T-불변 부분공간 중 가장 작은 것입니다. Z(v,T)={p(T)v:p∈F[x]}입니다.
정리 29.2 (순환 부분공간의 기저).v=0이고 k가 Tkv∈span(v,…,Tk−1v)인 가장 작은 수이면
v,Tv,…,Tk−1v는 Z(v,T)의 기저입니다.
Tkv=−(a0v+a1Tv+⋯+ak−1Tk−1v)로 쓸 때 pv(x)=xk+ak−1xk−1+⋯+a0은 T∣Z(v,T)의 최소다항식이고, p(T)v=0⟺pv∣p입니다.
증명. (1) k의 최소성에 의해 v,…,Tk−1v는 독립입니다(일차종속 보조정리). 귀납적으로 Tk+jv=Tj(Tkv)도 이들의 결합이므로 생성합니다.
(2) pv(T)v=0이고 pv(T)는 T와 교환하므로 pv(T)Tiv=Tipv(T)v=0: pv(T)는 Z(v,T)에서 0입니다. 차수가 k보다 작은 0이 아닌 q에 대해 q(T)v는 독립인 벡터들의 계수가 모두 0은 아닌 결합이므로 0이 아닙니다. 따라서 pv가 최소다항식입니다. 나머지는 정리 24.9와 같은 논리(나눗셈 정리)입니다. ■
기저 v,Tv,…,Tk−1v에서 T는 각 기저벡터를 다음 것으로 보내고, 마지막 것은 Tkv=−∑aiTiv로 보냅니다.
정의 29.3 (동반행렬).p(x)=xk+ak−1xk−1+⋯+a1x+a0의 동반행렬(companion matrix)은
C(p)=0101⋱⋱01−a0−a1⋮−ak−2−ak−1
입니다.
C(p)의 최소다항식과 특성다항식은 모두 p입니다. 최소다항식은 정리 29.2에서, 특성다항식은 det(xI−C(p))를 계산하면 나옵니다(문제 29.3). 따라서 모든 일계수 다항식은 어떤 행렬의 특성다항식입니다. 다항식의 근을 구하는 문제는 행렬의 고윳값을 구하는 문제와 같습니다. 실제로 많은 수치 프로그램이 다항식의 근을 동반행렬의 고윳값으로 계산합니다.
예제 29.4.R2의 회전 R=[01−10]은 v=e1에 대해 Rv=e2, R2v=−e1이므로 순환이고 pv=x2+1. 기저 v,Rv에서 행렬은 C(x2+1)=[01−10], 원래 행렬 그대로입니다.
▶ 문제 29.1–29.3
29.3 F[x]-모듈
정수와 다항식은 둘 다 더하고 곱할 수 있지만 나눌 수는 없습니다. 이런 수 체계를 가환환이라 합니다. 정확히는, 덧셈과 곱셈이 있고 체의 공리 중 “0이 아닌 원소의 역원” 하나만 빠진 것입니다. 이 장에서 쓰는 가환환은 Z와 F[x] 둘뿐입니다.
정의 29.5 (모듈).R이 가환환일 때, 벡터공간의 정의(정의 20.3)에서 스칼라를 F 대신 R에서 가져온 것을 R-모듈(R-module)이라 합니다.
예제 29.6.
F-모듈은 F 위의 벡터공간입니다.
Rn은 성분별 연산으로 R-모듈입니다. Zn, F[x]n.
모든 아벨 군(덧셈이 있는 집합)은 Z-모듈입니다. 3⋅g=g+g+g. 예를 들어 Z/6={0,1,…,5} (6으로 나눈 나머지).
T∈L(V)이면 p⋅v=p(T)v로 V는 F[x]-모듈입니다. 이것을 VT라 씁니다.
벡터공간에서 쓰던 말들이 그대로 옮겨집니다. 부분모듈, 모듈 준동형(스칼라곱을 보존하는 덧셈 보존 사상), 동형, 몫모듈 M/N(22장의 몫공간과 같은 정의), 직합. VT에 대해 번역하면 다음과 같습니다.
F[x]-모듈 VT
선형대수
부분모듈
T-불변 부분공간
한 원소가 생성하는 부분모듈 R⋅v
순환 부분공간 Z(v,T)
{p:p⋅V=0}
최소다항식의 배수 전체
VT≅WS
S와 T가 닮음
마지막 줄을 확인합시다. φ:VT→WS가 모듈 동형이면 φ는 선형 동형이고 φ(x⋅v)=x⋅φ(v), 즉 φT=Sφ입니다. 따라서 S=φTφ−1. 역도 같습니다.
모듈은 벡터공간과 결정적으로 다릅니다. Z/6에서 6⋅1=0이지만 6=0이고 1=0입니다. 스칼라로 나눌 수 없으니 “cv=0이면 c=0 또는 v=0”이 깨집니다. 그래서 모듈에는 일반적으로 기저가 없습니다. VT도 마찬가지로, 최소다항식 mT에 대해 mT⋅v=0입니다.
다음 사실이 Z와 F[x]를 특별하게 만듭니다.
정리 29.7 (아이디얼은 하나로 생성됩니다).R=Z 또는 F[x]이고 I⊆R이 덧셈과 R의 원소 곱에 대해 닫힌 부분집합(아이디얼(ideal))이면, 어떤 g∈R에 대해 I=gR={gr:r∈R}입니다.
증명.I={0}이면 g=0. 아니면 I에서 0이 아닌 원소 중 크기(정수는 절댓값, 다항식은 차수)가 가장 작은 g를 고릅니다. a∈I를 g로 나누면 a=qg+r이고 r=a−qg∈I. r은 g보다 작으므로 r=0. ■
a,b∈R에 대해 {ra+sb:r,s∈R}는 아이디얼이므로 gR 꼴입니다. 이 g가 a,b의 최대공약수(gcd)이고(다항식이면 일계수로 맞춥니다), g=ra+sb인 r,s가 있습니다(베주 항등식). 정수에서 익숙한 이 사실들이 다항식에서도 똑같이 성립합니다.
▶ 문제 29.4–29.5
29.4 V_A의 표현
V=Fn, T=A로 둡시다. F[x]n의 원소는 다항식 n개의 열벡터입니다.
정리 29.8 (표현 정리).Φ:F[x]n→VA, Φ(p1,…,pn)=p1(A)e1+⋯+pn(A)en은 전사인 모듈 준동형이고, 그 핵은 xI−A의 열들이 생성하는 부분모듈입니다. 따라서
VA≅F[x]n/(xI−A)F[x]n.
증명. 상수 벡터 c∈Fn⊆F[x]n에 대해 Φ(c)=c이므로 전사입니다. xI−A의 j열은 xej−Aej이고 Φ는 이것을 Aej−Aej=0으로 보냅니다. 따라서 K=(xI−A)F[x]n⊆nullΦ.
역으로, K를 법으로 xej≡Aej입니다. 이 치환을 반복하면 모든 f∈F[x]n은 K를 법으로 어떤 상수 벡터 c와 합동입니다(x의 차수를 하나씩 낮춥니다). Φ(f)=0이면 c=Φ(c)=Φ(f)=0이므로 f∈K. ■
xI−A는 다항식을 성분으로 가진 n×n 행렬입니다. 이 행렬을 기본 연산으로 단순하게 만들면 몫모듈이 단순해집니다.
▶ 문제 29.6
29.5 스미스 표준형
R=Z 또는 F[x] 위의 행렬에 대한 기본 연산은 다음 셋입니다(행과 열 모두).
두 행(열)을 바꿉니다.
한 행(열)에 R의 가역원(정수면 ±1, 다항식이면 0이 아닌 상수)을 곱합니다.
한 행(열)에 다른 행(열)의 r배를 더합니다. 이때 r∈R은 아무 원소나 됩니다.
세 연산 모두 같은 종류의 연산으로 되돌릴 수 있습니다. 행 연산은 왼쪽에, 열 연산은 오른쪽에 R 위에서 가역인 행렬을 곱하는 것입니다.
정리 29.9 (스미스 표준형).R=Z 또는 F[x] 위의 m×n 행렬 M은 기본 연산으로
d1⋱drO,d1∣d2∣⋯∣dr,di=0
꼴로 바뀝니다. di를 양수(정수) 또는 일계수(다항식)로 맞추면 di들은 M에 의해 유일하게 정해집니다. 이 di를 M의 불변 인자(invariant factors)라 합니다.
증명. 존재. M=O이라 합시다. 크기가 가장 작은 0이 아닌 성분을 교환으로 (1,1)에 놓습니다. 첫 열의 성분 ai1을 a11로 나누어 ai1=qa11+r이면, i행에서 1행의 q배를 빼서 ai1을 r로 바꿉니다. r=0이면 r은 a11보다 작으므로 (1,1)로 옮겨 다시 시작합니다. 첫 행도 열 연산으로 똑같이 합니다. 크기는 무한히 줄어들 수 없으므로, 언젠가 첫 행과 첫 열이 a11을 빼고 모두 0이 됩니다.
이제 a11이 나머지 어떤 성분 aij를 나누지 않으면 i행을 1행에 더합니다. 그러면 첫 행에 aij가 나타나고, 위의 과정에서 나머지가 생겨 (1,1)의 크기가 진짜로 줄어듭니다. 이것도 무한히 반복될 수 없으므로, 결국 a11이 나머지 모든 성분을 나눕니다. 남은 (m−1)×(n−1) 행렬에 같은 과정을 반복하면 그 성분들은 계속 a11의 배수이므로 d1∣d2입니다.
유일성. Δk(M)을 M의 k×k 소행렬식 전체의 최대공약수라 합시다. 기본 연산 후의 k×k 소행렬식은 원래 k×k 소행렬식들의 R-결합이므로(문제 29.9) Δk(M)은 Δk(새행렬)을 나누고, 연산은 되돌릴 수 있으므로 서로 같습니다. 대각 꼴에서는 Δk=d1d2⋯dk이므로 dk=Δk/Δk−1이 M으로 정해집니다. ■
알고리즘은 15장의 소거와 같은 모양입니다. 차이는 피벗으로 나눌 수 없다는 것입니다. 그래서 나눗셈 정리로 나머지를 만들고, 나머지를 새 피벗으로 삼습니다. 유클리드 호제법이 행렬 안에서 돌아가는 셈입니다.
예제 29.10.A=[2012]. xI−A=[x−20−1x−2]. 두 열을 바꾸고 1행에 −1을 곱하면 [1x−2−(x−2)0]. 2행에서 1행의 (x−2)배를 빼고, 2열에 1열의 (x−2)배를 더하면
[100(x−2)2].
반면 A=2I이면 xI−A=[x−200x−2]가 이미 스미스 표준형입니다. 두 행렬은 특성다항식이 (x−2)2으로 같지만 불변 인자가 다릅니다.
▶ 문제 29.7–29.9
29.6 유리 표준형
스미스 표준형을 xI−A에 씁시다. det(xI−A)=0이므로 대각성분이 모두 0이 아니고, 가역행렬 P,Q에 대해
대각행렬이 더 단순해 보이지만, 유리 표준형은 근을 구하지 않고 얻는다는 점이 다릅니다. mA=d2는 중근이 없으므로 A는 대각화 가능하다는 것도 읽힙니다.
▶ 문제 29.10–29.12
29.7 기본 인자와 조르당 형식
불변 인자를 더 쪼갤 수 있습니다.
정리 29.14 (중국인의 나머지 정리).a,b∈F[x]의 최대공약수가 1이면 F[x]/(ab)≅F[x]/(a)⊕F[x]/(b).
증명.f↦(fmoda,fmodb)는 모듈 준동형입니다. 핵은 a와 b로 모두 나누어떨어지는 f입니다. 1=ra+sb이므로 f=raf+sbf이고, ab∣f입니다. 따라서 단사이고, 양쪽 차원이 dega+degb로 같으므로 동형입니다. ■
각 di를 기약 다항식의 거듭제곱으로 인수분해하고 이 정리를 쓰면
VT≅j⨁F[x]/(pjkj)(pj는기약)
입니다. pjkj들을 기본 인자(elementary divisors)라 합니다.
F=C이면 기약 다항식은 x−λ뿐입니다. C[x]/((x−λ)k)에서 기저
(x−λ)k−1,…,(x−λ),1
를 잡으면 x=λ+(x−λ)를 곱하는 연산자는 각 기저벡터를 λ배하고 앞의 것을 더하므로 행렬이 Jk(λ)입니다. 조르당 형식의 존재와 유일성이 다시 나왔습니다. 조르당 블록 하나는 기본 인자 하나입니다.
예제 29.15.R 위에서 기약 다항식은 일차식과 x2+bx+c (b2<4c)입니다. 예를 들어 기본 인자가 (x2+1)2이면 R[x]/((x2+1)2)에 해당하는 4×4 블록이 생깁니다. 복소수로 가면 (x−i)2(x+i)2이므로 J2(i)⊕J2(−i)가 됩니다.
▶ 문제 29.13
29.8 같은 정리, 다른 고리
지금까지의 논증에서 F[x]에 대해 쓴 것은 나눗셈 정리뿐이었습니다. 따라서 모든 것이 Z에서도 성립합니다. 정수 행렬 M에 대해 Zm/MZn은 스미스 표준형으로
Zm/MZn≅Z/d1⊕⋯⊕Z/dr⊕Zm−r
이 됩니다. 유한 개의 원소로 생성되는 모든 아벨 군은 이런 모양입니다(유한생성 아벨 군의 기본정리(fundamental theorem of finitely generated abelian groups)).
예제 29.16.M=[2648]. 성분의 최대공약수 Δ1=2, Δ2=∣detM∣=8이므로 d1=2, d2=4. Z2/MZ2≅Z/2⊕Z/4. 원소는 8개이고, 이것은 ∣detM∣가 평행사변형 M[0,1]2의 넓이이자 그 안에 들어가는 격자점의 개수라는 사실과 맞습니다.
직관.Z2/MZ2는 “M의 열을 0으로 여긴 정수 격자”입니다. 모든 격자점은 M의 열을 정수 번 더하고 빼서 기본 평행사변형 안의 점 하나로 옮길 수 있고, 그 점들이 군의 원소입니다. 아래 위젯에서 (1,0)을 거듭 더해 그 점들을 모두 지나는지 보면, 군이 순환군인지(d1=1) 알 수 있습니다.
행렬을 바꾸면 기본 평행사변형 안의 격자점(군의 원소)과 (1, 0)을 거듭 더한 궤도가 바뀝니다. 넓이가 같아도 d₁에 따라 군의 모양이 다릅니다
이 위젯은 JavaScript가 필요합니다
Z
F[x]
모듈
아벨 군
연산자가 있는 벡터공간 VT
순환 모듈
Z/d
F[x]/(d), 동반행렬 C(d)
구조정리
유한생성 아벨 군의 분류
유리 표준형
기본 인자
Z/pk
조르당 블록 (복소수)
두 고리를 아우르는 개념이 주 아이디얼 정역(PID)입니다. 정리 29.7이 성립하는 정역(곱해서 0이면 하나가 0인 가환환)을 말하며, 위의 모든 결과는 PID 위의 유한생성 모듈에 대해 성립합니다. 이 일반화는 추상대수학의 몫입니다.
▶ 문제 29.14–29.15
쓰이는 곳. 유한생성 아벨 군의 분류는 결정학, 부호이론, 위상수학(호몰로지)에서 쓰입니다. 머신러닝·공학 논문에서는 드물게 나오므로 필요할 때 돌아와 읽어도 됩니다.
문제 29.1의 A에 대해 xI−A의 불변 인자를 구합니다. 문제 29.1의 결론과 비교합니다.
풀이
xI−A=x−100−1x−1000x−2. Δ1=1. 2×2 소행렬식에 (x−1)2와 −(x−2) (1, 3행과 2, 3열)가 있고 최대공약수가 1이므로 Δ2=1. Δ3=(x−1)2(x−2). 불변 인자는 (x−1)2(x−2) 하나뿐입니다. 불변 인자가 하나라는 것은 VA≅F[x]/(d), 즉 A가 순환이라는 뜻이고 문제 29.1과 맞습니다.
29.9 [증명]
행렬에 기본 연산을 한 번 하면, 새 행렬의 k×k 소행렬식은 원래 행렬의 k×k 소행렬식들의 R-결합임을 보입니다.
풀이
행 연산만 보면 됩니다(열은 전치). S를 행 첨자, U를 열 첨자의 k원 집합이라 합시다.
교환: 소행렬식들이 부호를 제외하고 서로 바뀝니다.
가역원 u배: i∈S이면 u배, 아니면 그대로.
i행에 j행의 r배를 더하기: i∈/S이면 그대로. i,j∈S이면 행렬식 성질 (5)에 의해 그대로. i∈S, j∈/S이면 i행에 대해 선형이므로 (원래 소행렬식) +r⋅(i행 자리에 j행을 넣은 소행렬식)이고, 뒤의 것은 행 순서를 제외하면 (S∖{i})∪{j}의 소행렬식입니다.
29.10 [계산] · 확인 문제
문제 29.1의 A의 유리 표준형을 구합니다. 표에는 동반행렬의 마지막 열을 위에서부터 적습니다.
원소가 12개인 아벨 군을 동형을 제외하고 모두 구합니다. Z/2⊕Z/3≅Z/6이지만 Z/2⊕Z/2≅Z/4인 이유를 설명합니다.
풀이
d1∣d2∣⋯, ∏di=12, d1>1인 경우는 (12)와 (2,6)뿐입니다. Z/12, Z/2⊕Z/6. 정수에서도 중국인의 나머지 정리가 같은 증명으로 성립하므로 gcd(2,3)=1에서 Z/2⊕Z/3≅Z/6. Z/4에는 4번 더해야 처음 0이 되는 원소 1이 있지만 Z/2⊕Z/2의 모든 원소는 2번 더하면 0입니다.