지난 시간에 랭크가 3인 행렬
$$A=\begin{pmatrix} 1 & 2 & 1 & 3 \\ 1 & -1 & 4 & 2 \\ 2 & 6 & -2 & 3 \\ -1 & -1 & 0 & 1 \end{pmatrix}$$
을 기본행렬연산을 통해 대각 성분은 0 또는 1이고, 나머지 성분은 모두 0인 행렬
$$\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix}$$
로 바꿀 수 있음을 확인했고, 그러면서 1의 개수가 행렬의 랭크랑 관련 있을 것 같다는 암시를 했습니다.
오늘 다룰 내용이 바로 기본행렬과 행렬의 랭크 사이의 관계입니다.
랭크가 $r$인 $m \times n$ 행렬 $A$에 대하여 $r \leq m$, $r \leq n$이고, 기본행렬연산을 유한 번 사용하여 $A$를
$$D_{ij}=\left\{ \begin{matrix} 1 & i=j \leq r \\ 0 & \mathrm{else} \end{matrix}\right.$$
인 행렬 $D$로 바꿀 수 있다.
또한 $D=BAC$를 만족시키는 $m \times m$ 가역행렬 $B$와 $n \times n$ 가역행렬 $C$가 존재한다.
$D$는 좀 더 직관적으로 $\begin{pmatrix}I_r & O_1 \\ O_2 & O_3 \end{pmatrix}$라고도 나타낼 수 있습니다. $I_r$은 $r \times r$ 항등행렬, $O_1$, $O_2$, $O_3$는 영행렬입니다. $$\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix}$$에서 $$I_r=I_3=\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}, O_1 =\begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix} $$ $$O_2=\begin{pmatrix} 0 & 0 & 0 \end{pmatrix}, O_3 =\begin{pmatrix} 0 \end{pmatrix} $$입니다.
이제 증명을 시작해봅시다.
먼저 $A$가 영행렬인 경우입니다. $A$가 영행렬이면 $\mathsf{N}(\mathsf{L}_A) = F^n$이므로 차원정리 (1-11)에 의해 $\mathrm{rank}(\mathsf{L}_A) = 0$이므로 $r=0$입니다. 또한 $0$은 행렬의 행과 열의 개수 $m$, $n$보다 작습니다. 따라서 증명이 끝납니다.
이제 $A$가 영행렬이 아닌 경우입니다. 이 경우에는 행의 개수$m$에 대한 귀납법으로 증명해봅시다.
먼저 $m=1$이면 최대 한 번의 1형 기본열연산과 최대 한 번의 2형 기본열연산을 이용하여 1열 성분을 $1$로 만들 수 있고, 최대 $n-1$번의 3형 기본열연산을 통해 $D=\begin{pmatrix} 1 & 0 & \cdots & 0 \end{pmatrix}$으로 만들 수 있습니다. $A$가 영행렬이 아니고 $m=1$이면 $A$의 일차독립인 열의 최대 개수는 $1$이므로 $r=\mathrm{rank}(A)=1$이고, $D$에서 항등행렬 부분은 $I_1$입니다. 또한 $1 \leq m = 1$, $1 \leq n$이므로 $m=1$일 때 주어진 성질은 성립합니다.
이제 $m>1$일 때 $m-1$개의 행을 가지는 행렬에서 위 성질이 성립한다고 가정하고, $m$개의 행을 가지는 행렬에서 위 성질이 성립함을 보입시다.
$n=1$이라면 최대 한 번의 1형 기본행연산과 최대 한 번의 2형 기본행연산을 이용하여 1열 성분을 $1$로 만들 수 있고, 최대 $n-1$번의 3형 기본행연산을 통해 $$D=\begin{pmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{pmatrix}$$으로 만들 수 있습니다. 그리고 $1 \leq m$, $1 \leq n = 1$입니다. 따라서 주어진 명제는 참입니다.
$n>1$이라면 최대 한 번의 1형 기본행연산과 최대 한 번의 1형 기본열연산, 최대 한 번의 2형 기본행연산을 이용하여 1열 성분을 $1$로 만들 수 있고, 최대 $n-1$번의 3형 기본열연산, 최대 $m-1$번의 3형 기본행연산을 통해 아래와 같은 형태의 행렬로 바꿀 수 있습니다.
$$B=\left( \begin{array} { c | c c c} 1 & 0 & \cdots & 0 \\ \hline 0 & & & \\ \vdots & & B' & \\ 0 & & & \end{array} \right)$$
여기서 한 가지 확인할 것이 있습니다. 바로 행렬 $B'$의 랭크가 $r-1$인지. 만약에 $B'$의 랭크가 $r-1$이면 귀납 가정에 의해 $B'$는 유한 번의 기본행렬연산을 통해 행렬 $$D'=\begin{pmatrix}I_{r-1} & O_4 \\ O_5 & O_6 \end{pmatrix}$$으로 바꿀 수 있고, 그러면 행렬 $B$는 $$D= \left( \begin{array} { c | c c c} 1 & 0 & \cdots & 0 \\ \hline 0 & & & \\ \vdots & & D' & \\ 0 & & & \end{array} \right) = \begin{pmatrix}I_r & O_1 \\ O_2 & O_3 \end{pmatrix}$$가 됩니다. 또한 $B'$이 $(m-1) \times (n-1)$ 행렬이므로 귀납 가정에 의해 $r-1 \leq m-1$, $r-1 \leq m-1$이므로 $r \leq m$, $r \leq n$이 되어 $m$개의 행을 가지는 행렬에서 위 성질이 성립함을 얻을 수 있습니다.
그러면 행렬 $B'$의 랭크가 $r-1$인지 살펴봅시다. $B' = \begin{pmatrix} v_1 & v_2 & \cdots & v_{n-1} \end{pmatrix}$라 하면 (1-7)에 의해 $$\left\{ w_1, w_2, \cdots, w_k \right\} \subset \left\{ v_1, v_2, \cdots, v_{n-1} \right\}(k \leq n-1)$$이고, $\left\{ w_1, w_2, \cdots, w_k \right\}$가 $\mathsf{R}(\mathsf{L}_{B'})$의 기저가 되도록 집합을 구성할 수 있습니다. 그러면 $\mathrm{rank}(\mathsf{L}_{B'}) = k$이고, $$\left\{ \begin{pmatrix} 0 \\ w_1 \end{pmatrix}, \begin{pmatrix} 0 \\ w_2 \end{pmatrix}, \cdots, \begin{pmatrix} 0 \\ w_k \end{pmatrix} \right\}$$도 일차독립입니다. 따라서 $$\mathrm{span} \left( \left\{ \begin{pmatrix} 0 \\ w_1 \end{pmatrix}, \begin{pmatrix} 0 \\ w_2 \end{pmatrix}, \cdots, \begin{pmatrix} 0 \\ w_k \end{pmatrix} \right\} \right) \subset \mathsf{R}(\mathsf{L}_{B})$$
입니다. 한편 $B$의 1열을 $\begin{pmatrix} 1 \\ O \end{pmatrix}$라 표기하고, $$ S_1 = \left\{ \begin{pmatrix} 1 \\ O \end{pmatrix}, \begin{pmatrix} 0 \\ w_1 \end{pmatrix}, \begin{pmatrix} 0 \\ w_2 \end{pmatrix}, \cdots, \begin{pmatrix} 0 \\ w_k \end{pmatrix} \right\}$$ $$ S_2= \left\{ \begin{pmatrix} 1 \\ O \end{pmatrix}, \begin{pmatrix} 0 \\ v_1 \end{pmatrix}, \begin{pmatrix} 0 \\ v_2 \end{pmatrix}, \cdots, \begin{pmatrix} 0 \\ v_{n-1} \end{pmatrix} \right\}$$
라 하면 $S_1 \subset S_2$이고, $S_2$에서 임의의 원소를 꺼내어 $S_1$에 넣으면 $S_1$은 일차종속이 됩니다. 따라서 (1-7)에 의해 $S_1$은 $\mathsf{R}(\mathsf{L}_{B})$을 생성합니다. 그러므로 $\mathsf{R}(\mathsf{L}_{B})$의 차원은 $S_1$의 원소의 개수와 같으므로 $$r=k+1 \Rightarrow k=r-1 $$에서 $B'$의 랭크가 $r-1$입니다.
이제 $D=BAC$를 만족시키는 $m \times m$ 가역행렬 $B$와 $n \times n$ 가역행렬 $C$가 존재함을 보입시다. 지금까지 기본행렬연산을 유한 번 사용하여 $A$를 $D$로 바꿀 수 있음을 증명했습니다. 기본행렬연산은 기본행렬의 곱으로 나타낼 수 있으므로 기본행연산을 나타내는 기본행렬을 $E_i$, 기본열연산을 나타내는 기본행렬을 $F_j$라 합시다. 그러면 $$D = E_p \cdots E_2E_1AF_1F_2 \cdots F_q$$이고, $B=E_p \cdots E_2E_1$, $C=F_1F_2 \cdots F_q$라 하면 $E_i$, $F_j$는 가역이므로 (1-21)에 의해 $B$, $C$도 가역입니다.
길고 긴 증명을 통해 임의의 $A$를 간단한 행렬로 바꾸는 방법을 알았습니다. 그리고 랭크가 $r$인 $m \times n$ 행렬 $A$에 대하여 $r \leq m$, $r \leq n$이라는 것도 알았습니다. 그런데 뭔가 이상하지 않나요? 우리는 행렬의 랭크를 일차독립인 행렬의 열벡터의 개수로 정의했습니다. 그런데 랭크 $r$이 행의 개수 $m$과도 관계를 맺고 있습니다. 그것도 $r \leq n$에서 $n$을 $m$으로 바꾼 것 말고는 차이가 없습니다. 여기서 이런 의문이 듭니다.
혹시 행렬의 랭크를 일차독립인 행벡터의 개수로 정의해도 될까?
랭크가 $r$인 $m \times n$ 행렬 $A$에 대하여
- $\mathrm{rank}(A^t) = \mathrm{rank}(A)$
- 행렬의 랭크는 행렬의 행벡터에 의해 생성된 부분공간의 차원이다. 즉, 일차독립인 행의 최대의 개수이다.
- 행렬의 행과 열은 같은 부분공간을 생성한다. 이 부분공간의 차원은 행렬의 랭크와 같다.
- 랭크가 $n$인 $n \times n$ 행렬 $A$는 기본행렬의 곱으로 나타내어진다.
- (1-30)에 의해 $D=BAC$인 가역행렬 $B$, $C$가 존재합니다. 그리고 $D^t=C^t A^t B^t$입니다. (1-21)에 의해 $B^t$, $C^t$도 가역이므로 (1-29)에 의해 $\mathrm{rank}(D^t)=\mathrm{rank}(C^t A^t B^t)=\mathrm{rank}(B^t)$입니다.
- $\mathrm{rank}(D^t)$의 랭크는 $$D=\begin{pmatrix}I_r & O_1 \\ O_2 & O_3 \end{pmatrix} \Rightarrow D^t=\begin{pmatrix}I_r & {O_2}^t \\ {O_1}^t & {O_3}^t \end{pmatrix}$$에서 $r$임을 알 수 있습니다. 따라서 $\mathrm{rank}(A^t) = \mathrm{rank}(A) = r$입니다.
- 행렬의 행과 열은 모두$F^r$을 생성합니다.
- (1-30)에 의해 $D=BAC$를 만족시키는 가역행렬 $B$와 $C$에 대해 $D=I_n$입니다. 따라서 $A=B^{-1}DC^{-1}=B^{-1}C^{-1}$입니다. 한편 기본 열연산을 나타내는 기본행렬 곱 $B=E_p \cdots E_2E_1$와 기본 행연산을 나타내는 기본행렬 곱 $C=F_1F_2 \cdots F_q$에 대해서 $$A={E_1}^{-1} {E_2}^{-1} \cdots {E_p}^{-1} {F_1}^{-1} {F_2}^{-1} \cdots {F_q}^{-1}$$이고, (1-28)에 의해 ${E_i}^{-1}$, ${F_j}^{-1}$이 모두 기본행렬이므로 행렬 $A$는 기본행렬의 곱으로 나타내어집니다. 1에 의해 $\mathrm{rank}(A) = \mathrm{rank}(A^t)$이고, (1-26)에 의해 $\mathrm{rank}(A^t)$는 $A^t$의 열벡터에 의해 생성된 부분공간의 차원이며, 이는 $A$의 행벡터에 의해 생성된 부분공간의 차원과 같습니다.
유한차원 벡터공간 $\mathsf{V}$, $\mathsf{Z}$, $\mathsf{W}$에 대하여 선형변환 $\mathsf{T}:\mathsf{V} \rightarrow \mathsf{Z}$, $\mathsf{U}:\mathsf{Z} \rightarrow \mathsf{W}$와 행렬 곱 $AB$가 정의되는 행렬 $A$, $B$에 대하여
- $\mathrm{rank}(\mathsf{UT}) \leq \mathrm{rank}(\mathsf{U})$
- $\mathrm{rank}(AB) \leq \mathrm{rank}(A)$
- $\mathrm{rank}(AB) \leq \mathrm{rank}(B)$
- $\mathrm{rank}(\mathsf{UT}) \leq \mathrm{rank}(\mathsf{T})$
- $\mathsf{R}(\mathsf{UT}) $$= \mathsf{UT}(\mathsf{V}) $$= \mathsf{U}(\mathsf{T}(\mathsf{V})) $$= \mathsf{U}(\mathsf{R}(\mathsf{T})) $$ \subset \mathsf{U}(\mathsf{Z}) $$= \mathsf{R}(\mathsf{U})$이므로 $\mathrm{rank}(\mathsf{UT}) \leq \mathrm{rank}(\mathsf{U})$
- 1에 $\mathsf{U} = \mathsf{L}_A$, $\mathsf{T} = \mathsf{L}_B$를 적용하면 $\mathrm{rank}(AB) \leq \mathrm{rank}(A)$를 얻을 수 있습니다.
- $\mathrm{rank}(AB) $$= \mathrm{rank}((AB)^t) $$= \mathrm{rank}(B^tA^t)$$ \leq \mathrm{rank}(B^t)$$=\mathrm{rank}(B)$
- 벡터공간 $\mathsf{V}$, $\mathsf{Z}$, $\mathsf{W}$의 기저를 각각 $\beta$, $\alpha$, $\gamma$라 합시다. $A=[\mathsf{U}]_{\alpha}^{\gamma}$, $B=[\mathsf{T}]_{\beta}^{\alpha}$라 하면 $\mathrm{rank}(\mathsf{UT}) $$=\mathrm{rank}(AB)$$\leq \mathrm{rank}(B)$$=\mathrm{rank}(\mathsf{T})$
다음 시간에는 기본행렬 연산을 이용하여 역행렬을 구하는 방법을 소개하겠습니다.
'교양(학문의 기초) > 공학수학' 카테고리의 다른 글
1. 선형대수학의 기초_(13) 연립일차방정식 (0) | 2022.08.07 |
---|---|
1. 선형대수학의 기초_(12) 역행렬 (0) | 2022.07.31 |
1. 선형대수학의 기초_(10) 기본행렬 (0) | 2022.07.30 |
1. 선형대수학의 기초_(9) 행렬의 랭크 (0) | 2022.07.29 |
1. 선형대수학의 기초_(8) 좌표변환 행렬 (0) | 2022.07.27 |