이번 글에서 다룰 내용
이 글에서는 부분공간 (subspace), 열공간 (column space), 영공간 (null space)을 다룹니다.
- 부분공간이 무엇인지 설명합니다.
- 열공간(column space)이 행렬이 만들 수 있는 출력 집합이라는 점을 정리합니다.
- 영공간(null space)이 0으로 사라지는 입력 집합이라는 점을 설명합니다.
- 행렬이 어떤 정보를 보존하고 어떤 입력 방향을 구분하지 못하는지 해석합니다.
이번 글에서 새로 나오는 용어
- 부분공간 (subspace): 원래 벡터공간 안에 있는 작은 벡터공간입니다.
- 열공간 (column space): 행렬이 만들 수 있는 모든 출력의 집합입니다.
- 영공간 (null space): 행렬이 0으로 보내는 모든 입력의 집합입니다.
- 동차방정식 (homogeneous equation): 오른쪽이 0인
Ax=0형태의 방정식입니다.
핵심 아이디어
행렬 Ax를 다룰 때는 자연스럽게 두 질문이 생깁니다. "출력은 어디까지 갈 수 있는가?" 그리고 "어떤 입력은 왜 사라지는가?" 이 질문에 답하려면 먼저 벡터공간 안의 작은 공간, 즉 부분공간(subspace) 개념이 필요합니다.
부분공간(subspace)은 벡터공간 안에 있는 "작은 벡터공간"입니다. 부분공간이 되려면 (1) 영벡터(zero vector)를 포함하고, (2) 두 벡터의 합에 대해 닫혀 있고, (3) 스칼라배에 대해서도 닫혀 있어야 합니다.
이 개념이 중요한 이유는 선형대수의 많은 핵심 집합들이 부분공간이기 때문입니다. 특히 행렬과 연결해서 보면 두 집합이 아주 중요합니다.
- 열공간(column space)
- 영공간(null space)
열공간 (column space)은 행렬이 만들 수 있는 모든 출력 벡터 집합입니다. 즉 Ax 형태로 나올 수 있는 모든 결과이며, 변환 관점에서는 상(image)에 해당합니다.
영공간 (null space)은 행렬이 0으로 보내는 모든 입력 벡터 집합입니다. 변환 관점에서는 핵(kernel)이라고도 부릅니다.
이 둘을 함께 보면, 행렬이 무엇을 표현할 수 있고 무엇을 구분하지 못하는지 동시에 이해할 수 있습니다.
단계별 예시
예시 1) 열공간(column space)
다음 행렬을 보겠습니다.
A = [1 0 1
0 1 1]
세 열벡터는 [1; 0], [0; 1], [1; 1]입니다. Ax는 이 열벡터들의 선형결합이므로, 결국 2차원 평면의 모든 벡터를 만들 수 있습니다. 따라서 이 행렬의 열공간(column space)은 R^2 전체입니다.
즉 어떤 목표 벡터 b가 열공간 안에 있으면 Ax=b의 해가 반드시 존재합니다.
예시 2) 영공간(null space)
위 행렬에서 Ax=0을 풀어 보겠습니다. 식으로 쓰면
x1 + x3 = 0
x2 + x3 = 0
이므로 x1 = -x3, x2 = -x3입니다. x3=t로 두면
x = t[-1; -1; 1]
꼴이 됩니다. 즉 이 행렬의 영공간(null space)은 벡터 [-1; -1; 1]이 만드는 직선입니다.
또 만약 서로 다른 두 입력 x1, x2가 같은 출력으로 간다면
Ax1 = Ax2
이므로
A(x1 - x2) = 0
입니다. 즉 두 입력 차이는 영공간(null space)에 속합니다. 이 말은 행렬이 그 방향의 차이를 구분하지 못한다는 뜻입니다.
예시 3) 차원축소와 정사영
3차원 데이터를 2차원 평면으로 정사영(projection)하는 변환을 생각해 보겠습니다. 평면에 수직인 방향 성분은 0으로 보내지며, 이 수직 방향이 영공간(null space)을 이룹니다. 반대로 출력이 놓이는 2차원 평면은 열공간(column space)입니다.
수학 주석
- 열공간(column space)은
A의 열들이 생성하는 부분공간입니다. - 영공간(null space)은 동차방정식(homogeneous equation)
Ax=0의 해집합이며 역시 부분공간입니다. Ax=b의 해 구조는 특수해 하나와 영공간의 모든 원소를 더한 형태x = x_particular + x_null로 쓸 수 있으므로, 열공간과 영공간을 함께 봐야 제대로 이해됩니다.
열공간은 "무엇을 만들 수 있는가"를 말하고, 영공간은 "어떤 입력 방향을 구분하지 못하는가"를 말합니다.
자주 하는 오해
부분공간은 그냥 작은 집합이라고 생각하기
작다고 해서 다 부분공간은 아닙니다. 덧셈과 스칼라배에 대해 닫혀 있어야 합니다. 특히 영벡터(zero vector)를 포함해야 합니다. 원점을 지나지 않는 직선이나 평면은 보기에는 비슷해도 부분공간이 아닙니다.
영공간은 별로 중요하지 않다고 생각하기
오히려 해 구조, 자유도, 차원축소를 이해하는 데 매우 중요합니다. 압축과 정보 구분 가능성을 읽을 때도 핵심입니다.
열공간과 행공간(row space)을 이름만 비슷한 별개 목록으로 외우기
용어 암기보다 각각이 무엇을 뜻하는지 붙잡는 것이 중요합니다. 열공간은 출력 가능 범위, 영공간은 사라지는 입력 방향입니다.
연습 또는 확장
다음 질문을 생각해 보세요.
Ax=b에서b가 열공간 밖에 있다면 어떤 일이 생기는가?- 영공간이 크다는 것은 행렬이 더 많은 입력 방향을 구분하지 못한다는 뜻인가?
- 왜
Ax=0의 해집합은 부분공간인가?
마무리
이번 글에서는 부분공간(subspace), 열공간(column space), 영공간(null space)을 정리했습니다.
- 열공간은 행렬이 만들 수 있는 모든 출력입니다.
- 영공간은 0으로 사라지는 모든 입력입니다.
- 두 공간을 함께 보면 행렬의 표현력과 비유일성을 동시에 읽을 수 있습니다.
- 다음 글에서는 이를 계수(rank)와 영차원(nullity)으로 요약해 보겠습니다.
💬 댓글
이 글에 대한 의견을 남겨주세요