Aerospace Kim

[행렬의 랭크] ch2. 행렬의 랭크

이전 읽을거리)

[선형변환부터 동형사상까지] ch1. 선형변환

ch1. 기본행렬연산


행렬의 랭크

 

Definition.  AMm×n(F)랭크(rank)란 선형변환 LA:FnFm 의 랭크로 정의하고 rank(A) 라고 쓴다.

 

  위 정리에 따르면 다음과 같다.

rank(A)=rank(LA)=dim(LA(Fn))

  사실 이는 추상화된 정의이지만, 다음과 같이 중요한 정보를 빠르게 얻어낼 수 있다.

 

Theorem 2.1.  n×n 행렬이 가역일 필요충분조건은 행렬의 랭크가 n 인 것이다.

 

  Proof.  행렬 AMn×n(F) 가 가역임은 LA:FnFn 가 가역임과 동치이며, (링크의 정리 10.2-1 참고) 다시 이는 rank(LA)=dim(Fn) 와 동치이다. (링크의 정리 10-1 참고) 한편 dim(Fn)=n 이므로 원하는 결과를 얻는다.   

 

 

  다음의 정리에 따르면 행렬에 가역행렬을 곱하는 것으로는 랭크가 변하지 않는다.

 

Lemma 2.2. 벡터공간 V,W 와 선형변환 T:VW 에 대해 T 가 단사일 필요충분조건은 임의의 선형독립집합 SV 에 대해 T(S) 가 선형독립인 것이다.

 

  Proof.

  () T 가 단사라고 하자. 모순을 보이기 위해 어떤 선형독립집합 S={v1,,vk} 에 대해 T(S) 가 선형종속이라고 가정하자. 이때 자명하지 않은 영벡터 표현 i=1kaiT(vi)=0 이 존재한다. T 는 선형이므로 다음이 성립한다.

0=i=1kaiT(vi)=T(i=1kaivi)

  한편 T 는 단사이므로 i=1kaivi=0 이며, (링크의 정리 2.2-1 참고) 따라서 S 의 일차결합 중 자명하지 않은 영벡터 표현이 존재한다. 이는 S 가 일차독립이라는 가정에 어긋나므로 모순. 따라서 원하는 결과를 얻는다.

  () 임의의 선형독립집합 SV 에 대해 T(S) 가 선형독립이라고 하자. 0이 아닌 임의의 벡터 xV 에 대해 {x} 는 선형독립이므로 {T(x)} 도 선형독립이며 따라서 T(x)0 이다. 이는 N(T)={0} 을 의미하므로 T 는 단사이다. (링크의 정리 2.2-1 참고)   

 

 

Lemma 2.3.  유한차원 벡터공간 V,W 와 전단사 선형변환 T:VW , V 의 부분공간 V0 에 대해 다음이 성립한다.
  (1) T(V0)W 의 부분공간이다.
  (2) dim(V0)=dim(T(V0))

 

  Proof.  V0 의 기저 β0 를 생각하자.

  (1) 다음이 성립한다. (링크의 정리 1.1-2 참고)

(1)T(V0)=T(span(β0))=span(T(β0))

  한편 T(β0)W 이므로 span(T(β0))W 이며, (링크의 정리 4.1-2 참고) 따라서 T(V0)W 의 부분공간이다.

  (2) T 는 단사이므로 보조정리 2.2.에 따라 T(β0) 은 선형독립이다. |β0|=n 이라고 하면 |T(β0)|=n 이며, 식 (1)에 따라 T(V0)T(β0) 의 생성공간이므로 다음을 얻는다.

dim(V0)=n=dim(T(V0))

 

 

Theorem 2.4.  m×n 행렬 A , m×m 가역행렬 P , n×n 가역행렬 Q 에 대해 다음이 성립한다.
  (1) rank(AQ)=rank(A)
  (2) rank(PA)=rank(A)
  (3) rank(PAQ)=rank(A)

 

  Proof.

  (1) 다음이 성립한다. (링크의 정리 9-2 참고)

rank(AQ)=rank(LAQ)=rank(LALQ)=dim(LA(LQ(Fn)))

  한편 LQ 는 가역이므로 전단사이다. 즉 LQ(Fn)=Fn 이므로 다음을 얻는다.

rank(AQ)=dim(LA(Fn))=rank(LA)=rank(A)

  (2) 위와 비슷하게 rank(PA)=dim(LP(LA(Fn))) 가 성립한다. 한편 LP 는 전단사이고 LA(Fn)=R(LA)Fm 의 부분공간이므로 (링크의 정리 2-1 참고) 보조정리 2.3.에 따라 다음을 얻는다.

dim(LP(LA(Fn)))=dim(LA(Fn))

  따라서 다음을 얻는다.

rank(PA)=dim(LA(Fn))=rank(LA)=rank(A)

  (3) (1)과 (2)에 따라 다음을 얻는다.

rank((PA)Q)=rank(PA)=rank(A)

 

 

Corollary 2.5.  행렬의 기본연산은 랭크를 보존한다.

 

  Proof.  행렬 A 에 기본행연산을 시행하여 행렬 B 를 얻는다면 정리 1.2.에 따라 어떤 기본행렬 E 에 대해 B=EA 이다. 정리 1.3.에 따르면 E 는 가역이며 정리 2.4.에 따라 다음을 얻는다.

rank(B)=rank(EA)=rank(A)

  기본열연산에 대해서도 비슷하게 증명할 수 있다.   

 

 

행렬의 랭크 구하기

 

  이제 행렬의 랭크를 직접 구하는 방법을 알아보자. 다음의 정리로 시작하자.

 

Theorem 2.6.  행렬의 랭크는 그 열에 대한 생성공간의 차원이다. 즉 행렬의 랭크는 일차독립인 열의 최대 개수와 같다.

 

  Proof.  임의의 AMm×n(F)Fn 의 표준순서기저 β 를 생각하자. Aj 열을 aj 라고 하면 LA(ej)=Aej=aj 이므로 다음이 성립한다.

rank(A)=rank(LA)=dim(LA(Fn))=dim(LA(span(β)))=dim(span(LA(β)))=dim(span{a1,,an})

  따라서 A 의 랭크는 span{a1,,an} 의 차원이며, {a1,,an} 중 일차독립인 벡터의 최대 개수와 같다. (링크의 기저의 성질 참고)   

 

 

  정리 2.6. 덕분에 행렬의 랭크는 이제 선형변환에 얽매이지 않고 행렬의 열에 대한 개념으로 생각할 수 있다. 특히 따름정리 2.5.에 따르면 행렬의 랭크를 쉽게 파악하기 위해 몇 번의 간단한 연산을 시도해볼 수도 있다. 몇 개의 도움정리부터 시작하자.

 

Definition.  두 벡터공간 V,W 의 합은 다음과 같이 정의되며 V+W 라고 쓴다.{x:vV,wW,x=v+w}

 

Lemma 2.7.  벡터공간 V부분공간 W1,W2 에 대해 W1+W2W1W2 를 포함하며 V 의 부분공간이다.

 

  Proof.  임의의 xW1 , yW2 에 대해 x+yW1+W2 이다. 특히 0W2 이므로 y=0 이라고 하면 xW1+W2 이므로 W1W1+W2 를 얻는다. 비슷하게 W2W1+W2 가 성립한다. W1+W2V 의 부분공간임을 보이자. 임의의 z1,z2W1+W2 에 대해 어떤 x1,x2V , y1,y2W2 가 존재하여 z1=x1+y1 , z2=x2+y2 가 성립한다. 다음이 성립한다.

x1+x2W1y1+y2W2

z1+z2=(x1+y1)+(x2+y2)=(x1+x2)+(y1+y2)

z1+z2W1+W2

  따라서 W1+W2 는 덧셈에 대하여 닫혀있다. 임의의 스칼라 a 에 대하여 다음이 성립한다.

ax1W1ay1W2

az1=a(x1+y1)=ax1+ay1

az1W1+W2

  따라서 W1+W2 는 스칼라곱에 대하여 닫혀있다. 또한 0V 에 대해 0W1 , 0W2 이며 0+0=0W1+W2 이므로 W1+W2V 의 부분공간이다. (링크의 정리 2.1-1 참고)   

 

 

Lemma 2.8.  유한차원 벡터공간 W1,W2 에 대해 W1+W2 는 유한차원이며 다음이 성립한다.dim(W1+W2)=dim(W1)+dim(W2)dim(W1W2)

 

  Proof.  W1W2 의 어떤 기저 α 를 생각하자. 이때 α 를 확장하여 각각 W1 , W2 의 기저를 얻을 수 있다. 이렇게 얻은 W1 , W2 의 기저를 각각 αβ , αγ 라고 하자. (β,γα 와 서로소) 이때 αβγW1+W2 를 생성함은 자명하다. 한편 αγ 는 선형독립이므로 γ 의 모든 원소는 span(α) 에 속하지 않는다. (링크정리 5.1-5b 참고) 이때 span(α)=W1W2 이며 γW2 이므로 γW2W1 을 얻는다. span(αβ)=W1 이므로 다시 γ 의 모든 원소는 span(αβ) 에 속하지 않으며, 따라서 αβγ 은 일차독립이다. 정리하면 αβγW1+W2 의 기저이다. 특히 α , β , γ 는 모두 서로소이므로 다음이 성립한다.

dim(W1+W2)=|αβγ|=|α|+|β|+|γ|=(|α|+|β|)+(|α|+|γ|)|α|=|αβ|+|αγ||α|=dim(W1)+dim(W2)dim(W1W2)

  따라서 원하는 결과를 얻는다.   

 

 

Lemma 2.9.  다음의 두 행렬 B,B 에 대해 rank(B)=rank(B)+1 가 성립한다.B=(10000B)

 

  Proof.  B 의 1열은 e1 이며, B 의 1열을 제외한 나머지를 B0 이라고 하면 B=(e1B0) 이고 특히 다음과 같다.

e1=(100)B0=(00B)

  BMm×n(F) 라고 하자. 임의의 xFn+1 에 대해 x=(x1xn+1) 이라고 하면 다음이 성립한다.

Bx=x1e1+B0(x2xn+1)

R(LB)=R(Le1)+R(LB0)

  각 R(LB) , R(Le1) , R(LB0)Fm+1 의 부분공간이다. (링크의 정리 2-1 참고) 이때 R(Le1) 의 모든 벡터는 첫 번째 성분을 제외한 모든 성분이 0이고, R(LB0) 의 모든 벡터는 첫 번째 성분이 0이므로 다음이 성립한다.

R(Le1)R(LB0)={0}

  즉 dim(R(Le1)R(LB0))=0 이므로 도움정리 2.8.에 따라 다음을 얻는다.

rank(LB)=rank(Le1)+rank(LB0)

  한편 rank(Le1)=1 임이 자명하므로 다음을 얻는다.

rank(B)=1+rank(B0)

  한편 정리 2.6.에 따라 rank(B)=rank(B0) 임이 자명하므로 원하는 결과를 얻는다.   

 

 

Lemma 2.10.  다음의 (m+1)×(n+1) 행렬 B,Dm×n 행렬 B,D 를 생각하자.B=(10000B)D=(10000D)  B 에 기본연산을 유한 번 시행하여 D 를 얻을 수 있다면, B 에 기본연산을 유한 번 시행하여 D 를 얻을 수 있다.

 

  Proof.  B 에 유한 번의 기본연산을 시행하여 D 를 얻었다면 D=E1BE2 를 만족하는 행렬 E1,E2 가 존재한다. 다음의 행렬을 생각하자.

E1=(10000E1)E2=(10000E2)

  이때 E1Im 에서 E1 을 얻을 때 i 번째 행에 시행한 기본연산을 Im+1i+1 번째 행에 시행하여 얻을 수 있는 행렬이므로 m×m 기본행렬이다. 비슷하게 E2n×n 기본행렬이다. 한편 행렬의 곱 연산에 따라 다음이 자명하다.

E1B=(10000E1)(10000B)=(10000E1B)

  비슷하게 다음이 성립한다.

E1BE2=(10000E1B)(10000E2)=(10000E1BE2)

  이때 E1BE2=D 이므로 E1BE2=D 를 얻는다. 이는 B 에 유한 번의 기본연산을 시행하여 D 를 얻을 수 있음을 의미하므로 원하는 결과를 얻는다.   

 

 

  이제 랭크에 대한 논의의 중요한 분기점이 되는 정리를 증명하자.

 

Theorem 2.11.  랭크가 rm×n 행렬 A 에 대해 rm,n 이 성립하며 A 에 기본연산을 유한 번 시행하여 다음의 행렬 D 를 얻을 수 있다.D=(IrOOO)  이때 각 O 는 적절한 영행렬이다.

 

  Proof.  A 가 영행렬이면 rank(A)=0 이고 D=A 이므로 정리가 성립한다. A 가 영행렬이 아니라고 가정하자. m 에 대한 수학적 귀납법으로 증명하자.

  m=1 일 때를 생각하자. A 는 행벡터이며 0아닌 성분을 가지므로 1형, 2형 열연산으로 첫 번째 성분을 1로 만들 수 있으며, 3형 열연산을 반복하여 나머지 성분을 모두 0으로 만들어 D 를 얻을 수 있다. 정리 2.6.에 따라 D 의 랭크는 1이며 따름정리 2.5.에 따라 A 의 랭크도 1이다. 이때 11,n 이므로 정리가 성립한다.

  m1 에서 정리가 성립한다고 가정하고 m 에서 정리가 성립함을 보이자. m×n 행렬 A 는 0이 아닌 성분을 가지므로 1형 행연산과 1형, 2형 열연산으로 1행 1열의 성분을 1로 만들 수 있으며 3형 연산을 반복하여 다음과 같은 꼴의 행렬을 얻을 수 있다.

B=(10000B)

  이때 B(m1)×(n1) 행렬이므로 rank(B)=r1 이라고 하면 귀납법 가정에 따라 r1m1,n1 이 성립하며 B 에 기본연산을 유한 번 시행하여 다음의 행렬 D 를 얻을 수 있다.

D=(Ir1OOO)

  도움정리 2.9.에 따라 rank(B)=r 이며 rm,n 을 얻는다. 한편 B 에 기본연산을 유한 번 시행하여 D 를 얻었으므로 도움정리 2.10.에 따라 B 에 기본연산을 유한 번 시행하여 다음의 행렬 D 를 얻을 수 있다.

D=(10000D)=(10000Ir1OOO)=(IrOOO)

  여기서 B 는 이미 A 에 기본연산을 유한 번 시행하여 얻은 행렬이므로, A 에 기본연산을 유한 번 시행하여 D 를 얻을 수 있으며 따름정리 2.5.에 따라 rank(A)=rank(B) 이므로 원하는 결과를 얻는다.   

 

 

  이 정리는 랭크의 관점에서 행렬의 불필요한 부분을 완전히 제거하여 랭크의 성질을 알아내는데 도움을 준다.

 

 

랭크의 성질

 

Corollary 2.12.  랭크가 rm×n 행렬 A 에 대해 다음을 만족하는 m×m 가역행렬 B , n×n 가역행렬 C 가 존재한다.D=(IrOOO)=BAC

 

  Proof.  정리 2.11.에 따라 A 에 유한 번의 기본연산을 시행하여 D 를 얻을 수 있다. 이때 다음을 만족하는 m×m 기본행렬 E1,,Ep , n×n 기본행렬 G1,,Gq 가 존재한다.

D=EpE1AG1Gq

  이때 기본행렬은 가역이므로 EpE1G1Gq 도 가역이며, 따라서 원하는 결과를 얻는다.   

 

 

  다음의 따름정리 이전에 자명한 사실 하나를 확인하자. 어떤 행렬 A 가 가역이면 At 도 가역이며 At 의 역행렬은 (A1)t 이다. 이는 다음의 식으로써 자명하다.

(A1)tAt=(AA1)t=It=I

 

Corollary 2.13.  다음이 성립한다.
  (1) 행렬 A 에 대해 At 의 랭크는 A 의 랭크와 같다.
  (2) 행렬의 랭크는 그 행에 대한 생성공간의 차원이다. 즉 행렬의 랭크는 일차독립인 행의 최대 개수와 같다.
  (3) 행렬의 행과 열이 생성하는 각각의 부분공간은 차원이 같으며, 이 차원은 행렬의 랭크와 같다.

 

  Proof.

  (1) rank(A)=r 이라고 하자. 따름정리 2.12.에 따르면 D=(IrOOO) 에 대해 D=BAC 인 가역행렬 B,C 가 존재한다. 한편 다음이 성립한다.

Dt=(BAC)t=CtAtBt

  이때 B,C 는 가역이므로 Bt,Ct 도 가역이다. 정리 2.4.에 따라 다음이 성립한다.

rank(At)=rank(CtAtBt)=rank(Dt)

  한편 Dt 는 여전히 (IrOOO) 의 꼴이므로 (DDt 일 수 있음) 정리 2.6.에 따라 Dt 의 랭크는 r 이다. 따라서 원하는 결과를 얻는다.

  (2) 정리 2.6.과 본 정리의 (1)에 따라 자명하다.

  (3) 정리 2.6.과 본 정리의 (2)에 따라 자명하다.   

 

 

  이제 그 어떤 행렬도 반복계산으로 랭크를 구할 수 있다. 행렬의 랭크를 구하는 전략은 기본연산을 행렬에 적용하여 가능한 많은 성분이 0이 되도록 하여 일차독립인 행 또는 열이 몇 개인지 쉽게 파악하는 것이다. 예시는 생략한다.

 

  다음의 정리는 상당히 중요하다.

 

Corollary 2.14.  모든 가역행렬은 기본행렬의 유한한 곱과 같다.

 

  Proof.  정리 2.1.에 따라 n×n 가역행렬 A 의 랭크는 n 이다. 한편 따름정리 2.12.의 증명에서와 같이 다음을 만족하는 m×m 기본행렬 E1,,Ep , n×n 기본행렬 E1,,Eq 가 존재한다.

In=EpE1AG1Gq

  정리 1.3.에 따르면 기본행렬은 가역이므로 다음이 성립한다.

A=E11Ep1InGq1G11=E11Ep1Gq1G11

  다시 정리 1.3.에 따라 기본행렬의 역행렬도 기본행렬이므로 원하는 결과를 얻는다.   

 

 

읽어주셔서 감사합니다.

 

 

References)
[1] 스티븐 H, 프리드버그. (2020). 프리드버그 선형대수학 (한빛수학교재연구소 옮김). 한빛아카데미.


이전 읽을거리)

[선형변환부터 동형사상까지] ch1. 선형변환

ch1. 기본행렬연산