7. 행렬의 랭크 및 역행렬(단사, 전사)

김재희·2021년 8월 20일
0

Linear Algebra

목록 보기
7/18

0. 단사함수와 전사함수

단사함수와 전사함수는 이미 고등학교 수학 과정에 포함되어 있는 익숙한 내용이다. 고등학교에서는 2차원 공간으로 한정지어 배울 따름이다. 이제 이를 일반화하면 된다.

단사함수

단사함수란 일대일 함수를 의미한다. 즉 치역의 각 원소에 대응하는 정의역의 원소가 최대 1개인 함수를 의미한다.

위 그림에서 왼쪽은 단사함수가 아니고, 오른쪽은 단사함수다. T:RnRmT:R^n \to R^m인 선형변환을 가정할 때, 왼쪽은 여러 정의역의 원소가 치역의 0에 대응하고 있는 모습을 보인다. 하지만 오른쪽의 선형변환에선 정의역의 각각의 원소가 치역의 각각의 원소에 대응하고 있는 것을 알 수 있다.

전사함수

전사함수란 위로의함수(onto)를 의미한다. 이는 공역과 치역이 일치하는 함수를 의미한다. 2차원 공간상에서 생각해보면 2차함수는 치역이 공역보다 작지만, 1차 함수는 치역과 공역이 일치하게 된다.

위의 선형변환을 다시 생각해보면 좌측의 그림에선 어떠한 정의역의 원소를 선형변환하더라도 하늘색 평면으로 표현된 치역외의 다른 3차원 공역 상의 공간에 대응하는 원소가 되지 못하는 것을 볼 수 있다. 이에 반해, 우측의 그림에선 공역과 치역이 정확히 일치하는 모습을 보이고 있다.

0-1. 단사함수의 영공간

단사 함수의 영공간은 영벡터 하나로 이루어져 있다. 반대로, 영벡터만 영공간으로 가지는 함수는 단사함수이다. 증명은 다음과 같다.
벡터공간 V,WV, W와 선형변환 T:VWT:V\to W에 대하여 다음을 통해 증명한다.

  1. T가 단사함수이고, xN(T)x \in N(T)라 가정하면, T(x)=0=T(0)T(x) = 0 = T(0)이다. 이때, TT가 단사이므로, x = 0이고, N(T)={0}N(T) = \{0\}이다.
  2. N(T)={0},T(x)=T(y)N(T) = \{0\}, T(x) = T(y)라 가정하자. 이때, 0=T(x)T(y)=T(xy)0 =T(x) -T(y)=T(x-y)이므로, 다음이 성립한다.
    xyN(T)={0}xy=0x=yx-y \in N(T) = \{0\} \leftrightarrow x - y = 0 \leftrightarrow x = y
    그러므로 T는 단사함수이다.

0-2. 동치

다음과 같은 특별한 경우에 단사함수는 전사함수와 동치가 된다.

정리 1. 유한차원 벡터공간 V,WV, W의 차원이 같을 때, 선형변환 T:VWT: V \to W에 대하여 다음 세 명제는 동치이다.
1. TT는 단사이다.
2. TT는 전사이다.
3. rank(T)=dim(V)rank(T) = dim(V)

이에 대한 증명은 다음과 같다.
우선, nullity(T)+rank(T)=dim(V)nullity(T) + rank(T) = dim(V)를 상기하자.

T    단사N(T)={0}nullity(T)=0rank(T)=dim(V)rank(T)=dim(W)dim(R(T))=dim(W)R(T)=W\begin{aligned} T가 \;\; 단사 &\leftrightarrow N(T) = \{0\}\\ &\leftrightarrow nullity(T) = 0\\ &\leftrightarrow rank(T) = dim(V)\\ &\leftrightarrow rank(T) = dim(W)\\ &\leftrightarrow dim(R(T)) = dim(W) \\ \therefore R(T) = W \end{aligned}

이때 유한차원의 벡터공간이라는 점을 명심하자. 무한차원에 대해서는 성립하지 않는다.

1. 랭크

이전에 선형변환 T:WVT:W \to V에서 R(T)R(T)의 차원을 TT의 랭크라 했다. 행렬이 선형변환과 연결되어 있다는 점을 생각하면 행렬의 랭크는 다음과 같이 정의할 수 있다.

정의 1. 행렬 AMm×n(F)A \in M_{m \times n}(F)에 대하여 AA의 랭크는 선형변환 LA:FnFmL_A:F^n \to F^m의 랭크로 정의하고, rank(A)rank(A)로 표기한다.

이때, 행렬의 가역성은 랭크를 이용해 판단할 수 있다. n×nn \times n 행렬이 가역이기 위한 필요충분조건은 행렬의 랭크가 n이어야 한다.

이는 단사와 전사에 대해 설명하면서, 단사함수와 전사함수가 동치라고 했던 점을 명심하자. 그렇다면 rank(A)=m(m<n)rank(A) = m (m < n)이라는 것은 행렬 AA가 선형변환으로서 전단사함수임을 의미하고, 이는 곧 nullity(A)={0}nullity(A) = \{0\}임을 의미합니다. 이를 다시 행렬로 나타내면 Ax=0Ax = 0인 벡터 xx가 영벡터만 존재한다는 의미이므로 역행렬이 존재하게 됩니다. 자세한 내용은 뒤에서 더 다뤄보도록 하겠습니다.

그런데 행렬의 랭크는 단순히 선형변환의 랭크를 넘어 행과 열의 개념으로 생각해볼 수도 있다. 이때 랭크의 정의는 다음과 같다.

정리 2. 임의의 행렬의 랭크는 일차독립인 열의 최대개수와 같다. 즉, 행렬의 랭크는 그 열에 의해 생성된 부분공간의 차원이다.

이는 다음과 같이 증명될 수 있다.
임의의 행렬 AMm×n(F)A\in M_{m \times n}(F)에 대해 FnF^n의 표준 순서기저 β\beta를 생각해보면, β\betaFnF^n을 스팬하기 때문에 자연스레 다음 식이 성립하게 된다.

R(LA)=span(LA(β))=span({LA(e1),LA(e2),,LA(en)})R(L_A) = span(L_A(\beta)) =span(\{L_A(e_1), L_A(e_2), \dots, L_A(e_n)\})

이때 LA(ej)=AeJ=ajL_A(e_j) = Ae_J = a_j이므로, 다음이 성립하게 된다.

rank(A)=dim(R(LA))=dim(span({a1,a2,,an}))rank(A) = dim(R(L_A)) = dim(span(\{a_1, a_2, \dots, a_n\}))

즉, 행렬이 주어졌을때, 기본 열연산을 통해 행렬의 일차독립인 열의 개수를 구한다면, 랭크를 자연스레 구할 수 있다.

이때 가장 확실하게 일차독립인 열을 만드는 방법은 아래와 같이 서로 가지고 있는 0이 아닌 원소의 위치가 다른 열을 만드는 것이다. 만약 어떤 행렬이든 기본행렬연산을 이용해 아래와 같이 대각성분만 0이 아닌 원소를 가지는 꼴로 바꿀 수 있는지 확인할 수 있다면, 가역성을 검정할 수 있게 되는 것이다.

하지만 아래와 같은 행렬이

아래처럼 변형된다면

이는 full rank가 아니므로, 자연스럽게 역행렬이 존재하지 않는 행렬이 되는 것이다. 이때, 모든 행렬이 위와 같이 대각 성분으로 1 또는 0만을 가지는 부분 행렬이 단위행렬꼴인 모습을 가지도록 변형할 수 있다는 점을 명심하자.

1-1. 전치 행렬의 랭크

행렬 AA가 있을 때, ATA^T의 랭크는 어떨까? 결론부터 말하면 rank(A)=rank(AT)rank(A) = rank(A^T)이다. 이는 위의 증명과 정리를 이용하면 간단하게 증명할 수 있는데 하나씩 해보자.

어떠한 행렬이든 유한 번의 기본행연산과 기본열연산을 가하면 다음과 같은 행렬DD로 변환할 수 있다.

D=(IrO1O2O3)D = \begin{pmatrix} I_r & O_1\\O_2 & O_3 \end{pmatrix}

즉, 부분행렬이 단위행렬꼴인 모습으로 변환할 수 있는 것이다. 이를 수식으로 나타내면 다음과 같을 것이다.

D=EpEp1E2E1AG1G2Gq\displaystyle D = E_pE_{p-1}\dots E_2E_1AG_1G_2\dots G_q

그런데 기본행연산 혹은 기본열연산의 곱은 가역행렬이다. 이를 정리하여 B=EpEp1E2E1,C=G1G2GqB = E_pE_{p-1}\dots E_2E_1, C = G_1G_2\dots G_q로 나타내면 다음과 같은 모습이 된다.

D=BAC\displaystyle D = BAC

정리 3. 즉, 어떤 m×nm\times n행렬 AA에 대해 rank(A)=rrank(A) = r일 때, 다음을 만족하는 m×mm \times m 가역행렬 BBn×nn\times n 가역행렬 CC가 존재한다.

D=(IrO1O2O3)=BACD = \begin{pmatrix} I_r & O_1\\O_2 & O_3 \end{pmatrix} =BAC

위의 정리에서 양 변에 전치행렬을 구해보면 다음과 같다.

D=BACDT=(BAC)T=CTATBT\displaystyle D = BAC\\ D^T = (BAC)^T = C^TA^TB^T

그런데 B와 C가 가역행렬이므로 자연스럽게 BTB^TCTC^T도 가역행렬이다. 또한, 행렬 D는 이미 행과 열이 모두 선형독립의 꼴이다. 즉, rank(CTATBT)=rank(AT)rank(C^TA^TB^T) = rank(A^T)가 되고, 이를 최종적으로 정리하면 다음 모습이 된다.

rank(AT)=rank(CTATBT)=rank(DT)rank(DT)=rank(D)=rank(A)rank(AT)=rank(A)\displaystyle rank(A^T) = rank(C^TA^TB^T) = rank(D^T)\\ rank(D^T) = rank(D) = rank(A)\\ \therefore rank(A^T) = rank(A)

결국 한 행렬의 전치와 원래 행렬의 랭크는 같다. 이는 랭크가 치역의 차원을 의미하고, 행렬이 선형변환과 연결되어 있다는 점을 생각해보면, 당연한 결과이다.
LA=FnFmL_A = F^n \to F^m에서 역행렬을 선형변환으로 나타내면 LAT=FmFNL_{A^T} = F^m \to F^N이 되는데, AA의 치역이 ATA^T의 정의역이 되기 때문이다.


참고

ratsgo's blog

0개의 댓글