지난 포스팅에서 basis와 dimension을 다뤘다. basis는 벡터 공간을 표현하는 최소한의 백터 집합이었고, dimension은 그 basis의 크기였다. 이번에는 행렬에 이 개념을 적용한 rank를 정리한다. rank는 행렬이 실질적으로 담고 있는 정보의 양을 측정하는 도구이며, null space와 함께 행렬의 구조를 완전히 파악하는 데 쓰인다.
Column Space & Row Space
$m \times n$행렬 $A$가 주어졌을 때, 행렬을 바라보는 두 가지 관점이 있다.
- 열공간(column space of $A$): $A$의 열벡터들이 span하는 부분공간이다. 즉 $A$의 $n$개 열을 벡터로 보고, 이들의 모든 linear combination으로 만들어지는 $\mathbb{R}^m$의 부분 공간이다.
- 행공간(row space of $A$): $A$의 행벡터들이 span하는 부분 공간이다. $A$의 $m$개 행을 벡터로 보고, 이들의 모든 linear combination으로 만들어지는 $\mathbb{R}^n$의 부분 공간이다.
중요한 성질이 하나 있다. $m \times n$ 행렬 $A, B$가 row equivalent(행 연산으로 서로 변환 가능)이면 $A$와 $B$의 행공간은 같다. 마찬가지로 column equivalent이면 열공간이 같다. Gaussian elimination으로 행렬을 변환해도 행공간이 보존된다는 뜻이므로, REF의 0이 아닌 행들이 곧 행공간의 basis가 된다.
예시
$$A =
\begin{pmatrix}
1 & 0 & 0 & 1 \\
1 & 2 & 0 & 7 \\
0 & 1 & 1 & 3
\end{pmatrix}
\to \cdots \to
\begin{pmatrix}
1 & 0 & 0 & 1 \\
0 & 1 & 0 & 3 \\
0 & 0 & 1 & 0
\end{pmatrix}
= B$$
$A$와 $B$는 row equivalent이므로 행공간이 같다. $B$의 각 행이 linear independence이므로(RREF이니까 자명하다), $ \left\{ (1, 0, 0, 1), (0, 1, 0, 3), (0, 0, 1, 0) \right\} $은 $A$의 행공간의 basis이다.
Rank
행렬 $A$의 행공간(또는 열공간)의 dimension을 $A$의 rank라 하며, $\text{rank}(A)$로 표기한다. 행공간의 dimension과 열공간의 dimension은 항상 같다는 것이 알려져 있으므로, $\text{row rank = column rank}$이다.
rank를 구하는 실질적인 방법은 간단하다. $A$를 REF로 변환한 뒤 0이 아닌 행의 개수를 세면 된다. 이것이 pivot의 개수이기도 하다.
예시
$$A =
\begin{pmatrix}
-1 & 1 & 2 \\
2 & 0 & 1 \\
0 & 2 & 5
\end{pmatrix}
\to \cdots \to
\begin{pmatrix}
1 & 0 & \frac{1}{2} \\
0 & 1 & \frac{5}{2} \\
0 & 0 & 0
\end{pmatrix}$$
0이 아닌 행이 2개이므로 $\text{rank}(A) = 2$이다. $A$는 $3 \times 3$행렬이지만 행공간의 dimension이 2이므로, $A$의 행(열)들은 $\mathbb{R}^3$ 전체를 span하지 못하고 2차원 부분 공간만을 이룬다.
Null Space
$A\mathbf{x} = \mathbf{0}$의 해공간(solution space)을 $A$의 null space라고 한다. null space의 dimension을 nullity라 부른다.
null space는 "행렬 $A$에 의해 영벡터로 보내지는 모든 벡터의 집합"이다. 이 집합이 벡터 공간(부분 공간)이 되는 것은, $A\mathbf{x} = \mathbf{0}$이면 $A(\mathbf{x} + \mathbf{y}) = \mathbf{0}$이고 $A(c\mathbf{x}) = \mathbf{0}$이므로 덧셈과 스칼라 곱에 닫혀있기 때문이다.
Rank-Nullity Theorem

$A$가 $m \times n$행렬일 때 다음이 성립한다.
$$\text{rank}(A) + \text{nullity}(A) = n$$
$n$의 열의 개수, 즉 변수의 개수이다. rank는 pivot 변수의 개수이고, nullity는 자유 변수의 개수이다. 둘을 합치면 전체 변수의 개수 $n$이 된다.
예시
위와 같은 행렬 $A$에 대해 $A\mathbf{x} = \mathbf{0}$을 풀어보자.
$$A =
\begin{pmatrix}
-1 & 1 & 2 \\
2 & 0 & 1 \\
0 & 2 & 5
\end{pmatrix}
\to \cdots \to
\begin{pmatrix}
1 & 0 & \frac{1}{2} \\
0 & 1 & \frac{5}{2} \\
0 & 0 & 0
\end{pmatrix}$$
REF에서 연립방정식을 쓰면
$$x + \frac{1}{2}z = 0 \implies x = -\frac{1}{2}z$$
$$y + \frac{5}{2}z = 0 \implies y = -\frac{5}{2}z$$
$z = s$(자유 변수)로 놓으면:
$$x = s
\begin{pmatrix}
-\frac{1}{2} \\
-\frac{5}{2} \\
1
\end{pmatrix}$$
분수를 정리하면 $\left\{
\begin{pmatrix}
1 \\
5 \\
-2
\end{pmatrix}
\right\}$이 null space의 basis이다. nullity는 1이고, $ \text{rank}(A) + \text{nullity}(A) = 2 + 1 = 3 = n$으로 rank-nullity theorem이 성립함을 확인할 수 있다.
Nonsingular Matrix의 동치 조건
$A$가 $n \times n$정방행렬일 때, 다음 조건들은 모두 동치다.
- $A$는 nonsingular(역행렬이 존재)이다.
- $\text{rank}(n) = n$
- $A\mathbf{x} = \mathbf{b}$는 모든 $\mathbf{b}$에 대해 유일한 해를 가진다.
- $A\mathbf{x} = \mathbf{0}$은 오직 tirivial solution($\mathbf{x} = \mathbf{0}$)만을 가진다.
- $A$는 $I_n$과 row equivalent이다.
- $\text{nullity}(A) = 0$
- $A$의 행(열)이 $\mathbb{R}^n$에서 linear independence이다.
- $\text{det}(A) \neq 0$
이 8가지 조건이 전부 같은 말이라는 것이 핵심이다. 하나만 확인하면 나머지 7개가 자동으로 따라온다. 예를 들어 rank가 $n$이면 역행렬이 존재하고, null space는 영벡터뿐이고, 모든 연립방정식이 유일한 해를 가진다. 이전 포스팅들에서 다뤘던 역행렬, Gaussian elimination, inear independence, basis, dimension, rank가 이 동치 조건 하나에 전부 연결된다.
ML에서 rank는 데이터의 실질적인 차원을 파악하는 데 쓰인다. 데이터 행렬 $X$의 rank가 열 수보다 작다면 feature들 사이에 linear dependence가 존재한다는 뜻이고, 이전 포스팅에서 다뤘던 $X^TX$가 singular가 되는 상황이 바로 이 경우이다.
'Mathematics' 카테고리의 다른 글
| [선형대수학#12] Gram-Schmidt Process (0) | 2026.03.27 |
|---|---|
| [선형대수학#11] 내적(Inner Product) (0) | 2026.03.26 |
| [Convex Optimization#1] Optimization Problem과 Convex Optimization (0) | 2026.03.15 |
| [선형대수학#9] Basis & Dimension (0) | 2026.03.15 |
| [선형대수학#8] Span & Linear Independence (0) | 2026.03.14 |