안녕하세요. 지난 포스팅의 선형대수학 - 기본행렬연산과 기본행렬에서는 행렬 내에서 행 또는 열간의 연산 타입을 정의하고 이를 행렬로 표현하는 방법에 대해서 알아보았습니다. 중요한 점은 기본행렬은 가역행렬이라는 점 입니다. 오늘은 이를 활용해서 행렬의 계수 (rank)를 구하는 방법에 대해서 알아보도록 하겠습니다.
정의1. 행렬의 계수 (Rank of Matrix)
$A \in M_{m \times n}(\mathbf{F})$라고 하자. 행렬 $A$의 계수 (rank)는 행렬 $A$에 대응되는 좌곱셈변환 $L_{A} : \mathbf{F}^{n} \rightarrow \mathbf{F}^{m}$의 계수로 정의된다.
$$\text{rank}(A) = \text{rank}(L_{A})$$
If $A \in M_{m \times n}(\mathbf{F})$, we define the rank of $A$, denoted $\text{rank}(A)$, to be the rank of the linear transformation $L_{A} : \mathbf{F}^{n} \rightarrow \mathbf{F}^{m}$.
$$\text{rank}(A) = \text{rank}(L_{A})$$
설명
저희가 지금까지 알고 있던 계수라는 것은 선형대수학 - 선형변환, 영공간, 치역의 정의4입니다. 즉, 계수는 곧 선형변환의 치역공간의 차원이죠. 그런데, 저희는 선형대수학 - 선형변환의 행렬표현에서는 선형변환을 행렬로 변환할 수 있음을 알게 되었습니다. 따라서, 행렬에도 계수라는 개념이 존재할 것으로 예측해볼 수 있었죠. 이를 위해 선형대수학 - 선형변환 합성과 행렬곱에서 보앗던 좌곱셈변환 $A$를 도입하여 계수의 정의를 행렬로 확장한 것이죠.
Remark1
행렬 $A \in M_{n \times n}(mathbf{F})$라고 하자. 행렬 $A$가 가역행렬인 것은 $\text{rank}(A) = n$인 것과 동치이다.
Remark1은 정의1을 이용해서 쉽게 증명할 수 있습니다. $A$가 가역행렬이라고 가정하면 이는 $L_{A}$가 가역인 것과 동치라는 것을 알 수 있습니다. 이 결과는 자연스럽게 $L_{A}$가 전사함수인 것과 동치이며 정의에 의해 $R(L_{A}) = \mathbf{F}^{n}$이므로 $\text{dim}(R(L_{A})) = \text{rank}(L_{A}) = \text{rank}(A) = n$임을 알 수 있습니다.
정리1.
$T : V \rightarrow W$를 두 유한차원 벡터공간 사이의 선형변환 그리고 $\beta$와 $\gamma$를 $V$와 $W$의 순서기저라고 하자. 그러면 $\text{rank}(T) = \text{rank}(\left[T\right]_{\beta}^{\gamma})$이다.
설명
정리1은 선형변환의 계수를 구하는 것은 선형변환에 대응되는 행렬의 계수를 구하는 것과 동치임을 보여주고 있습니다. 기존에 저희가 선형변환의 계수를 구하기 위해서는 정의역에 해당하는 벡터공간 $V$의 기저를 선형변환으로 변환한 뒤 선형독립인 벡터의 개수를 세면 되었지만 이 과정은 곧 행렬의 계수를 구하는 것과 동일한 것임을 알 수 있죠.
정리2.
행렬 $A$를 $m \times n$ 크기의 행렬이라고 하자. 두 행렬 $P$와 $Q$가 각각 가역인 $m \times m$ 그리고 $n \times n$인 행렬이라고 할 때, 다음이 성립한다.
1). $\text{rank}(AQ) = \text{rank}(A)$
2). $\text{rank}(PA) = \text{rank}(A)$
3). $\text{rank}(PAQ) = \text{rank}(A)$
증명
정리2는 앞으로 배울 개념들을 통틀어서 굉장히 중요한 정리입니다. 왜냐하면 저희가 두 행렬 $P$와 $Q$를 각각 기본행렬이라고 생각하면 행렬 $A$에 어떤 타입의 기본행렬연산을 수행하더라도 행렬의 계수가 변하지 않기 때문에 이후에 저희가 행렬의 계수를 쉽고 빠르게 구할 수 있게 됩니다.
1). $\text{rank}(AQ) = \text{rank}(A)$
$$\begin{align*} \text{rank}(AQ) &= \text{rank}(L_{AQ}) \\ &= \text{rank}(L_{A} \cdot L_{Q}) \\ &= \text{dim}(R(L_{A} \cdot L_{Q})) \\ &= \text{dim}(L_{A}(L_{Q}(\mathbf{F}^{n}))) \\ &= \text{dim}(L_{A}(\mathbf{F}^{n})) \\ &= \text{dim}(R(L_{A})) \\ &= \text{rank}(L_{A}) = \text{rank}(A) \end{align*}$$
2). $\text{rank}(PA) = \text{rank}(A)$
$$\begin{align*} \text{rank}(PA) &= \text{rank}(L_{PA}) \\ &= \text{rank}(L_{P} \cdot L_{A}) \\ &= \text{dim}(R(L_{P} \cdot L_{A})) \\ &= \text{dim}(L_{P}(L_{A}(\mathbf{F}^{m}))) \\ &= \text{dim}(L_{A}(\mathbf{F}^{m})) \\ &= \text{dim}(R(L_{A})) \\ &= \text{rank}(L_{A}) = \text{rank}(A) \end{align*}$$
3). $\text{rank}(PAQ) = \text{rank}(A)$
1)과 2)에 의해 자명하게 3)이 증명된다.
따름정리2-1
기본행렬연산은 행렬의 계수를 보존한다.
정리3.
임의의 행렬의 계수는 행렬의 선형독립인 열벡터의 개수와 동일하다. 즉, 행렬의 계수는 열벡터들에 의해 생성되는 부분공간의 차원과 동일하다.
증명
정리3은 행렬의 계수를 구하는 방법에 대해서 설명하고 있습니다. 이제 저희는 정리2와 정리3을 이용하면 행렬의 계수를 아주 쉽게 구할 수 있습니다. 정리2를 통해 행렬에서 열벡터 간 선형독립인지 아닌지 쉽게 판단할 수 있는 형태로 변형한 뒤 정리3을 이용하면 됩니다.
임의의 행렬 $A \in M_{m \times n}(\mathbf{F})$에 대해서 $\text{rank}(A) = \text{rank}(L_{A}) = \text{dim}(R(L_{A}))$이다. 이제, $\beta$를 벡터공간 $\mathbf{F}^{n}$의 순서기저라고 하면 $\beta$는 $\mathbf{F}^{n}$을 생성하고 선형대수학 - 선형변환, 영공간, 치역의 정리2에 의해
$$R(L_{A}) = \text{span}(L_{A}(\beta)) = \text{span}(\{L_{A}(e_{1}), \dots, L_{A}(e_{n})\})$$
이다. 임의의 $j$에 대해서 선형대수학 - 선형변환 합성과 행렬곱의 정리5에 의해 $L_{A}(e_{j}) = Ae_{j} = a_{j}$이다. 이때, $a_{j}$는 행렬 $A$의 $j$번째 열벡터를 의미한다. 따라서, 위 수식은 아래와 같이 쓸 수 있다.
$$R(L_{A}) = \text{span}(L_{A}(\beta)) = \text{span}(\{a_{1}, \dots, a_{n}\})$$
이는 행렬 $A$의 계수 $\text{rank}(A) = \text{dim}(R(L_{A}))$임을 의미하므로 열벡터들의 모임 $\{a_{1}, \dots, a_{n}\}$ 중 선형독립인 벡터들의 개수와 동일하다.
간단한 예시를 보도록 하겠습니다.
$$A = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \end{bmatrix}, B = \begin{bmatrix} 1 & 2 & 1 \\ 1 & 0 & 3 \\ 1 & 1 & 2 \end{bmatrix}$$
행렬 $A$에서 각 열벡터들에 만들어지는 부분공간의 차원을 구하면 행렬 $A$의 계수를 구할 수 있습니다.
$$\text{rank}(A) = \text{dim}\left( \text{span}\left( \{ \begin{bmatrix} 1 \\ 0 \\ 1 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix}, \begin{bmatrix} 1 \\ 1 \\ 1 \end{bmatrix} \} \right) \right) = 2$$
이번에는 행렬 $B$의 계수를 구해보도록 하죠. 그런데, 조금 복잡해보입니다. 저희는 여기에서 따름정리2.1을 통해 행렬 $B$를 단순한 형태로 변형한 뒤 계수를 찾을 수 있습니다.
$$\begin{align*} B &\xrightarrow{\begin{cases} r_{2} = r_{2} - r_{1} \\ r_{3} = r_{3} - r_{1} \end{cases}} \begin{bmatrix} 1 & 2 & 1 \\ 0 & -2 & 2 \\ 0 & -1 & 1 \end{bmatrix} \xrightarrow{\begin{cases} c_{2} = c_{2} - 2c_{1} \\ c_{3} = c_{3} - c_{1} \end{cases}} \begin{bmatrix} 1 & 0 & 0 \\ 0 & -2 & 2 \\ 0 & -1 & 1 \end{bmatrix} \xrightarrow{r_{2} = -\frac{1}{2}r_{2}} \begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & -1 \\ 0 & -1 & 1 \end{bmatrix} \\ &\xrightarrow{r_{3} = r_{3} + r_{2}} \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & -1 \\ 0 & 0 & 0 \end{bmatrix} \xrightarrow{c_{3} = c_{3} + c_{2}} \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix} = B^{'} \end{align*}$$
정리2에 의해 기본행렬에 의한 행렬의 계수는 보존되기 때문에 $\text{rank}(B) = \text{rank}(B^{'}) = 2$입니다. 참고로 위 변환과정에서 $r_{i}$와 $c_{j}$는 각각 $i$번째 행과 $j$번째 열을 의미합니다. 방금 예시에서 행렬 $B$를 보면 거의 항등행렬꼴로 변환한 것을 관찰할 수 있습니다. 만약, 모든 행렬이 $B^{'}$과 같은 꼴로 변환할 수 있다면 행렬의 계수는 단순히 변환된 행렬 내의 1의 개수라고 볼 수 있겠네요? 이를 보장하는 정리를 보도록 하겠습니다.
정리4.
$A$를 $m \times n$ 크기의 계수 $r$을 가지는 행렬이라고 하자. 그러면 $r \le m$이고 $r \le n$이다. 그리고 유한번의 기본행렬연산을 통해서 $A$는 다음의 행렬꼴로 항상 변환할 수 있다.
$$D = \begin{bmatrix} I_{r} & O_{1} \\ O_{2} & O_{3} \end{bmatrix}$$
여기서, $O_{1}, O_{2}$ 그리고 $O_{3}$는 각각 영행렬이다. 즉, 행렬 $D$는 $i \le r$에 대해서 $D_{ii} = 1$이고 다른 경우에는 $D_{ij} = 0$이다.
설명
정리4의 증명은 복잡하기 때문에 나중에 추가하도록 하겠습니다. 일단, 증명없이 받아드리도록 하겠습니다. 간단한 예시로 아래의 행렬을 보도록 하겠습니다.
$$A = \begin{bmatrix} 0 & 2 & 4 & 2 & 2 \\ 4 & 4 & 4 & 8 & 0 \\ 8 & 2 & 0 & 10 & 2 \\ 6 & 3 & 2 & 9 & 1 \end{bmatrix}$$
행렬 $A$의 계수를 구해보겠습니다. 일단, 각 열벡터가 굉장히 복잡하기 때문에 정리4를 이용해서 간단한 행렬 $D$꼴로 변환시켜주도록 하죠.
$$\begin{align*} A &\xrightarrow{r_{1} \leftrightarrow r_{2}} \begin{bmatrix} 4 & 4 & 4 & 8 & 0 \\ 0 & 2 & 4 & 2 & 2 \\ 8 & 2 & 0 & 10 & 2 \\ 6 & 3 & 2 & 9 & 1 \end{bmatrix} \xrightarrow{r_{1} = \frac{1}{4}r_{1}} \begin{bmatrix} 1 & 1 & 1 & 2 & 0 \\ 0 & 2 & 4 & 2 & 2 \\ 8 & 2 & 0 & 10 & 2 \\ 6 & 3 & 2 & 9 & 1 \end{bmatrix} \xrightarrow{\begin{cases} r_{3} = r_{3} - 8r_{1} \\ r_{4} = r_{4} - 6r_{1} \end{cases}} \begin{bmatrix} 1 & 1 & 1 & 2 & 0 \\ 0 & 2 & 4 & 2 & 2 \\ 0 & -6 & -8 & -6 & 2 \\ 0 & -3 & -4 & -3 & 1 \end{bmatrix} \\ &\xrightarrow{\begin{cases} c_{2} = c_{2} - c_{1} \\ c_{3} = c_{3} - c_{1} \\ c_{4} - 2c_{1} \end{cases}} \begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\ 0 & 2 & 4 & 2 & 2 \\ 0 & -6 & -8 & -6 & 2 \\ 0 & -3 & -4 & -3 & 1 \end{bmatrix} \xrightarrow{\begin{cases} r_{3} = r_{3} + 6r_{2} \\ r_{4} = r_{4} + 3r_{2} \end{cases}} \begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 2 & 1 & 1 \\ 0 & 0 & 4 & 0 & 8 \\ 0 & 0 & 2 & 0 & 4 \end{bmatrix} \xrightarrow{\begin{cases} c_{3} = c_{3} - 2c_{2} \\ c_{4} = c_{4} - c_{2} \\ c_{5} = c_{5} - c_{2} \end{cases}} \begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 4 & 0 & 8 \\ 0 & 0 & 2 & 0 & 4 \end{bmatrix} \\ &\xrightarrow{r_{3} = \frac{1}{2}r_{3}} \begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 2 \\ 0 & 0 & 2 & 0 & 4 \end{bmatrix} \xrightarrow{r_{4} = r_{4} - 2r_{3}} \begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 2 \\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} \xrightarrow{c_{5} = c_{5} - 2c_{3}} \begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} = D \end{align*}$$
따라서, 따름정리2-1에 의해 $\text{rank}(A) = \text{rank}(D) = 3$입니다.
따름정리4-1
$A$를 $m \times n$ 크기의 계수 $r$을 가지는 행렬이라고 하자. 그러면 $D = BAC$를 만족하는 $m \times m$과 $n \times n$의 크기를 가지는 가역행렬 $B$와 $C$가 존재한다. 이때, 행렬 $D$는 다음과 같다.
$$D = \begin{bmatrix} I_{r} & O_{1} \\ O_{2} & O_{3} \end{bmatrix}$$
여기서, $O_{1}, O_{2}$ 그리고 $O_{3}$는 각각 영행렬이다.
증명
기본적으로 기본행렬은 가역행렬이기 때문에 기본행연산 / 기본열연산을 유한번 각각 적용한 결과를 $B$와 $C$라고 두면 쉽게 증명할 수 있습니다.
정리4에 의해 행렬 $A$는 유한번의 기본행렬연산에 의해 $D$의 행렬꼴로 변환할 수 있다. 따라서, $m \times m$ 크기의 기본행렬 $E_{1}, \dots, E_{p}$와 $n \times n$ 크기의 기본행렬 $G_{1}, \dots, G_{q}$가 다음을 만족한다.
$$D = E_{p}E_{p-1} \cdots E_{1} A G_{1} \cdots G_{q - 1}G_{q}$$
이때, 각 기본행렬 $E_{j}$와 $G_{i}$는 모두 가역행렬이므로 $B = E_{p} \cdots E_{1}$ 그리고 $C = G_{1} \cdots G_{q}$라고 두면 $B$와 $C$ 모두 가역행렬이므로 따름정리4-1은 증명된다.
따름정리4-2
$A$를 $m \times n$의 크기를 가지는 행렬이라고 하자.
1). $\text{rank}(A^{t}) = \text{rank}(A)$
2). 임의의 행렬의 계수는 행렬의 선형독립인 행벡터의 개수와 동일하다. 즉, 행렬의 계수는 행벡터들에 의해 생성되는 부분공간의 차원과 동일하다.
3). 임의의 행렬의 행벡터와 열벡터는 동일한 차원 $\text{rank}(A)$를 가지는 부분공간을 생성한다.
설명
따름정리4-2는 기존에 열벡터뿐만 아니라 행벡터 역시 계수를 구하는 데 사용될 수 있음을 보여주는 정리입니다. 특히 중요한 것은 $\text{rank}(A^{t}) = \text{rank}(A)$이니 해당 명제만 증명해보도록 하죠.
따름정리4-1에 의해 $D = BAC$를 만족하는 가역행렬 $B$와 $C$가 존재한다. 이제 양변에 전치를 취해준다.
$$D^{t} = (BAC)^{t} = C^{t}A^{t}B^{t}$$
이때, 행렬 $B$와 $C$가 가역행렬이므로 $B^{t}$와 $C^{t}$ 역시 가역행렬이다. 정리2에 의해 다음과 같이 쓸 수 있다.
$$\text{rank}(A^{t}) = \text{rank}(C^{t}A^{t}B^{t}) = \text{rank}(D^{t})$$
행렬 $A$의 계수를 $r$, 즉 $\text{rank}(A) = r$이라고 하자. 그러면 $D^{t}$는 따름정리4-1에서 명시된 꼴과 동일한 형태의 $n \times m$이다. 따라서, $\text{rank}(D^{t}) = r$이다. 마지막으로 정리3에 의해 $\text{rank}(A^{t}) = \text{rank}(D^{t}) = r = \text{rank}(A)$이므로 증명된다.
따름정리4-3
모든 역행렬은 기본행렬의 곱이다.
증명
해당 따름정리는 기본행렬의 특성을 이용해서 쉽게 증명할 수 있습니다. 두 가지 방향으로 역행렬이면 기본행렬의 곱임을, 기본행렬의 곱이면 가역행렬임을 증명하면 됩니다.
1). ($\Rightarrow$) : 행렬 $A$가 가역행렬이라고 하자. 그러면 $\text{rank}(A) = n$이므로 $I_{n} = PAQ = D$이다. 여기서 $P$와 $Q$은 기본행렬의 곱이다. 따라서, $A = P^{-1}Q^{-1}$이므로 기본행렬의 곱이다.
2). ($\Leftarrow$) : 행렬 $A$가 기본행렬의 곱이라고 하자. 즉, $A = E_{1} \cdots E_{n}$이라고 하면 각 기본행렬 $E_{i}$는 가역행렬이므로 행렬 $A$는 가역행렬의 곱이 되어 가역행렬이 된다.
정리5
행렬 $A$와 $B$가 행렬곱 $AB$이 정의되는 행렬들이라고 하자. 그러면 $\text{rank}(AB) \le \text{rank}(A)$이고 $\text{rank}(AB) \le \text{rank}(B)$이다.
참고문헌
Linear Algebra (Stephan. H)
'수학 > 선형대수학' 카테고리의 다른 글
선형대수학 - 연립선형방정식 1 (0) | 2022.12.21 |
---|---|
선형대수학 - 역행렬 (0) | 2022.12.19 |
선형대수학 - 기본행렬연산과 기본행렬 (0) | 2022.12.13 |
선형대수학 - 극대 선형독립 부분집합 (0) | 2022.10.29 |
선형대수학 - 쌍대공간 (0) | 2021.11.12 |