안녕하세요. 지난 포스팅의 선형대수학 - 역행렬에서는 행렬 $A$의 역행렬을 첨가행렬을 도입함으로써 기본행렬변환을 적용하여 구하는 방법에 대해서 알아보았습니다. 오늘은 궁극적으로 하고 싶었던 연립선형방정식의 해를 구하는 방법에 대해서 알아보도록 하겠습니다. 해당 포스팅은 이론적인 배경과 실제로 계산하는 과정으로 나뉘어 2개의 포스팅으로 나누어 연재될 예정이니 많은 관심 부탁드립니다!
일단, 본격적으로 시작하기에 앞서 연립선형방정식이 무엇인지 알아봐야겠죠?
$$\begin{array}{} a_{11}x_{1} + a_{12}x_{2} + \cdots + a_{1n}x_{n} = b_{1} \\ a_{21}x_{1} + a_{22}x_{2} + \cdots + a_{2n}x_{n} = b_{2} \\ \vdots \\ a_{m1}x_{1} + a_{m2}x_{2} + \cdots + a_{mn}x_{n} = b_{m} \end{array}$$
위와 같이 $n$개의 변수 $x_{i}$가 존재하는 방정식이 여러 개 존재하는 것을 연립이라고 말합니다. 여기서 말하는 선형이란 제곱, 세제곱과 같은 연산지 포함되어 있지 않다는 것으로 이해하셔도 됩니다. 특히, 선형연립방정식은 행렬을 이용해서 굉장히 쉽게 표현할 수 있습니다.
$$\begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{bmatrix} \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \end{bmatrix} = \begin{bmatrix} b_{1} \\ b_{2} \\ \vdots \\ b_{m} \end{bmatrix}$$
이제 각 부분을 $A \in M_{m \times n}(\mathbf{F}), \mathbf{x} \in \mathbf{F}^{n}$ 그리고 $\mathbf{b} \in \mathbf{F}^{m}$이라고 두면 $A\mathbf{x} = \mathbf{b}$라고 쓸 수 있습니다. 행렬의 모양은 $(m \times n) \times (n \times 1) = (m \times 1)$이 되므로 잘 정의되죠. 이와 같은 선형연립방정식의 모양을 "체 $\mathbf{F}$ 상에 $n$개 변수와 $m$개의 선형방정식이 있는 연립"이라고 부릅니다. 여기서, $A$는 계수행렬 (coefficient matrix)라고 부릅니다.
방정식이 있다면 해도 존재할 수도 있겠죠? 저희는 이를 $\mathbf{s}$라고 부르도록 하겠습니다.
$$\mathbf{s} = \begin{bmatrix} s_{1} \\ s_{2} \\ \vdots \\ s_{n} \end{bmatrix} \in \mathbf{F}^{n}$$
방정식의 해이기 때문에 선형연립방정식에 대입하면 성립하게 됩니다.
$$A\mathbf{s} = \mathbf{b}$$
하지만, 어떤 경우에는 방정식의 해가 없을수도, 유일할 수도, 무한히 많을수도 있습니다. 따라서, 방정식의 해를 모아서 하나의 집합으로 구성하게 될텐데요, 이를 해집합 (solution set) $S$라고 부르도록 하겠습니다. 이때, 해집합 $S$가 공집합이 아니라면 해가 있는 방정식 (consistent equation), 공집합이라면 해가 없는 방정식 (inconsistent equation)이라고 부릅니다.
여기까지 오셨으면 기본적인 용어정리는 끝났습니다. 이제는 선형연립방정식의 예시를 보도록 하죠.
$$\begin{cases} x_{1} + x_{2} = 3 \\ x_{1} - x_{2} = 1 \end{cases}$$
위와 같은 방정식을 행렬로 표현하면 다음과 같습니다.
$$\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} \begin{bmatrix} x_{1} \\ x_{2} \end{bmatrix} = \begin{bmatrix} 3 \\ 1 \end{bmatrix}$$
따라서, 위의 경우에는 $A = \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}, \mathbf{x} = \begin{bmatrix} x_{1} \\ x_{2} \end{bmatrix}$ 그리고 $\mathbf{b} = \begin{bmatrix} 3 \\ 1 \end{bmatrix}$이라고 쓸 수 있습니다.
정의1. 동차방정식과 비동차방정식 (homogeneous/nonhomogeneous equation)
$m$개의 선형방정식과 $n$개의 해를 가지는 선형연립방정식 $A\mathbf{x} = \mathbf{b}$에서 $\mathbf{b} = 0$이면 동차방정식 (homogeneous equation)이라고 한다. 만약, $\mathbf{b} \neq 0$이라면 비동차방정식 (nonhomogeneous equation)이라고 한다.
A system $A\mathbf{x} = \mathbf{b}$ of $m$ linear equations in $n$ unknowns is said to be homogeneous if $\mathbf{b} = 0$. Otherwise, we say that nonhomogeneous.
설명
앞으로 배울 이론적 배경에서는 동차방정식의 해를 기반으로 비동차방정식의 해를 구하는 방법에 대해서 설명하게 됩니다. 따라서, 가장 먼저 알아야할 것은 동차방정식의 특성을 알아야겠죠? 여기서 깜짝퀴즈입니다. 동차방정식 $A\mathbf{x} = 0$은 해를 가질까요?
답은 항상 적어도 하나 이상의 해를 가지게 됩니다. 왜냐하면 $\mathbf{x}$을 영벡터라고 두면 되니까요! 다시 한번 동차방정식 $A\mathbf{x} = 0$을 자세히 보도록 하겠습니다. 이 모양을 보고 좌곱셈변환 $L_{A}$를 떠올리셨다면 아주 잘하셨습니다. 즉, $A\mathbf{x} = L_{A}(\mathbf{x}) = 0$을 의미합니다. 그런데, 여기서 한가지 관찰할 것이 또 있습니다. 어떤, 벡터 $\mathbf{x}$를 선형변환을 적용했을 때 $0$이 나오는 과정?... 맞습니다. 바로 영공간 (null space)이죠!! 즉, 동차방정식은 영공간과 깊은 관련이 있음을 시사합니다. 다음 정리는 이를 명확하게 알려주고 있죠.
정리1
$m$개의 선형방정식과 $n$개의 해를 가지는 선형연립동차방정식 $A\mathbf{x}=0$과 이를 만족하는 모든 해의 집합 $K$가 주어졌다고 하자. 그러면 $K = N(L_{A})$이다. 즉, $K$는 $\mathbf{F}^{n}$의 부분공간이고 $\text{dim}(K) = n - \text{rank}(A)$이다.
증명
정리1은 선형대수학 - 선형변환, 영공간, 치역의 차원정리를 이용하면 쉽게 증명할 수 있습니다.
1). $K = N(L_{A})$
좌곱셈변환 $L_{A}$의 영공간은 정의에 의해 $\{\mathbf{s} \in \mathbf{F}^{n} | A\mathbf{s} = 0\} = K$이다.
2). $\text{dim}(K) = n - \text{rank}(A)$
차원정리에 의해 $\text{dim}(\mathbf{F}^{n}) = n = \text{rank}(L_{A}) + \text{nullity}(L_{A})$이다. 이때, $\text{nullity}(L_{A}) = \text{dim}(K)$이므로 다음과 같이 쓸 수 있다.
$$n = \text{rank}(L_{A}) + \text{nullity}(L_{A}) = \text{rank}(L_{A}) + \text{dim}(K) \Rightarrow \text{dim}(K) = n - \text{rank}(L_{A}) = n - \text{rank}(A)$$
따름정리1-1
$m < n$이면 $A\mathbf{x} = 0$은 영벡터가 아닌 해를 가진다.
증명
따름정리1-1은 자명근(영벡터)아 아닌 근을 가질 수 있는 제한적 조건에 대해서 설명하고 있습니다. 변수가 해의 개수보다 많으면 영벡터가 아닌 해를 적어도 하나 가지게 되죠.
$m < n$이라고 하자. 그러면 행렬의 계수는 $m$보다 클 수 없다. 즉, $\text{rank}(A) = \text{rank}(L_{A}) \le m$이다. 따라서, 정리1에 의해 다음과 같이 쓸 수 있다.
$$\text{dim}(K) = n - \text{rank}(A) \ge n - m > 0$$
$\text{dim}(K) > 0$이기 때문에 $K \neq \{0\}$이다. 따라서, 적어도 비자명근 $\mathbf{s}$가 해집합 $K$에 속하고 이는 동차방정식 $A\mathbf{x} = 0$의 해이다. 즉, $A\mathbf{s} = 0$이다.
예제1. 주어진 선형연립방정식이 비자명근을 적어도 하나 이상 가짐을 증명하라.
$$\begin{cases} x_{1} + 2x_{2} + x_{3} = 0 \\ x_{1} - x_{2} - x_{3} = 0 \end{cases}$$
주어진 연립방정식을 행렬꼴로 변환하면 다음과 같다.
$$\begin{bmatrix} 1 & 2 & 1 \\ 1 & -1 & -1 \end{bmatrix} \begin{bmatrix} x_{1} \\ x_{2} \\ x_{3} \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix}$$
따름정리1-1에 의해 계수행렬 $A$의 계수 $\text{rank}(A)$를 구하면 비자명근을 적어도 하나 이상 가짐을 증명할 수 있다.
$$A = \begin{bmatrix} 1 & 2 & 1 \\ & 1 & -1 & -1 \end{bmatrix} \xrightarrow \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & \frac{2}{3} \end{bmatrix}$$
따라서, $\text{rank}(A) = 2$이므로 따름정리1-1에 의해 $\text{dim}(K) = 1$이다. 그러므로 주어진 선형연립방정식은 적어도 하나 이상의 비자명근이 존재한다.
정리2
$K$를 선형연립 비동차방정식 $A\mathbf{x} = \mathbf{b}$의 해집합, $K_{H}$를 선형연립 비동차방정식에 대응되는 동차방정식 $A\mathbf{x} = 0$의 해집합이라고 하자. 그러면 $A\mathbf{x} = \mathbf{b}$의 임의의 해 $\mathbf{s}$에 대해서 다음이 성립한다.
$$K = \{\mathbf{s}\} + K_{H} = \{\mathbf{s} + \mathbf{k} | \mathbf{k} \in K_{H}\}$$
증명
정리1은 동차방정식 $A\mathbf{x} = 0$의 해집합에 대한 이야기를 하고 있었습니다. 하지만, 좀 더 일반화된 비동차방정식 $A\mathbf{x} = \mathbf{b}$에 대해서는 아직 다루지 않았죠. 정리2는 비동차방정식의 해를 구하는 방법에 대해서 설명하고 있습니다. 간단하게 설명하면 비동차방정식에서 어떤 해 $\mathbf{s}$를 하나 선택하고 비동차방정식에 대응되는 동차방정식의 해집합 $K_{H}$를 구한 뒤 더해버리면 비동차방정식의 해집합을 구할 수 있다는 뜻 입니다. 이는 이후에 굉장히 중요한 정리로 활용되기 때문에 잘 알아두어야합니다.
집합 $\mathbf{s}$를 선형연립 비동차방정식 $A\mathbf{x} = \mathbf{b}$의 해라고 하자. 우리는 $K = \{\mathbf{s}\} + K_{H}$임을 증명해야한다. 이를 위해 양방향의 포함관계 $K \subset \{\mathbf{s}\} + K_{H}$와 $\{\mathbf{s}\} + K_{H} \subset K$를 증명해야한다.
1). $K \subset \{\mathbf{s}\} + K_{H}$
$\mathbf{w} \in K$를 선택한다. 그러면 $\mathbf{w}$는 선형연립 비동차방정식 $A\mathbf{x} = \mathbf{b}$의 해이므로 $A\mathbf{w} = \mathbf{b}$가 성립한다.
$$A(\mathbf{w} - \mathbf{s}) = A\mathbf{w} - A\mathbf{s} = \mathbf{b} - \mathbf{b} = 0$$
따라서, $\mathbf{w} - \mathbf{s} \in K_{H}$이다. 즉, 어떤 $\mathbf{k} \in K_{H}$에 대해서 $\mathbf{k} = \mathbf{w} - \mathbf{s}$를 만족한다. 그러므로 $\mathbf{w} = \mathbf{s} + \mathbf{k} \in \{\mathbf{s}\} + K_{H}$이므로 $K \subset \{\mathbf{s}\} + K_{H}$이다.
2). $\{\mathbf{s}\} + K_{H} \subset K$
$\mathbf{w} \in \{\mathbf{s}\} + K_{H}$를 선택한다. 그러면 어떤 $\mathbf{k} \in K_{H}$에 대해서 $\mathbf{w} = \mathbf{s} + \mathbf{k}$를 만족한다.
$$A\mathbf{w} = A(\mathbf{s} + \mathbf{k}) = A\mathbf{s} + A\mathbf{k} = \mathbf{b} + 0 = \mathbf{b}$$
따라서, $\mathbf{w} \in K$이다. 그러므로 $\{\mathbf{s}\} + K_{H} \subset K$이다.
최종적으로 1)과 2)에 의해 $K = \{\mathbf{s}\} + K_{H}$이다.
예제2. 주어진 선형연립 비동차방정식의 해 중 하나가 $\mathbf{s} = \begin{bmatrix} 1 \\ 1 \\ 4 \end{bmatrix}$라고 할 때, 해집합을 구하여라.
$$\begin{cases} x_{1} + 2x_{2} + x_{3} = 7 \\ x_{1} - x_{2} - x_{3} = -4 \end{cases}$$
정리2에 의해 비동차방정식에 대응되는 동차방정식의 해집합 $K_{H}$를 구하면 된다. 예제1에 의해 동차방정식의 해의 개수는 1개 이다. 이때, 동차방정식의 해집합는 임의의 $t \in \mathbb{R}$에 대해서 $t\begin{bmatrix} 1 \\ -2 \\ 3 \end{bmatrix}$이므로 비동차방정식의 해집합은 다음과 같다.
$$K = \{\begin{bmatrix} 1 \\ 1 \\ 4 \end{bmatrix} + t\begin{bmatrix} 1 \\ -2 \\ 3 \end{bmatrix} | t \in \mathbb{R}\}$$
정리3
$n$개의 변수와 $n$개의 연립방정식을 가지는 선형연립 비동차방정식 $A\mathbf{x} = \mathbf{b}$이 있다고 하자. $A$가 가역행렬이면 연립방정식은 유일한 해 $\mathbf{x} = A^{-1}\mathbf{b}$를 가진다. 역으로, 비동차방정식 $A\mathbf{x} = \mathbf{b}$의 해가 유일하면 $A$는 가역행렬이다.
증명
정리3은 아마 기계학습 및 심층학습을 공부하셨던 분들이라면 쉽게 이해하실 겁니다. 특히, 영상처리 부분에서 변환행렬의 매개변수를 결정할 때 가역성을 만족하면 정리3을 적용할 수 있습니다. 하지만 문제는 실제 상황의 대부분에서는 행렬 $A$가 가역행렬을 가능성이 적기 때문에 다른 방법을 적용해야하죠. 정리3은 이론적인 배경을 설명하는 것이기 때문에 저희는 실제 상황은 무시하도록 하겠습니다. 추가적으로 이 정리는 동치정리이기 때문에 양방향을 모두 증명해야합니다.
1). ($\Rightarrow$) : 행렬 $A$가 가역행렬이라고 하자. 이제 $A^{-1}\mathbf{b}$를 비동차방정식에 대입하면 $A(A^{-1}b) = (AA^{-1})\mathbf{b} = \mathbf{b}$이므로 $A^{-1}\mathbf{b}$는 비동차방정식의 해이다. 만약, $\mathbf{s}$가 비동차방정식의 해라고 하면 $A\mathbf{s} = \mathbf{b}$를 만족한다. 이제 양변에 $A^{-1}$을 곱하면 $\mathbf{s} = A^{-1}b$이므로 비동차방정식의 해 $\mathbf{x} = A^{-1}\mathbf{b}$로 유일하다.
2). ($\Leftarrow$) : 비동차방정식의 해 $s$가 유일하다고 하자. 그리고 $K_{H}$를 비동차방정식에 대응되는 동차방정식 $A\mathbf{x} = 0$의 해집합이라고 하자. 정리2에 의해 $\{\mathbf{s}\} = \{\mathbf{s}\} + K_{H}$이다. 즉, $K_{H} = \{0\}$이다. 따라서, $N(L_{A}) = \{0\}$이므로 $A$는 가역행렬이다.
정리4
선형연립 비동차방정식 $A\mathbf{x} = \mathbf{b}$가 주어졌다고 하자. 방정식의 해가 존재하는 것은 $\text{rank}(A) = \text{rank}(A | b)$인 것과 동치이다.
증명
정리4는 비동차방정식의 해의 존재성에 대해서 알려주고 있습니다. 계수행렬 $A$의 계수와 첨가행렬 $(A | b)$의 계수가 일치하면 해가 존재한다는 것을 쉽게 알 수 있죠. 정리4를 증명하기 위해서는 $\mathbf{b}$가 좌곱셈변환 $L_{A}$의 치역공간에 해당한다는 것을 이해하셔야합니다. 즉, $\mathbf{b} \in R(L_{A})$이죠. 이를 기반으로 증명해보도록 하죠.
선형대수학 - 행렬의 계수의 정리3에 의해 $R(L_{A}) = \text{span}(\{a_{1}, \dots, a_{n}\})$을 만족한다. 따라서, $A\mathbf{x} = \mathbf{b}$의 해가 존재한다는 것은 $\mathbf{b} \in \text{span}(\{a_{1}, \dots, a_{n}\})$인 것과 동치이다. 하지만 이는 $\text{span}(\{a_{1}, \dots, a_{n}\}) = \text{span}(\{a_{1}, \dots, a_{n}, \mathbf{b}\})$인 것과 동치이므로 $\text{rank}(A) = \text{rank}(A | b)$이다.
정리1~정리4까지 각 상황(동차/비동차방정식, 가역행렬)일 때 선형연립방정식의 해의 존재성에 대해서 설명하고 있습니다. 하지만, 여전히 구하는 방법에 대해서는 이야기하지 않았죠. 이에 대한 내용은 다음 포스팅에서 설명드리도록 하겠습니다.
참고문헌
Linear Algebra (Stephan. H)
'수학 > 선형대수학' 카테고리의 다른 글
선형대수학 - 행렬식 1 (1) | 2023.01.11 |
---|---|
선형대수학 - 연립선형방정식 2 (0) | 2023.01.03 |
선형대수학 - 역행렬 (0) | 2022.12.19 |
선형대수학 - 행렬의 계수 (0) | 2022.12.17 |
선형대수학 - 기본행렬연산과 기본행렬 (0) | 2022.12.13 |