본문 바로가기

선형대수

[개념] 행렬의 기본 공간과 차원 정리

1. 행렬의 기본 공간

1.1 행공간 및 열공간

■ \( n \times m \) 행렬 \( A \)에 대해

- \( A \)의 행벡터가 생성하는 \( \mathbb{R}^n \)의 부분 공간을 \( A \)의 행공간(row space)이라 하고,

- 열벡터가 생성하는 \( \mathbb{R}^m \)의 부분 공간을 \( A \)의 열공간(column space)라고 한다.

■ 행공간과 열공간의 기저를 찾는 방법은 행렬을 기약 행사다리꼴로 만들면 된다. 기본 행연산은 행렬의 행공간을 변화시키지 않는다. 하지만, 열공간은 변화시킨다.

그러므로 열공간의 기저는 행렬 \( A \)를 전치시킨 \( A^T \)에서 행공간의 기저를 구하고, 이를 열벡터로 바꾸면 된다. 이렇게 찾은 행공간의 기저로 행공간을 만들고, 열공간의 기저로 열공간을 만드는 것이다. 

■ 예를 들어 다음과 같은 \( 2 \times 2 \) 크기의 행렬 \( A \)가 있을 때,

- 행벡터 \( v_1, v_2 \), 열벡터 \( w_1, w_2 \)가 행공간과 열공간을 만들지만 각각의 행벡터, 열벡터들이 독립 관계가 아니므로 행벡터 \( v_1, v_2 \)를 행공간의 기저, 열벡터 \( w_1, w_2 \)를 열공간의 기저라고 할 수 없다.

- 행공간, 열공간의 기저를 찾는 과정은 다음과 같다.

- 이 예시에서 (1 3)과 (2 6)이 만들어내는 공간과 (1 3)이 만들어 내는 공간이 같다는 것을 확인하였다.

- 이를 확인하기 위한 과정에서 기본 행연산을 적용하였지만, ' (1 3)과 (2 6)이 만들어내는 공간과 (1 3)이 만들어 내는 공간이 같다' 즉, 기본 행연산은 행공간을 변화시키지 않는다는 것을 확인할 수 있다.

- 반면, 열벡터는 (1 2), (3 6)에서 (1 0)과 (3 0)으로 바뀐 것을 볼 수 있다. (1 2)와 (3 6)이 만드는 열공간과 (1 0)과 (3 0)이 만드는 열공간은 다르다. 즉, 기본 행연산은 열공간을 변화시킨다.

- 그러므로 열공간의 기저를 구할 때, 행렬을 전치해서 기본 행연산으로 기저를 찾고, 이를 열벡터로 바꾸는 것이다.

- cf) 방법은 열공간 기저를 찾을 때 전치 행렬을 이용하지 않고, 원래 행렬의 기약 행사다리꼴에서 찾는 방법이다. 단, 기본 행연산은 열공간을 변화시키기 때문에 열공간의 기저는 원래 행렬에서 찾아야 한다.

■ 위의 예시에서 \( A \)의 행공간의 기저는 (1 3)으로 1개였다. 즉, 행공간의 차원은 1차원인데 이는 행렬 A의 계수(rank A)와 동일한 것을 알 수 있다. 이를 다음과 같이 정리할 수 있다.

행공간의 차원 = 행공간의 기저의 개수 = \( \text{rank} A \)

■ 이때 \( \text{rank} A \)의 성질로 인해 \( \text{rank} A = \text{rank} A^T \)이므로 

행공간의 차원 = 열공간의 차원 = \(  \text{rank} A \)

- 보통, 기약 행사다리꼴로 만들었을 때 모든 성분이 0인 행을 제외한 행의 개수가 '행계수' \( \text{r}(A) \)

- 열공간의 차원을 행렬의 '열계수' \( \text{c}(A) \)라고 표현한다.

- 즉, \( n \times m \) 행렬 \( A \)의 행계수와 열계수는 항상 같다. \( \text{r}(A) = \text{c}(A) \)

- 단, 차원이 같다고 해서 공간이 같은 것은 아니다.

■ 위의 내용을 통해 계수(rank)는 '행렬 \( A \)의 행공간과 열공간의 공통차원'이라고 할 수 있다. 

1.2 영공간(해공간)과 차원 정리

■ \( n \times m \) 행렬 \( A \)에 대해 \( Ax = 0 \)을 만족하는 \( m \times 1 \)크기의 벡터 \( x \)들로 이루어진 공간을 영공간(해공간)이라고 한다.

- 즉, \( Ax = 0 \)의 집합 \( x \)를 \( A \)의 영공간(해집합)이라 하며, nullspace 또는 kernel이라고도 한다.

- \( x \)는 공간이다. 즉, 반드시 \( x \) 안에는 0(zero vector)이 있어야 한다.

영공간의 차원을 행렬 \( A \)의 '퇴화차수'라 하고 \( \text{nullity}(A) \)로 나타낸다. 

■ \( n \times m \) 행렬 \( A \)의 행 계수 \( r \)이 \( 1 \leq r \leq n \)일 때, 연립방정식 \( Ax = 0 \)의 확대행렬 \( (A | 0) \)의 기약 행사다리꼴 \( (B | 0) \)도 행계수가 \( r \)이다. 

■ 그러므로 1행부터 \( r \)행까지 각 행의 선행 선분은 1이고, \( r + 1 \)행부터 \( n \)행까지는 모두 영벡터이다.

■ 예를 들어 다음과 같이 행계수가 3인 \( 4 \times 5 \)행렬 \( A \)에 대해 \( (A | 0) \)의 기약 행사다리꼴 \( (B | 0) \)은 1행부터 3행까지 선행성분으로 1을 갖는다.

- 이때 다음과 같이 1열부터 3열까지 pivot이 차례대로 나열될 수도 있고, 연속되지 않은 열에 나열될 수도 있다.

- 어느 경우든 연립방정식 미지수 \( x  = (x_1, x_2, \cdots, x_m)^T \) 중에서 선행 성분이 나타나는 열의 미지수는 좌변에, 나머지 미지수는 우변에 보내면

- 우변의 \( m - r \)개의 미지수 값이 정해질 때마다 이 값에 종속되어 왼쪽 \( r \)개의 미지수 값이 결정된다.

- 이 예에서는 첫 번째의 경우 \( x_4, x_5 \)에 의해 \( x_1, x_2, x_3 \)이 결정되고, 두 번째는 \( x_5 \)에 의해 \( x_1, x_3, x_4 \)가 결정된다.

- 첫 번째 경우에 영공간(해집합)을 구하면 다음과 같다.

- 두 번째 경우도 동일한 방법으로 기저 \( 0, 1, 0, 0, 0)^T \)와 \( (-2, 0, 1, -3, 1)^T \)가 영공간(해공간)을 생성하는 것을 알 수 있다.

- 첫 번째, 두 번째 예시를 통해 선행 성분이 1열부터 차례대로 나타나는 경우와 그렇지 않은 경우에도 기저의 개수에는 변함이 없는 것을 확인할 수 있다. 이 예시의 경우 기저가 2개이므로 퇴화차수(영공간의 차원)  \( \text{nullity}(A) = 2 \)가 된다.

선행 성분이 1열부터 \( r \)열까지 차례로 나타나는 경우와 그렇지 않은 경우에도 퇴화차수가 동일하므로,  선행 성분이 열에 연속으로 나타나는 경우만 고려해도 된다.

■ 위의 예시를 통해 알 수 있는 관계가 있다. 바로 행렬의 계수와 퇴화차수의 관계이다.

■ 이 예에서 행렬 \( A \)는 \( m \)개의 열을 가진다. (미지수 개수가 \( m \)개) 

■ 행렬 \( A \)를 기약 행사다리꼴로 만들었을 때 선행 선분(pivot)을 가지는 열의 개수와 나머지 열(선행 선분을 가지지 않는 열)의 개수를 각각 \( x, y \)라고 하자.

■ 행렬 \( A \)는 \( n \times m \)이므로 기약 행사다리꼴도 \( n \times m \)크기를 갖는다. 즉, \( x + y = m \)이 성립한다.

■ 위의 예시처럼 선행 성분을 가지는 열을 제외한 나머지 열에 해당하는 미지수는 자유 변수가 되며, 그 수만큼 영공간의 기저 벡터가 존재하게 된다. 그러므로 \( \text{nullity}(A) = y \)라고 할 수 있다.

■ 선행 성분을 가지는 열의 개수(기약 행사다리꼴에서 pivot의 개수)는 rank이므로 \( \text{rank} (A) = x \)가 된다.

■ 그러므로 \( x + y = m \). 즉, \( \text{rank} (A) + \text{nullity} (A) = m \)이 성립한다.

\( \text{rank} (A) + \text{nullity} (A) = m \)를 '차원 정리' 또는 계수-퇴화차수 정리라고 부른다.

\( \text{rank} (A) + \text{nullity} (A) = m \)을  \( \text{nullity} (A) = m - \text{rank} (A) \)로 나타내면 위의 예시에서 퇴화차수를 쉽게 구할 수 있다. 퇴화차수 = 5(미지수 개수)- 3 = 2

■ 또한,  \( \text{rank} (A) + \text{nullity} (A) = m \)을 이용하면 행렬 \( A \)가 \( m \times m \) 정사각행렬일 때, \( \text{rank} (A) = m \)의 필요충분조건이 \( \text{nullity} (A) = 0 \)임을 알 수 있다.

- 여기서  \( \text{nullity} (A) = 0 \)이면, ( \( A \)는 \( m \times m \) ) 

- rank는 행렬의 선형 독립인 행벡터 혹은 열벡터의 수를 나타내므로 \( m \)개의 열벡터(혹은 행벡터)가 선형 독립이라는 것을 알 수 있다.

1.3 직교여(보)공간 (orthogonal complement)

■ 벡터 공간 \( V \)의 부분 공간을 \( W \)라고 하자. \( V \)의 벡터 \( u \)가 \( W \)의 모든 벡터와 수직(직교)일 때,

벡터 공간 \( V \)의 벡터 \( u \)는 벡터 공간의 부분 공간 \( W \)와 직교한다고 하고, \( W \)와 직교하는 벡터 공간 \( V \)의 모든 벡터 집합을 \( W \)의 직교여(보)공간이라 한다.

- 직교여공간은 기호로는 보통 \( W^{\perp} \)으로 표시한다.

■ 즉, 벡터 공간의 부분 공간 \( W \)의 모든 원소와 직교여공간  \( W^{\perp} \)의 모든 원소가 서로 수직 관계성을 가진다.

그러므로 두 공간의 각 원소의 내적은 0이 된다. \( W \)에 벡터 \( u \), \( W^{\perp} \)에 벡터 \( v \)가 존재한다면, \( < u \cdot v > = 0 \)이 된다.

■ 예를 들어, 다음과 같은 \( W \)와 \( W^{\perp} \)가 존재한다면, 두 공간의 모든 원소는 수직 관계(내적값 = 0)를 갖는다. 

- 이 예시에서 \( W \)와  \( W^{\perp} \)은 1차원(직선)이며, 이를 \( \mathbb{R}^2 \)에 나타내면 다음과 같다.

- \( (1, 2)^T \)의 방향성을 갖고 있는 직선이 \( W \), \( (2, -1)^T \)의 방향성을 갖고 있는 직선이 \( W^{\perp} \)

■ 위의 예시에서 내적값이 0이 되는 부분을 다음과 같이 연립방정식 \( A \mathbf{x} = 0 \)으로 나타낼 수 있다.

■ 이때 행렬 \( A \)의 행벡터를 \( v_1, v_2 \)라고 하자. 그렇다면 \( v_1, v_2 \)가 만들어 내는 공간은 행공간이므로 \( W \)라는 공간이 행렬 \( A \)의 행공간이 될 수 있다.

- 현재 \( W = \text{span} { (1, 2)^T, (3, 6)^T } \)

- 그러므로, 행렬 \( A \)의 행벡터 \( v_1 = (1, 2), v_2 = (3, 6) \)가 만들어 내는 행공간은 \( W \) 

■ 그리고 \( A \mathbf{x} = 0 \)에서 \( \mathbf{x} \)는 '\( A \mathbf{x} = b \)에서 \( b = 0 \)으로 가는 해공간(영공간)'이다. 그러므로 \( W^{\perp} \)의 벡터 \( \mathbf{x} = (x, y)^T \)는 행렬 \( A \)의 해공간이 된다.

■ \( W \)와  \( W^{\perp} \)는 수직 관계이므로, 행렬 \( A \)의 행공간과 행렬 \( A \)의 해공간은 수직 관계라고 할 수 있다.

■ 그러므로 '행공간의 직교여공간이 해공간', '해공간의 직교여공간이 행공간'이라고 할 수 있다.

다시 말해, \( m \times n \) 행렬 \( A \)의 행공간에 수직인 공간(=직교여공간)은 \( A \)의 해공간이다.

■ 그리고 '전치'를 이용했을 때, 행렬 \( A \)의 열공간은 행렬 \( A^T \)의 행공간과 같은 공간이라는 사실을 이용하면,

\( m \times n \) 행렬 \( A \)에 대해, \( A^T \)의 행공간(= \( A \)의 열공간)에 수직인 공간은 \( A^T \)의 해공간에 수직이다.

즉, \( A \)의 행공간에 대한 직교여공간의 차원은 \( A \)의 해공간의 차원과 같다. 

1.3.1 직교여공간의 차원

■ \( \mathbb{R} \)상에서 정의된 벡터 공간 \( V \)의 부분 공간 \( W \)와 \( W \)의 직교여공간 \( W^{\perp} \)에 대해 다음이 성립한다.

\( V = W + W^{\perp} \), \( \text{dim} (W + W^{\perp}) = \text{dim}(W) + \text{dim}(W^{\perp}) = \text{dim} (V) \)

■ 예를 들어 다음과 같이 \( \mathbb{R}^2 \)상에서 다음과 같이 벡터 공간 \( V \)의 부분 공간 \( W \)와 \( W \)의 직교여공간 \( W^{\perp} \)이 1차원(직선)이라면,

-  \( W \)와 \( W^{\perp} \)는 서로 수직이며, 벡터 공간에 속하는 공간이므로 항상 \( W \cap W^{\perp} = \{0\} \)이 성립한다. 

- 따라서  \( \text{dim} (W + W^{\perp}) = \text{dim}(W) + \text{dim}(W^{\perp}) + \text{dim} (W \cap W^{\perp}) \)에서 \( \text{dim} (W \cap W^{\perp}) = 0 \)이므로 \( \text{dim} (W + W^{\perp}) = \text{dim}(W) + \text{dim}(W^{\perp}) \)이 성립한다.

그리고 \( W + W^{\perp} \)처럼 공간 \( W \)와 \( W^{\perp} \)을 더해서 만들어진 공간을 덧셈 공간이라고 한다. 

벡터 공간 \( V \)의 부분 공간 \( W \)와 \( W \)의 직교여공간 \( W^{\perp} \)의 관계를 나타내면 다음과 같이 \( W \)와 \( W^{\perp} \)가 포함되어 있다.

그러므로 \( W + W^{\perp} \). 즉, \( W \)와 직교여공간 \( W^{\perp} \)의 덧셈 공간은 벡터 공간 \( V \)가 된다. 

- 이 예에서는 \( W \)가 1차원 직선, \( W^{\perp} \)가 1차원 직선이므로 \( W + W^{\perp} \)로 \( \mathbb{R}^2 \) 전체를 만들 수 있다.

- 직관적으로 \( \mathbb{R}^2 \)에서 \( \text{dim} (W) = 1 \)이 되면, \( \text{dim} (W^{\perp}) = 1\)이 되야 하고, 

- \( \text{dim} (W) = 0 \)이 되면, \( \text{dim} (W^{\perp}) = 2\), \( \text{dim} (W) = 2 \)이 되면, \( \text{dim} (W^{\perp}) = 0\)이 되야 한다. 

■ 따라서 전체 차원(여기서는 \( \mathbb{R}^2 \))은 \( \text{dim} (W) + \text{dim} (W^{\perp}) \)와 같아야 한다. 다시 말해, \( W \)와 \( W \)의 직교여공간의 차원을 더하면 전체 차원이 나와야 한다.

■ 예를 들어, \( \mathbb{R}^3 \)에서 \( \text{dim} (W) = 1 \)이라면 \( \text{dim} (W^{\perp}) = 2\). 즉, 다음과 같이 \( W \)는 1차원(직선), \( W^{\perp} \)는 2차원(평면)이 되야 한다.

- 마찬가지로, \( W \)의 모든 벡터들은 직교여공간에 있는 모든 벡터들과 수직 관계가 된다. 

 

2. 부분 공간 위로의 정사영

벡터 공간 \( V \)의 부분 공간 \( W \)가 주어지면, \( W \)의 직교여공간 \( W^{\perp} \)에 대해 \( V = W + W^{\perp} \)가 성립하므로, 

■ \( W \)의 벡터를 \( w \), \( W^{\perp} \)의 벡터를 \( w^{\perp} \)라고 했을 때, \( w + w^{\perp} = v \)가 성립한다.

- \( v \)는 \( w + w^{\perp} \)로 결정된 임의의 벡터

■ 이때 \( w + w^{\perp} = v \)로 표현되는  \( w \)와 \( w^{\perp} \는 각각 유일하게 결정된다.

이는 예를 들어, 두 벡터 \( a \)와 \( b \)가 주어졌을 때, 다음과 같이 \( a \)를 \( b \)에 평행한 벡터 \( a_x \)와 \( b \)에 수직인 벡터 \( a_y \)의 합으로 유일하게 표현할 수 있다는 상황이다.

■ 이렇게 벡터의 경우 \( a = a_x + a_y \)에서 \( b \)에 평행한 벡터 \( a_x \)를 \( b \)위에 내린 \( a \)의 정사영 벡터라고 하는 것처럼, \( w + w^{\perp} = v \)는 \( w \)를 부분공간 \( W \) 위에 내린 \( v \)의 정사영 벡터라고 부르며, \( \text{proj}_W (v) \)로 나타낸다.