Lecture 6. 열공간과 영공간
Column Space and Nullspace — 서술
지난 강의에서 벡터공간과 부분공간을 정의했지만, 든 예는 전부 손으로 지어낸 것이었다.
평면 x+y+z=0 이 부분공간이라는 것은 확인했어도, 그런 평면이 어디서 오는지는 말하지 않았다.
이번 강의에서는 행렬 하나가 주어지면 부분공간이 저절로 따라 나온다는 것을 본다. 이름은
열공간(column space)과 영공간(null space)이다.
그리고 이 두 개념으로 다음 문장을 얻는다.
Ax=b 에 해가 있다⟺b 가 A 의 열공간 안에 있다 방정식을 푸는 문제가 어떤 점이 어떤 집합에 속하는가라는 문제로 바뀐다.
1. 열공간 (Column space)¶
L1에서 Ax 가 A 의 열들의 선형결합이라고 하였다. x 를 이리저리 바꾸면 열들을
여러 비율로 섞을 수 있다. 그렇다면 자연스러운 질문이 하나 생긴다. 섞어서 만들 수 있는 것을
전부 모으면 무엇이 되는가?
L1의 (33)에 의해 Ax=x1a1+⋯+xnan 이므로,
이 집합은 A 의 열들의 모든 선형결합의 집합과 같은 것이다. 두 표현은 같은 것을 다르게 쓴 것이다.
정말 부분공간인가¶
이름에 공간이 들어갔으니 확인해야 한다. L5의 Definition 4에 따라 두 조건을 보면 된다.
계산은 A(u+v)=Au+Av 와 A(cu)=cAu 라는 성질만 쓴다.
먼저 원점이다. x=0 을 넣으면 A0=0 이므로
0∈C(A) 이다. 덧셈을 보자. C(A) 의 원소 두 개를 잡으면 각각 Ax1, Ax2 의 꼴이다.
이 둘을 더하면
Ax1+Ax2=A(x1+x2) 가 되어 다시 A(어떤 벡터) 의 꼴이므로 C(A) 안에 있다. 스칼라배도 마찬가지이다.
c(Ax)=A(cx) 두 조건을 모두 만족하므로 C(A) 는 부분공간이다. 증명에서 쓴 것은 행렬곱의 분배법칙뿐이고
A 가 어떻게 생겼는지는 전혀 쓰지 않았다. 어떤 행렬이든 열공간은 부분공간이다.
어디에 있는가¶
A 가 m×n 이면 Ax 는 성분이 m 개인 벡터이다. 따라서
C(A)⊆Rm 이다. 열의 개수 n 이 아니라 열의 길이 m 이 사는 공간을 정한다.
L1에서 다룬 행렬을 다시 가져온다.
A=⎣⎡12625−3373⎦⎤,a3=a1+a2 세 번째 열이 앞의 두 열의 합이므로, L1의 (27)에서 본 것처럼 세 열의
어떤 결합도 앞의 두 열의 결합으로 다시 쓸 수 있다. 그러므로
C(A)={ca1+da2:c,d∈R} 이고, 이것은 R3 안의 평면이다. 그 평면의 법선은 L1의 (28)에서 구한
n=(−36,15,1) 이다.
2. 열공간과 해의 존재¶
이제 (1)의 문장을 확인해 보자.
Ax=b 에 해가 있다는 것은 이 식을 만족하는 x 가 존재한다는 뜻이다.
그런데 (2)의 정의를 보면 C(A) 는 정확히 그런 Ax 들을 모아 놓은 집합이다.
따라서 두 문장은 같은 말이다.
∃x 로서 Ax=b⟺b∈C(A) 증명이랄 것도 없이 정의를 다시 읽은 것이다. 그러나 문제를 보는 방식이 달라진다. 지금까지는
x 를 구하려고 소거를 했는데, 이제는 b 가 어느 집합에 속하는지만 보면 된다.
소속을 판정하는 것이 방정식을 푸는 것보다 쉬운 경우가 많다.
판정해 보기¶
(7)의 A 에 대해 두 우변을 시험해 보자. C(A) 는 법선이 n=(−36,15,1) 인
평면이므로, b 가 그 위에 있는지는 내적 한 번으로 판정된다.
b1=⎣⎡373⎦⎤:n⋅b1=−108+105+3=0 b2=⎣⎡642⎦⎤:n⋅b2=−216+60+2=−154=0 b1 은 열공간 안에 있으므로 Ax=b1 에는 해가 있다. 실제로
b1=a1+a2 이므로 x=(1,1,0) 이 해이다.
b2 는 밖에 있으므로 해가 없다. 소거를 한 번도 하지 않고 판정했다.

Figure 1:C(A) 를 거의 옆에서 본 그림이다. 두 열과 b1 은 청록색 평면 안에 들어 있고,
b2 만 평면을 벗어나 있다. 빨간 점선은 b2 에서 평면에 내린 수선이다.
3. 영공간 (Null space)¶
열공간은 우변 쪽 이야기였다. 이번에는 미지수 쪽을 본다.
부분공간인가¶
역시 확인한다. 원점은 A0=0 이므로 언제나 들어 있다.
0∈N(A) x1,x2∈N(A) 라 하자. 정의상 Ax1=0 이고 Ax2=0 이므로
A(x1+x2)=Ax1+Ax2=0+0=0 이 되어 합도 영공간에 있다. 스칼라배도 마찬가지이다.
A(cx1)=cAx1=c0=0 따라서 N(A) 는 부분공간이다.
(7)의 A 에 대해 영공간을 실제로 구해 보자. 조건은 다음과 같다.
x1a1+x2a2+x3a3=0 a3=a1+a2 를 넣고 항을 모으면
x1a1+x2a2+x3(a1+a2)=(x1+x3)a1+(x2+x3)a2=0 가 된다. 여기서 a1 과 a2 는 서로 평행하지 않다. 만약 어느 한 계수가 0이 아니라면,
예를 들어 첫 계수를 c=0 이라 하고 둘째를 d 라 하면 a1=−(d/c)a2 가 되어
두 벡터가 평행해진다. 이는 사실이 아니므로 두 계수가 모두 0이어야 한다.
x1+x3=0,x2+x3=0 x3 를 자유롭게 두면 x1=−x3, x2=−x3 이므로
x=x3⎣⎡−1−11⎦⎤ 이다. 즉 N(A) 는 (1,1,−1) 방향의 직선이다. 부호는 상수배로 흡수되므로
(−1,−1,1) 과 (1,1,−1) 중 어느 쪽으로 써도 같은 직선이다.
L1에서 이 행렬의 해가 무수히 많을 때 (1,1,−1) 의 배수를 더해도 해가 된다고 했는데,
그 방향이 바로 영공간이었다.
4. 두 공간은 어디에 있는가¶
여기서 자주 헷갈리는 것을 짚어 둔다. 두 공간은 서로 다른 공간에 산다.
C(A)⊆Rm,N(A)⊆Rn 이유는 간단하다. C(A) 의 원소는 Ax 이고 이것은 성분이 m 개이다. N(A) 의 원소는
x 자체이고 이것은 성분이 n 개이다. 열공간은 도착지 쪽 이야기이고, 영공간은
출발지 쪽 이야기이다.
A 가 정방행렬이면 m=n 이라 둘 다 같은 Rn 안에 있게 되는데, 이 때문에 두 공간이
원래 같은 곳에 있는 것으로 오해하기 쉽다. 정방이 아닌 예를 하나 보면 분명해진다.
B=[122436] B 는 2×3 이다. 열은 (1,2), (2,4), (3,6) 인데 모두 (1,2) 의 배수이므로
그 결합도 전부 (1,2) 의 배수이다. 따라서 C(B) 는 R2 안의 직선이다.
영공간은 Bx=0 을 푸는 것인데, 두 번째 행이 첫 번째 행의 2배라 조건이 하나로 줄어든다.
x1+2x2+3x3=0 이것은 R3 안의 평면이다. 정리하면 다음과 같다.
| C(B) | N(B) |
|---|
| 사는 곳 | R2 | R3 |
| 모양 | 직선 | 평면 |

Figure 2:2×3 행렬의 두 부분공간. 하나는 R2 안에, 다른 하나는 R3 안에 있어
같은 그림에 그릴 수조차 없다.
5. 영공간과 가역성¶
L3에서 Ax=0 을 만족하는 x=0 이 있으면 역행렬이 없다고 하였다.
이제 그 문장을 새 언어로 다시 쓸 수 있다.
왜 그런지는 영공간이 무엇을 재는지 보면 더 분명해진다. 서로 다른 두 벡터가 같은 곳으로 가는
경우를 따져 보자.
Au=Av⟺Au−Av=0⟺A(u−v)=0⟺u−v∈N(A) 즉 영공간은 같은 곳으로 가는 두 점의 차이를 모아 놓은 집합이다. 영공간에 0이 아닌 벡터가
있다면 서로 다른 두 점이 같은 곳으로 간다는 뜻이고, 그러면 도착점만 보고 출발점을 알아낼 수
없으므로 되돌리는 변환이 존재할 수 없다.
반대로 N(A)={0} 이면 (23)에 의해 Au=Av 일 때 반드시
u=v 이다. 서로 다른 점은 서로 다른 곳으로 간다.
L3에서 정육면체가 납작해지는 것을 보았는데, 납작해지는 방향이 바로 영공간이다.
6. 우변이 0이 아닐 때의 해집합¶
영공간은 Ax=0 의 해집합이었고, 부분공간이었다. 그러면 b=0 일 때
Ax=b 의 해집합도 부분공간인가?
아니다. x=0 을 넣으면 A0=0 인데 이것은 b 가 아니다. 즉
원점이 해가 아니므로, L5에서 본 것처럼 부분공간일 수 없다.
그러면 무엇인가. 해가 하나라도 있다고 하고 그것을 xp 라 하자. x 가 또 다른 해라면
Ax=b,Axp=b⟹A(x−xp)=b−b=0 이므로 x−xp∈N(A) 이다. 거꾸로 xn∈N(A) 를 아무거나 잡으면
A(xp+xn)=Axp+Axn=b+0=b 이므로 xp+xn 도 해이다. 양쪽을 합치면 해집합이 정확히 무엇인지 나온다.
{x:Ax=b}=xp+N(A) 즉 해집합은 영공간을 해 하나만큼 평행이동한 것이다. 부분공간은 아니지만 부분공간을
옮겨 놓은 것이라 모양은 같다. 영공간이 직선이면 해집합도 직선이고, 평면이면 평면이다.

Figure 3:회색 점선이 원점을 지나는 N(A) 이고, 주황색 실선이 Ax=b 의 해집합이다.
두 직선은 나란하며, xp 만큼 떨어져 있다.
(7)의 예로 확인해 보자. b1=(3,7,3) 에 대해 xp=(1,1,0) 이 해였고,
N(A) 는 (1,1,−1) 방향의 직선이었다. 따라서 해집합은 다음과 같다.
x=⎣⎡110⎦⎤+t⎣⎡11−1⎦⎤(t∈R) L1에서 "해 하나를 찾았다면 (1,1,−1) 의 아무 배수를 더해도 해가 된다"고 한 것이 바로 이 식이다.
여기까지는 xp 와 N(A) 를 이미 알고 있다고 가정하고 이야기했다. 실제로 그것들을
어떻게 구하는지는 아직 다루지 않았다.
마치며...¶
이번 강의에서 다룬 것을 정리하면 다음과 같다.
| 대상 | 정의 | 사는 곳 | 무엇에 대한 이야기인가 |
|---|
| 열공간 C(A) | Ax 가 도달할 수 있는 모든 곳 | Rm | 도착지 |
| 영공간 N(A) | Ax=0 인 모든 x | Rn | 출발지 |
그리고 세 가지 결과를 얻었다.
Ax=b 에 해가 있다는 것은 b∈C(A) 라는 뜻이다
영공간이 원점보다 크면 서로 다른 두 점이 같은 곳으로 가고, 역행렬이 없다
b=0 일 때 해집합은 xp+N(A), 즉 영공간을 평행이동한 것이다
마지막 결과는 해집합의 모양을 알려 주지만, xp 와 N(A) 를 어떻게 구하는지는
말해 주지 않는다. 지금까지는 세 번째 열이 앞의 두 열의 합이라는 것이 눈에 보이는 예제만 다루었다.
그런 관계가 보이지 않는 행렬이라면 어떻게 해야 하는가.
다음 강의에서는 Ax=0 을 소거로 푸는 방법을 다룬다. 거기서 피벗 변수와
자유 변수라는 구분이 나오고, 영공간의 모양이 그 구분에서 결정된다.
이번 강의의 내용을 파이썬으로 확인해 보려면 L6 실습 노트북으로 넘어가면 된다.
무작위 x 를 많이 만들어 Ax 가 정말 한 평면 위에만 떨어지는지 보고,
b 가 열공간 안에 있는지를 판정하는 함수를 직접 만들어 볼 수 있다.