거듭제곱의 영공간 사슬과 null Tⁿ ⊕ range Tⁿ, 일반화 고유벡터와 일반화 고유공간, 멱영 연산자, 일반화 고유공간 분해, 행렬식 없는 특성다항식과 케일리–해밀턴 정리, 조르당 블록과 조르당 형식, 블록 크기를 세는 법
대각화가 되지 않는 행렬은 얼마나 대각행렬에 가깝게 만들 수 있을까요? 이 장의 답이 조르당 형식입니다. 대각선 바로 위에 1이 몇 개 남는 모양까지는 언제나 만들 수 있습니다. 미분방정식의 해에 t·eᵗ 같은 항이 나오는 이유가 여기서 설명됩니다(고급).
27.1 대각화할 수 없을 때의 최선
질문. 층밀림 [1011]은 고유벡터가 한 방향뿐이라 대각화할 수 없었습니다. 이런 연산자에 대해서도 “가장 단순한 행렬”이 있을까요? 고유벡터가 모자랄 때 그 빈자리를 무엇으로 채울 수 있을까요?
24장에서 복소 공간의 연산자는 언제나 위삼각화되었습니다. 하지만 위삼각행렬은 유일하지 않고, 대각선 위의 성분들은 기저에 따라 마구 바뀝니다. 이 장의 목표는 위삼각보다 훨씬 강한 결론입니다. 모든 복소 연산자는 어떤 기저에서
λ1λ⋱⋱1λ
꼴의 블록들이 대각선에 늘어선 행렬, 즉 조르당 형식이 됩니다. 대각화 가능하면 모든 블록이 1×1입니다. 대각화가 안 되는 정도는 블록의 크기로 정확히 측정됩니다.
빈자리를 채우는 것은 일반화 고유벡터입니다. 이 장에서 V는 유한차원 복소벡터공간, n=dimV, T∈L(V)입니다.
27.2 거듭제곱의 영공간
정리 27.1 (영공간의 사슬).
{0}=nullT0⊆nullT1⊆nullT2⊆⋯
이고, 어떤 k에서 nullTk=nullTk+1이면 그 이후로 모두 같습니다. 특히 nullTn=nullTn+1=nullTn+2=⋯입니다.
증명.Tkv=0이면 Tk+1v=T(Tkv)=0이므로 포함관계가 성립합니다. nullTk=nullTk+1이라 하고 v∈nullTk+2이면 Tk+1(Tv)=0이므로 Tv∈nullTk+1=nullTk, 즉 Tk+1v=0. 따라서 nullTk+2=nullTk+1이고, 반복합니다. 사슬이 진짜로 커지는 동안은 차원이 매번 1 이상 늘어나므로, n번 안에 멈춥니다. ■
정리 27.2 (영공간과 치역으로 나누기).V=nullTn⊕rangeTn.
증명.v∈nullTn∩rangeTn이면 v=Tnu이고 Tnv=T2nu=0. 정리 27.1에 의해 nullT2n=nullTn이므로 Tnu=0, 즉 v=0. 교집합이 {0}이고, 기본정리에 의해 dimnullTn+dimrangeTn=n이므로 직합이 V입니다. ■
nullT⊕rangeT=V는 일반적으로 거짓입니다(T=[0010]이면 nullT=rangeT=span(e1)). 충분히 큰 거듭제곱을 취해야 영공간과 치역이 깔끔하게 갈라집니다.
▶ 문제 27.1–27.3
27.3 일반화 고유벡터
정의 27.3 (일반화 고유벡터).λ가 T의 고윳값일 때, 어떤 양의 정수 k에 대해 (T−λI)kv=0인 v=0을 일반화 고유벡터(generalized eigenvector)라 합니다. 이들과 0을 모은
예제 27.4. 층밀림 S=[1011]: E(1,S)=span(e1)이지만 (S−I)2=O이므로 G(1,S)=C2. e2는 고유벡터가 아니지만 일반화 고유벡터입니다: (S−I)e2=e1, (S−I)2e2=0. 고유벡터가 모자란 자리를 e2가 채웁니다.
정리 27.5 (일반화 고유벡터는 독립). 서로 다른 고윳값 λ1,…,λm의 일반화 고유벡터 v1,…,vm은 일차독립입니다.
증명.a1v1+⋯+amvm=0이라 합시다. k를 (T−λ1I)kv1=0인 가장 큰 정수라 하고 w=(T−λ1I)kv1로 두면 (T−λ1I)w=0, 즉 w는 λ1의 고유벡터입니다. 따라서 모든 λ에 대해 (T−λI)w=(λ1−λ)w. 이제 등식에
(T−λ1I)k(T−λ2I)n⋯(T−λmI)n
을 걸면(인수들은 교환합니다), j≥2인 항은 (T−λjI)n이 죽이고, 첫 항은
a1(T−λ2I)n⋯(T−λmI)nw=a1(λ1−λ2)n⋯(λ1−λm)nw
이 됩니다. 이것이 0이고 계수와 w가 0이 아니므로 a1=0. 같은 논리로 모든 aj=0. ■
▶ 문제 27.4–27.5
27.4 멱영 연산자
정의 27.6 (멱영). 어떤 양의 정수 k에 대해 Nk=0인 연산자를 멱영(nilpotent)이라 합니다.
(T−λI)∣G(λ,T)는 정의에 의해 멱영입니다. 일반화 고유공간 위에서 T는 “λI + 멱영”입니다. 그래서 멱영 연산자를 이해하는 것이 핵심입니다.
정리 27.7 (멱영 연산자의 기본 성질).N이 V 위의 멱영 연산자이면
Nn=0.
0이 유일한 고윳값입니다.
어떤 기저에서 M(N)은 대각선을 포함해 그 아래가 모두 0인 위삼각행렬입니다.
증명. (1) G(0,N)=V이므로 nullNn=V. (2) Nv=λv이면 0=Nnv=λnv. (3) nullN⊆nullN2⊆⋯⊆nullNn=V의 각 단계에서 기저를 차례로 늘려 갑니다. nullNj에 새로 추가된 벡터 v는 Nv∈nullNj−1이므로 앞의 벡터들의 일차결합입니다. ■
▶ 문제 27.6–27.7
27.5 일반화 고유공간으로의 분해
정리 27.8 (일반화 고유공간 분해).λ1,…,λm이 T의 서로 다른 고윳값 전부이면
V=G(λ1,T)⊕⋯⊕G(λm,T)
이고, 각 G(λj,T)는 T에 대해 불변이며, (T−λjI)∣G(λj,T)는 멱영입니다.
U도 T에 대해 불변이고, λ1이 고윳값이므로 G(λ1,T)={0}, dimU<n. T∣U의 고윳값은 λ2,…,λm 중 일부입니다(λ1의 고유벡터가 U에 있으면 G(λ1,T)∩U={0}이 되어 모순). 귀납 가정에 의해 U는 T∣U의 일반화 고유공간들의 직합이고, 각 G(λj,T∣U)⊆G(λj,T)입니다. 따라서 V=G(λ1,T)+⋯+G(λm,T). 직합인 것은 정리 27.5에서 나옵니다. ■
정의 27.9 (중복도).dimG(λ,T)를 고윳값 λ의 중복도(multiplicity)라 합니다.
16장의 대수적 중복도(AM)입니다. 기하적 중복도 dimE(λ,T)는 dimG(λ,T) 이하이므로 16.5절의 GM ≤ AM이 증명됩니다. 분해 정리에 의해 중복도의 합은 n입니다.
각 G(λj,T)에서 정리 27.7(3)의 기저를 잡으면, T의 행렬은 블록 대각이고 각 블록은 대각이 λj인 위삼각행렬입니다.
M(T)=A1⋱Am,Aj=λj0⋱∗λj.
▶ 문제 27.8–27.9
27.6 특성다항식과 케일리–해밀턴 정리
정의 27.10 (특성다항식).λ1,…,λm의 중복도가 d1,…,dm일 때
q(z)=(z−λ1)d1⋯(z−λm)dm
을 T의 특성다항식(characteristic polynomial)이라 합니다.
차수는 d1+⋯+dm=n이고 근은 정확히 고윳값입니다. 위의 블록 위삼각 행렬로 계산하면 det(zI−M(T))=q(z)이므로, 16장의 det(A−λI)와 부호((−1)n)만 다릅니다. 여기서는 행렬식 없이 정의했습니다.
그림 27.1. N의 사슬 기저와 조르당 블록 J3(0)⊕J2(0)⊕J1(0). 화살표는 N의 작용. nullNj는 왼쪽부터 j개의 열이므로, dimnullNj−dimnullNj−1은 j번째 열의 점의 개수, 곧 길이 ≥j인 사슬의 개수입니다.
정리 27.15 (멱영 연산자의 조르당 형식).N이 멱영이면 V의 기저가 있어서 M(N)이 블록 대각이고 각 블록이 Jk(0) 꼴입니다. 즉 V의 기저가
Nk1−1v1,…,Nv1,v1,…,Nkr−1vr,…,Nvr,vr
꼴이고 Nkivi=0입니다.
증명.n에 대한 귀납법. N=0이라 하자(N=0이면 아무 기저나 됩니다). rangeN⊊V이고(멱영이므로 전사가 아닙니다) N∣rangeN은 멱영이므로, 귀납 가정에 의해 rangeN의 기저
Nki−1ui,…,Nui,ui(i=1,…,r,Nkiui=0)
가 있습니다. 각 ui∈rangeN이므로 ui=Nvi인 vi를 고릅니다. 그러면 사슬을 하나씩 늘려
Nkivi,…,Nvi,vi(i=1,…,r)
를 얻습니다. 이 목록이 독립임을 보입시다. 일차결합이 0이면 N을 걸어 rangeN의 기저의 일차결합이 0이 되므로 vi,Nvi,…의 계수 중 Nkivi의 것을 뺀 나머지가 0입니다. 남은 것은 ∑ciNkivi=∑ciNki−1ui=0이고, 이들은 rangeN의 기저의 일부이므로 ci=0.
이제 nullN을 봅시다. Nkivi=Nki−1ui (i=1,…,r)는 nullN∩rangeN에 있고 독립입니다. 이것을 nullN의 기저로 늘리는 벡터 w1,…,wp를 추가합니다(각각 길이 1인 사슬, Nwj=0). 차원을 세면: 목록의 길이는 dimrangeN+r+p이고, dimnullN=r+p이므로(위에서 고른 nullN∩rangeN의 원소 r개는 rangeN의 사슬 끝들인데, null(N∣rangeN)의 차원이 정확히 사슬의 개수 r입니다) 길이는 dimrangeN+dimnullN=n입니다. 독립성은 앞과 같은 논리(문제 27.13)이므로 기저입니다. ■
정리 27.16 (조르당 형식).F=C이면 모든 T∈L(V)에 대해 V의 기저가 있어
M(T)=Jk1(λ(1))⋱Jks(λ(s))
입니다. 블록들은 순서를 제외하고 T에 의해 유일하게 결정됩니다.
증명. 존재: 정리 27.8로 V=⨁G(λj,T)로 나누고, 각 G(λj,T)에서 멱영 연산자 (T−λjI)∣G에 정리 27.15를 씁니다. 그 기저에서 T=λjI+N은 Jk(λj) 블록들이 됩니다. 유일성: 블록의 개수와 크기는 다음 수들로 결정됩니다(문제 27.14).
#{λ의크기≥k인블록}=dimnull(T−λI)k−dimnull(T−λI)k−1.
■
예를 바꾸면 dim null Nᵏ 수열이 바뀝니다. 수열의 차이만으로 조르당 블록의 크기를 읽어 냅니다
이 위젯은 JavaScript가 필요합니다
27.7.1 조르당 형식 구하기
예제 27.17.A=100110111. 고윳값은 1뿐(중복도 3). N=A−I=000100110, rankN=2이므로 dimnullN=1: 블록이 1개, 크기 3. 조르당 형식은 J3(1).
예제 27.18. 고윳값 2만 가지는 4×4 행렬 A에 대해 dimnull(A−2I)=2, dimnull(A−2I)2=4이면: 블록 수 2, 크기 2 이상인 블록 4−2=2개. 따라서 J2(2)⊕J2(2). 만약 dimnull(A−2I)2=3, dimnull(A−2I)3=4이면 블록 2개 중 크기 ≥2가 1개, ≥3이 1개이므로 J3(2)⊕J1(2).
멱영 연산자는 사슬 기저를 갖고, 모든 복소 연산자는 조르당 블록들의 블록 대각행렬로 표현됩니다.
크기 ≥k인 블록의 개수 =dimnull(T−λI)k−dimnull(T−λI)k−1.
Jt에는 (jt)λt−j항이 나타납니다.
문제
27.1 [계산] · 확인 문제
T=000100010에 대해 k=0,1,2,3,4일 때 nullTk와 rangeTk를 구합니다. 사슬은 몇 번째에서 멈출까요? 표에는 차원을 적습니다.
k
0
1
2
3
4
dimnullTk
[?]
[?]
[?]
[?]
[?]
dimrangeTk
[?]
[?]
[?]
[?]
[?]
정답
0
1
2
3
3
3
2
1
0
0
풀이
Te1=0, Te2=e1, Te3=e2. nullT0={0}, nullT=span(e1), nullT2=span(e1,e2), nullTk=C3 (k≥3). rangeT0=C3, rangeT=span(e1,e2), rangeT2=span(e1), rangeTk={0} (k≥3). k=3=n에서 멈춥니다. 차원이 매번 정확히 1씩 늘어나므로 n보다 일찍 멈출 수 없는 예입니다.
27.2 [계산]
T=000100002에 대해 nullT∩rangeT={0}임을 확인합니다. 그리고 nullT3, rangeT3을 구해 C3=nullT3⊕rangeT3임을 직접 확인합니다.
풀이
nullT=span(e1), rangeT=span(e1,e3): 교집합 span(e1). T2=diag(0,0,4) 꼴이 되어 T3=000000008. nullT3=span(e1,e2), rangeT3=span(e3). 교집합이 {0}이고 차원의 합이 3.
27.3 [증명]
dimnullTk+1−dimnullTk=dim(nullT∩rangeTk)임을 보입니다. 이로부터 차이 dimnullTk+1−dimnullTk가 k에 대해 감소함을 보입니다.
힌트. Tk를 nullTk+1로 제한하면 그 상은 어디에 있을까요?
풀이
S=Tk∣nullTk+1로 둡시다. u∈nullTk+1이면 T(Tku)=0이므로 S의 상은 nullT 안에 있고, 물론 rangeTk 안에도 있습니다. 역으로 w=Tku∈nullT이면 Tk+1u=0, 즉 u∈nullTk+1이므로 rangeS=nullT∩rangeTk. nullS=nullTk (⊆nullTk+1). 기본정리: dimnullTk+1=dimnullTk+dim(nullT∩rangeTk). rangeTk+1⊆rangeTk이므로 우변의 둘째 항은 k에 대해 감소합니다.
정리 27.7에 의해 Nn=0. (I−N)(I+N+⋯+Nn−1)=I−Nn=I이고, 순서를 바꿔도 같습니다. xn=0일 때 등비급수가 유한합으로 끝나는 것과 같습니다.
27.8 [계산] · 확인 문제
A=200120113에 대해 G(2,A), G(3,A)를 구하고 C3=G(2,A)⊕G(3,A)임을 확인합니다. 각 고윳값의 기하적 중복도와 대수적 중복도를 비교합니다.
기하적 중복도
대수적 중복도
λ=2
[?]
[?]
λ=3
[?]
[?]
정답
1
2
1
1
풀이
A−2I=000100111, (A−2I)2=000000211. 영공간은 z=0: G(2,A)=span(e1,e2). (A−2I)3도 같은 영공간을 가집니다(z 성분만 살아남습니다). A−3I=−1001−10110: y=z, x=2z, G(3,A)=E(3,A)=span((2,1,1)). (2,1,1)의 z 성분이 1이므로 G(2,A)에 있지 않고, 차원의 합 2+1=3. λ=2: GM 1 (E(2,A)=span(e1)), AM 2. λ=3: GM = AM = 1.
27.9 [증명]
T가 대각화 가능한 것은 모든 고윳값 λ에 대해 G(λ,T)=E(λ,T)인 것과 동치임을 보입니다.
풀이
(⇒) V=⨁E(λj,T)이고 V=⨁G(λj,T), E⊆G입니다. ∑dimE=n=∑dimG이고 각 항이 dimE≤dimG이므로 모두 같습니다. 부분공간이 같은 차원이면 같습니다.
(b) λ=2: dimnull(A−2I)=1이고 중복도 2이므로 블록 하나 J2(2). λ=3: J1(3). 조르당 형식 200120003.
27.13 [도전]
정리 27.15의 증명에서 마지막 목록 Nkivi,…,Nvi,vi (i=1,…,r), w1,…,wp가 일차독립임을 보입니다. 또 dimnull(N∣rangeN)=r인 이유를 설명합니다.
풀이
∑i∑j=0kiaijNjvi+∑lblwl=0이라 합시다. N을 걸면 Nwl=0이고 Nki+1vi=Nkiui=0이므로 ∑i∑j=0ki−1aijNjui=0. 이것은 rangeN의 기저의 일차결합이므로 j<ki인 aij는 모두 0. 남은 식 ∑iai,kiNkivi+∑lblwl=0에서, 이 벡터들은 nullN의 기저로 골랐으므로 모든 계수가 0.
dimnull(N∣rangeN): rangeN의 사슬 기저에서 N∣rangeN의 행렬은 Jki(0) 블록들이고, 각 블록 Jk(0)의 영공간은 첫 기저벡터(사슬의 끝 Nki−1ui)로만 생성됩니다. 블록마다 1차원이므로 합은 r.
27.14 [도전] · 확인 문제
(a) dimnullJk(0)j=min(j,k)임을 보입니다. 이를 써서, T의 조르당 형식에서 고윳값 λ의 크기 ≥j인 블록의 개수가 dimnull(T−λI)j−dimnull(T−λI)j−1임을 보이고, 조르당 형식의 유일성을 결론짓습니다. (b) 6×6 행렬 A의 고윳값이 λ뿐이고 dimnull(A−λI)j가 j=1,2,3,4에서 3,5,6,6입니다. 조르당 형식을 구합니다. 위 위젯의 예 1과 같습니다. 표에는 (b)의 블록 크기를 큰 것부터 적습니다.
첫째 블록
둘째 블록
셋째 블록
[?]
[?]
[?]
정답
3
2
1
풀이
(a) Jk(0)는 ek↦ek−1↦⋯↦e1↦0으로 한 칸씩 밉니다. Jk(0)j는 j칸 밀고, e1,…,emin(j,k)를 죽이며 나머지는 서로 다른 기저벡터로 보냅니다. 따라서 dimnull=min(j,k).
조르당 기저에서 T−λI는 블록 대각이고, λ의 블록은 Jk(0), 다른 고윳값 μ의 블록은 Jk(μ−λ)로 가역입니다. 블록 대각행렬의 영공간 차원은 블록별 합이므로
dimnull(T−λI)j=λ의블록b∑min(j,kb).
min(j,k)−min(j−1,k)는 k≥j이면 1, 아니면 0. 따라서 차이는 크기 ≥j인 블록 수입니다. 좌변은 기저와 무관하게 T로만 정해지므로, 크기가 정확히 j인 블록의 수 =cj−cj+1도 그렇습니다(cj는 크기 ≥j인 블록 수). 블록 목록이 유일합니다.
(b) c1=3, c2=5−3=2, c3=6−5=1, c4=0. 크기 1, 2, 3인 블록이 하나씩: J3(λ)⊕J2(λ)⊕J1(λ). 크기 합 3+2+1=6.
27.15 [계산]
문제 27.12(a)의 A에 대해 At를 t의 식으로 구합니다. t=0,1에서 확인합니다. 대각화 가능한 행렬의 거듭제곱과 무엇이 다를까요?
풀이
Jt=[3t0t3t−13t], M−1=[01−12] (detM=1).
At=MJtM−1=3t−1[3+2t−t4t3−2t].
t=0: 31[3003]=I. t=1: [5−141]. 대각화 가능하면 성분이 3t의 상수배뿐이지만, 여기서는 t3t 꼴의 항이 있어 같은 고윳값이라도 더 빨리 자랍니다.