본문 바로가기
선형대수학(Linear Algebra)/행렬과 행렬식

행렬의 영공간 (The Nullspace of Matrix)

by Gosamy 2020. 11. 30.
반응형

연립방정식의 해공간과 관련된 중요한 정리를 알고 나면 $A\mathbf{x}=\mathbf{b}$ 를 풀기 위해선 $A\mathbf{x}=\mathbf{0}$ 을 풀 줄 알아야 한다는 사실을 체득했을 것입니다. 오늘은 우변이 영벡터인 이 방정식을 풀어볼 것입니다.


우선, 이 방정식은 반드시 자명해 $\mathbf{x}=\mathbf{0}$ 를 갖습니다. 이것은 임의의 행렬 $A$에 대해서 성립하는 것으로, $A$의 성질과는 무관합니다. 그렇다면 행렬 $A$의 특성이 방정식 $A\mathbf{x}=\mathbf{0}$ 에 영향을 주는 요인은 무엇일까요? 바로 자명해 이외의 해를 만들어내는지의 유무와, 만들어낸다면 그것이 어떤 꼴인지에 관한 것입니다.


1. $A$의 가역성(invertible)

 

정리($L.A$) 2.6

1) 행렬 $A$가 가역이라 $A^{-1}$ 이 존재하면 동차방정식 $A\mathbf{x}=\mathbf{0}$ 은 오직 자명해 $\mathbf{x}=\mathbf{0}$ 만을 갖는다.

2) 행렬 $A$가 비가역으로 역행렬이 존재하지 않으면 동차방정식 $A\mathbf{x}=\mathbf{0}$ 은 $\mathbf{x}=\mathbf{0}$ 이외의 해(=nonzero solution)도 가진다.

 

이것을 보이는 일은 그리 어렵지 않습니다. 동차방정식 $A\mathbf{x}=\mathbf{0}$ 에 대하여 $A$ 가 가역일 때 양변의 왼쪽에 $A^{-1}$ 를 곱해주면 $\mathbf{x}=A^{-1}\mathbf{0}=\mathbf{0}$ 이 되므로 자명해 $\mathbf{x}=\mathbf{0}$ 만을 갖게 되기 때문이죠. 이에 대해 곰곰이 생각해보면, 결국 역행렬이 존재하지 않을 때 해의 개수 측면에서 복잡해질 것이라 예상할 수 있습니다. 실제로 그렇습니다. 계수행렬이 비가역인 경우 case 분류를 해서 해의 모양과 개수를 일일이 분리해야 합니다. 우선 이 내용은 필수적인 개념이기 때문에 챙겨둔 상태로 영공간에 대해 살펴봅시다.


2. 행렬의 영공간

 

1) 정의

 

정리($L.A$) 2.7

행렬 $A$의 '영공간(Nullspace)'이란 방정식 $A\mathbf{x}=\mathbf{0}$ 의 해집합으로, 모든 해를 포함하며 $N(A)$로 표기한다. 이 해집합의 벡터들 $\mathbf{x}$는 $R^n$에 속한다.

 

영공간의 정의는 어렵지 않습니다. 그저 동차방정식의 해집합에 해당하고 1의 내용과 결부지어 생각한다면 $A$가 가역인 경우 $N(A)=\left \{ \mathbf{0} \right \}$이 될 것이고, $A$가 비가역이라면 $N(A)$는
영벡터 이외의 원소 또한 가질 것이니 $N(A)\ni \left \{ \mathbf{0} \right \}$라고만 쓸 수 있으면 됩니다.

 

더 중요한 내용은 위 박스의 두번째 내용입니다. 행렬 $A$가 $m\times n$ 행렬이고 $\mathbf{x}$가 $n \times 1$행렬이기 때문에, 우변의 영벡터는 $m \times 1$ 행렬입니다. 이는 곧 $\mathbf{x}$가 $R^n$의 부분공간이고 영벡터는 $m \times 1$의 부분공간이라는 사실을 의미합니다. 따라서 이 방정식의 해를 모두 모은 영공간 $N(A)$는 $R^n$의 부분공간이 됩니다. 이에 열공간에서 다뤘던 내용과 합쳐 생각하면,

 

정리($L.A$) 2.8

영공간(nullspace) $N(A)$는 $R^n$의 부분공간이고,

열공간(column space) $C(A)$는 $R^m$의 부분공간이다.

 

을 얻습니다.


3. 행렬의 영공간을 구하고 동차방정식을 푸는 방법

 

고백하자면, 결국 행렬과 연립방정식의 종점역은 가우스-조르당 소거법을 이용해 역행렬을 구하는 것입니다. 물리나 공학에서 다루는 웬만한 행렬들은 가역인 정사각행렬들입니다. 가역이라는 것은, 연립방정식이 하나의 해만을 갖는 겁니다. 중학생 때도 배웠지만, 오직 하나의 해를 갖지 않는 다른 연립방정식의 해 유형은 무엇이 있을까요? 바로 해가 없거나 무수히 많은 것입니다.

 

영공간을 구하고 동차방정식을 푸는 방법은 그저 $A\mathbf{x}=\mathbf{0}$ 의 해를 구하면 되지 않느냐고 물을 수도 있겠지만, 행렬 $A$가 가역일 떄는 역행렬만 구하면 바로 끝나지만 비가역일 때 문제가 커집니다. 실은 행렬이 가역이라는 건 꽤 특이한 경우입니다. ($n$차)정사각행렬이면서 랭크가 $n$이어야 하기 때문이죠. 대다수의 경우에는, 해가 유한쌍으로 나오지 않고 무수히 많아 직선이나 평면의 형태로 답을 쓰기 때문입니다. 영공간을 구하기 위해서는 일반적으로 다음의 절차를 따르는 것이 좋습니다.

 

정리($L.A$) 2.9

동차방정식 $A\mathbf{x}=\mathbf{0}$ 에서 $A$가 가역이면 $N(A)=\left \{ \mathbf{0} \right \}$이다.

$A$가 비가역이면, pivot 을 세야 한다. 이를 위해서 랭크를 구하거나 소거법(Elimination method)를 사용해서 $A$를 상삼각행렬 $U$ 또는 기약 행 사다리꼴 $R$로 만든다. 마지막으로 특별해(special solution)을 찾고 최종해를 특별해들의 선형결합으로 쓴다.

 

따름정리($L.A$) 2.9.1

동차방정식 $A\mathbf{x}=\mathbf{0}$ 에서 비가역인 행렬 $A$의 영공간 $N(A)$의 원소의 개수는 반드시 1보다 크다. 곧 $\mathbf{x}=\mathbf{0}$ 이외의 해도 가짐을 뜻한다. 이는 $\mathrm{pivot}$ 외에 자유변수(free variables)의 개수가 0이 아님을 뜻한다.

이 때 해가 존재하지 않는 경우(불능)가 아니라면 해가 무수히 많고(부정), 그 해집합은 일반적으로 특수해의 선형결합으로 나타낸다.

 

따름정리($L.A$) 2.9.2

행렬 $A$가 $m\times n$ 행렬일 때, 식의 개수보다 미지수의 개수가 많은 경우 즉 $m<n$인 경우 $A$가 비가역임은 자명하고 동차방정식 $A\mathbf{x}=\mathbf{0}$ 은 $\mathrm{x}=\mathrm{0}$ 이외의 해를 반드시 가지고 적어도 $n-m$ 개의 자유변수를 갖는다. 이 때 영공간 $N(A)$의 차원은 자유변수의 개수와 같으며, 최소 1차원(직선)이다. 

 

공부를 계속 하다 보시면 결국 위 정리와 따름정리 두개는 다 같은 말을 달리 표현한 것에 불과하다는 것을 깨달을 수 있습니다. 사실 3개가 같다는 말임을 이해하면 행렬에 대한 전반적인 논의를 충분히 꿰뚫었다 볼 수 있습니다.

 

이 정리들에 의하면 특별해는 무수히 많은 해가 직선이나 평면을 형성하는데 그들을 표현하기 위해 선형결합을 이용할 때 선택하는 기저(basis)벡터 역할을 한다는 것입니다. 바로 와닿지 않을텐데, 아래 문제를 풀며 직접 확인해보도록 합시다.


예제 1) 행렬 $A=\begin{pmatrix}
1 &2 \\ 
4 &8 
\end{pmatrix} $ 의 영공간을 구하여라.

 

영공간을 구한다는건 동차방정식 동차방정식 $A\mathbf{x}=\mathbf{0}$ 를 푼다는 것입니다. 행렬꼴을 연립방정식 형태로 바꾸고1행에 $-4$를 곱한 뒤 2행과 더하면 $x$를 소거할 수 있습니다.

 

$$ \left\{\begin{matrix}
x+2y=0\\ 
4x+8y=0 
\end{matrix}\right.\;\;\rightarrow\;\;\left\{\begin{matrix}
x+2y=0\\ 
0y=0
\end{matrix}\right.\;\;\therefore\;\;y=-\frac{1}{2}x$$

 

그러면 해로 직선이 나옵니다. 그런데, 이건 $\mathbf{x}$가 무엇인지를 나타내는 식이 아니라, $\mathbf{x}=\begin{pmatrix}
x\\ 
y
\end{pmatrix}$ 일 때 이것의 성분 $x,y$ 간의 관계를 나타낸 식입니다. 연립방정식의 해를 구한다는 것은 $A\mathbf{x}=\mathbf{0}$ 에서 $\mathbf{x}$가 어떤 값이다, 이런 형태로 써야 하므로 박스에서 설명한 것과 같이 특별해라는 새로운 개념을 도입할 것입니다.
직선을 $y=-\frac{1}{2}x$로 표기하는 대신, 한 점을 선택하고 직선 위의 다른 모든 점은 이 점(을 가리키는 벡터)의 상수배라는 개념을 사용하는 것입니다. 마치, 고등학교 기하와 벡터에서 직선을 방향벡터로 나타내는 방법과 일치합니다. 그 기벡이 사실 선형대수학에서 태어난 것이죠.. 그러면 특별해는, 직선상에서 아무 점이나 하나 선택하면 됩니다. 간단한 숫자로 $(-2,1)$ 를 선택해봅시다. 그러면 이 연립방정식의 해는 다음과 같이 씁니다.

 

$$ \mathbf{x}=y\begin{bmatrix}
-2\\ 
1
\end{bmatrix}$$

 

이 식을 전개하면 $(-2y,y)$ 인데, 원래 $\mathbf{x}=(x,y)$ 였으니 둘을 비교해보면 $x=-2y$, 즉 $x+2y=0$ 이므로, 정확히 쓴 것이 맞습니다.

 

다만 한 가지 의문이 들 수 있습니다. 왜 최종해의 형태를 쓸 때, $\mathbf{x}$의 $x,y$중 $y$를 특수해 앞에 붙인 것일까요? 이는 몇가지 예제를 더 풀면서 자세히 설명할 것인데, pivot에 해당하지 않는 문자를 붙여야 합니다. 행렬 $A$는 랭크가 1이고 pivot도 1개입니다. 그러면 $\mathbf{x}$의 첫 성분인 $x$는 pivot과 관련되고 둘째 성분인 $y$는 pivot과 관련이 없는 문자입니다. 이 때 이런 pivot과 무관한 문자를 '자유변수(free variables)'라 합니다. 일반해를 특별해의 상수배로 쓸 때 앞에 붙는, 선형결합에서 스칼라 역할을 하는 미지수는 바로 $\mathbf{x}$에서 pivot과 관련없는 문자입니다.


예제 2) 행렬 $A=\begin{bmatrix}
1 & 2 & 3
\end{bmatrix}$ 의 영공간을 구하라.

 

동차방정식 $$A\mathbf{x}=\begin{bmatrix}
1 & 2 & 3
\end{bmatrix}\begin{bmatrix}
x\\ 
y\\ 
z
\end{bmatrix}=x+2y+3z=0 $$

의 해를 구하면 됩니다. 그런데 $x+2y+3z=0$ 은 평면입니다. 평면을 예제 1)에서처럼 선형대수학스럽게 나타내는 방법, 즉 $\mathbf{x}$가 어떤 꼴인지의 형식으로 나타내기 위해서는 기저벡터 2개를 뽑아내야 합니다. 이 기저벡터 또한 평면상에 존재하는 임의의 점이므로 아무 점이나 2개 선택하면 됩니다. 이 때 행렬 $A$의 pivot은 1개이므로, pivot 과 관련된 $\mathbf{x}$의 문자 $x$는 자유변수가 아니고 $y,z$가 아무 숫자나 넣을 수 있는 자유변수에 해당합니다. 간단한 숫자로 $y=1,\;z=0$과 $y=0,\;z=1$을 넣으면 각각 $x=-2, \;x=-3$이 나오므로 이 둘이 특별해이니, 완전해는

 

$$\mathbf{x}=y\mathbf{s_1}+z\mathbf{s_2}=y\begin{bmatrix}
2\\ 
-1\\
0
\end{bmatrix}+z\begin{bmatrix}
-3\\ 
0\\
1
\end{bmatrix}$$


예제 3) 다음 세 행렬 $A,B,C$의 영공간을 찾아라.

 

$$ A=\begin{pmatrix}
1 &2 \\ 
3 & 8
\end{pmatrix}\;,\;B=\begin{pmatrix}
A\\ 
2A
\end{pmatrix}=\begin{pmatrix}
1 &2 \\ 
3 &8 \\ 
3 &6 \\ 
9 &24 
\end{pmatrix}\,,\,C=\begin{pmatrix}
1 & 2 &3  &6 \\ 
3 & 8 &9  &24 
\end{pmatrix} $$

 

행렬 $B$는 $A$와 그것의 2배를 세로방향으로 추가한 행렬이고, $C$는 $A$와 그것의 2배를 가로방향으로 추가한 행렬입니다.

 

i) 행렬 $A$는 $ad-bc \neq 0$이므로 가역입니다. 그래서 $N(A)=\left \{ \mathbf{0} \right \}$ 입니다.

 

ii) 행렬 $B$는 어떨까요? 박스에서 시킨대로 우선 pivot 의 개수를 셉니다. 랭크를 조사하는게 빠를 것 같네요. 왜냐하면 1행과 3행은 종속이고 2행과 4행도 서로 종속이기 때문입니다. 따라서 행렬 $B$의 pivot 의 개수는 2입니다. 이 때 동차방정식 $B\mathbf{x}=B\begin{bmatrix}
x\\ 
y
\end{bmatrix}$로 $\mathbf{x}$는 $2\times 1$ 행렬이므로 pivot 의 개수와 미지수의 개수가 같으니 영공간은 영벡터만을 포함합니다. 즉 i)과 같이  $N(A)=\left \{ \mathbf{0} \right \}$ 입니다.

 

iii) $C$도 바로 랭크를 구할 수는 있으나, 보통 행의개수$<$열의개수($m<n$)일 땐 상삼각행렬을 만드는 것이 여러모로 좋습니다. 소거를 위해 1행에 -3을 곱하고 2행과 더해 새로운 2행으로 대체하면

$$U=\begin{bmatrix}
1 & 2 &2  &4 \\ 
0 & 2 &0  &4 
\end{bmatrix}$$

 

가 됩니다. 그럼 pivot 은 2개이죠? 그러니$\mathbf{x}=\begin{bmatrix}
x & y &z  &w 
\end{bmatrix}^T$에서 $x,y$는 pivot과 관련되어 있고 $z,w$가 자유변수입니다. $z=1,\;w=0$과 $z=0,\;w=1$을 선택해서 특별해 $s_1\;,s_2$를 얻고 선형결합으로 최종해를 쓰면

 

$$\mathbf{x}=z\mathbf{s_1}+w\mathbf{s_2}=z\begin{bmatrix}
-2\\ 
0\\
1\\
0
\end{bmatrix}+w\begin{bmatrix}
0\\ 
-2\\
0\\
1
\end{bmatrix}$$


예제 4) 행렬 $A=\begin{pmatrix}
1 & 1 & 2 & 3\\ 
2 & 4 & 4 & 5\\ 
3 & -3 & 6 & 12
\end{pmatrix}$의 영공간을 구하여라.

 

이제 상당히 복잡한 형태의 행렬에 대해서도 영공간 구하기를 극복해 봅시다. 행과 열의 개수가 3개를 넘어가는 경우, 랭크를 바로 구하기보다 소거법을 사용하는 것이 좋습니다. 1행$\times (-2)$를 2행과 더해 새로운 2행으로 교체하고, 1행$\times (-3)$을 3행과 더해 새로운 3행으로 교체한 뒤 다시 새로운 2행$\times 3$을 새 3행에 더해 최종적으로 상삼각행렬을 만들면

 

$$ U=\begin{pmatrix}
1 & 1 & 2 & 3\\ 
0 & 2 & 0 & -1\\ 
0 & 0 & 0 & 0
\end{pmatrix}\;\;\Leftrightarrow \;\;\left\{\begin{matrix}
x+y+2z+3w=0\\ 
2y-w=0
\end{matrix}\right. $$

 

pivot의 개수는 1행과 2행의 첫 성분으로 2개이며, 각각$\mathbf{x}=\begin{bmatrix}
x & y &z  &w 
\end{bmatrix}^T$의 $x,y$에 대응됩니다. 곧 자유변수는 $z,w$이므로 특수해를 구하기 위해 $z=1,\;w=0$을 넣으면 $x=-2,\;y=0$이 나오고, $z=0,\;w=2$를 넣을 시 $x=-7,\;y=1$이 나오게 되어 최종해는

 

$$\mathbf{x}=z\mathbf{s_1}+w\mathbf{s_2}=z\begin{bmatrix}
-2\\ 
0\\
1\\
0
\end{bmatrix}+w\begin{bmatrix}
-7\\ 
1\\
0\\
2
\end{bmatrix}$$

 

* 참고로 영공간(nullspace)은 '커널(kernel)이라고도 부릅니다. 암기에 조금이라도 도움 되고자 하는 의도에서.. 대표사진은 나이더스 커널(Nydus canal)입니다.

 

 

[참고문헌]

Introduction to Linear Algebra, Gilbert strang

댓글