연립일차방정식의 해 집합의 구조

by Ariel Daley

연립일차방정식 해 집합의 표현

앞에서 살펴본 가우스 소거법과 가우스-조르단 소거법은 연립일차방정식 \(A\mathbf{x} = \mathbf{b}\)의 해를 구할 때, 단순히 해의 유무를 판별하는 것에 그치지 않고, 해가 여러 개 존재할 경우 그 구조까지 명확히 기술할 수 있도록 해 준다. 특히 무수히 많은 해가 존재하는 경우, 자유롭게 변하는 변수를 매개변수(parameter)로 설정하여 전체 해 집합을 간단한 형태로 나타낼 수 있다. 이는 해 집합을 기저특정 벡터(특수해)의 합으로 해석할 수 있음을 의미한다.

정의 1. (해 집합)

연립일차방정식 \[ A\mathbf{x} = \mathbf{b} \] 의 모든 해로 이루어진 집합을 해 집합(solution set)이라고 한다. 해 집합은 다음과 같은 특성을 지닌다.

  • 해가 유일하면, 이 해 집합은 단 하나의 원소(벡터)만을 포함한다.
  • 해가 존재하지 않으면, 해 집합은 공집합이다.
  • 해가 무수히 많으면, 해 집합은 벡터공간의 부분공간 혹은 그 평행이동 형태로 나타낼 수 있다.

해 집합 구조를 파악할 때 핵심 개념은 “자유변수(free variable)”와 “기저(basis)”이다. 무수히 많은 해가 존재하는 경우, 어떤 미지수를 고정하면 나머지 미지수들이 이를 기반으로 결정되는 방식으로 해를 표현할 수 있다. 여기서 자유롭게 정할 수 있는 변수를 자유변수라 하고, 그 변수를 이용해 전체 해 집합을 생성하는 벡터들을 기저로 삼을 수 있다.

정리 1. (동차연립방정식과 일반 해의 구조)

연립일차방정식 \(\displaystyle A\mathbf{x} = \mathbf{b}\)가 주어졌다고 하자. 이를 해석하기 위해 동일한 계수행렬을 가진 동차(homogeneous) 연립방정식 \(\displaystyle A\mathbf{x} = \mathbf{0}\) 를 함께 고려하자. 다음 두 가지 사실이 성립한다.

  • 동차연립방정식 \(\displaystyle A\mathbf{x} = \mathbf{0}\) 의 해 집합은 항상 벡터공간을 이룬다. 이를 동차해 집합이라 부른다.
  • 비동차연립방정식 \(\displaystyle A\mathbf{x} = \mathbf{b}\) 의 임의의 한 해를 \(\displaystyle \mathbf{x}_p\) 라고 할 때, 이 방정식의 모든 해는 \[ \mathbf{x} = \mathbf{x}_p + \mathbf{x}_h, \] 의 형태로 나타낼 수 있다. 여기서 \(\displaystyle \mathbf{x}_h\) 는 동차해 집합(\(\displaystyle A\mathbf{x} = \mathbf{0}\)의 모든 해 )에 속하는 임의의 벡터이다. 즉, 비동차해의 집합은 하나의 특수해 \(\mathbf{x}_p\)와 동차해 집합의 ‘평행이동’ 형태가 된다.

이 정리에 의해, 무수히 많은 해가 존재한다면 동차해 집합의 기저(즉, 독립인 생성 벡터들)와 특수해 하나만 구하면, 그 모든 해를 간결하게 표현할 수 있다.

구체적으로, 만약 \(\mathrm{rank}(A) = r < n\) 이고 해가 존재한다면(즉, \(\mathrm{rank}(A) = \mathrm{rank}([A|\mathbf{b}])\)), \(n - r\)개의 자유변수가 생긴다. 이 자유변수들에 적절한 매개변수(예: \(t_1, t_2, \dots\))를 부여하면, 그 값에 따라 해 \(\mathbf{x}\)가 결정되는 구조를 확인할 수 있다.

보기 1.

다음의 2×3 연립일차방정식을 살펴보자.

\[ \begin{cases} x_1 + 2x_2 + x_3 = 1, \\ 2x_1 + 5x_2 + 3x_3 = 3. \end{cases} \]

계수행렬 \(\displaystyle A = \begin{pmatrix} 1 & 2 & 1 \\ 2 & 5 & 3\end{pmatrix}\) 에 대해 가우스 소거법을 적용하면, \(\mathrm{rank}(A) = 2\) 임을 알 수 있다. 미지수는 \(3\)개이므로 자유변수는 \(3 - 2 = 1\)개가 된다. 이를 \(x_3 = t\) ( \(t\)는 임의의 실수 )라고 두고, \(x_1, x_2\)를 \(t\)에 대해 풀면,

\[ x_1 = 1 - 2x_2 - x_3, \quad \dots \] (간단한 대입 과정을 거쳐) \[ x_1 = \dots, \quad x_2 = \dots, \quad x_3 = t. \]

결과적으로 모든 해 \(\mathbf{x} = (x_1, x_2, x_3)^\top\)는 하나의 특수해(상수로 고정된 부분) + \(t\)에 의해 생성되는 벡터들의 일차결합 형태로 표현된다. 즉, 무수히 많은 해가 하나의 매개변수 \(t\)에 종속된 구조임을 확인할 수 있다.

보기 2.

위 예제를 일반화하면, 다음과 같은 모양을 얻는다.

  • 동차방정식 \(A\mathbf{x} = \mathbf{0}\)의 해 집합: 특정 벡터공간(랭크가 \(r\)이면 \(\dim(\text{해 집합}) = n - r\)).
  • 비동차방정식 \(A\mathbf{x} = \mathbf{b}\)의 해 집합: 하나의 특수해 \(\mathbf{x}_p\) + 동차해 집합 전체(즉, 부분공간의 평행이동).

행렬의 랭크가 \(\mathrm{rank}(A) < n\)이고, 적절한 \(\mathbf{b}\)가 해 공간에 속한다면, 자유변수(매개변수)가 존재하여 무수히 많은 해를 얻는다. 이를 간단히 표현하기 위해서는, 해 집합에 대한 기저(basis)를 구해 놓으면, 그 기저 벡터에 대한 일차결합으로 모든 해를 생성할 수 있다.

정리하면, 연립일차방정식의 해가 무수히 많을 때, 그 해 집합을 기저와 매개변수를 이용한 일반해(general solution) 형태로 요약할 수 있다. 이는 문제를 단순히 “해가 많다”고 끝내는 것이 아니라, “어떻게 많고, 어떤 구조로 분포되어 있는지”를 밝혀낸다는 점에서 선형대수학적 사고의 강력함을 보여 준다.

일차결합, 스팬, 일차독립과의 연관성

연립일차방정식의 해 집합을 분석하다 보면, 벡터의 일차결합(linear combination), 스팬(span), 일차독립(linear independence) 개념이 필수적으로 등장한다. 이 개념들은 “어떤 벡터들이 다른 벡터의 일차결합으로 표현될 수 있는지, 그렇지 않은지”를 판별하는 중요한 수단이며, 해 집합이 단순히 ‘여러 해가 존재한다’는 사실을 넘어서 “그 구조가 어떻게 형성되는가”를 설명한다.

정의 2. (일차결합, 스팬, 일차독립)

벡터공간 \(V\)의 원소(벡터) \(\mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_k\)에 대하여,

  • 일차결합(linear combination): 스칼라 \(c_1, c_2, \ldots, c_k\)에 대해 \[ c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2 + \cdots + c_k \mathbf{v}_k \] 의 형태로 얻어지는 벡터를 말한다.
  • 스팬(span): \(\{\mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_k\}\)가 생성하는 모든 일차결합들의 집합을 \(\mathrm{span}(\mathbf{v}_1, \ldots, \mathbf{v}_k)\) 이라 한다. 이 집합은 \(V\)의 부분공간(subspace)이 된다.
  • 일차독립(linear independence): \(\mathbf{v}_1, \ldots, \mathbf{v}_k\)가 오직 자명한 결합(모든 스칼라가 0)으로만 영벡터를 만들 수 있다면 “일차독립”이라 하고, 그렇지 않으면 “일차종속”이라고 한다.

연립일차방정식 \(A \mathbf{x} = \mathbf{b}\)를 해석할 때, 열벡터(column vector)의 관점에서 계수행렬 \(A\)를 바라보면, 다음과 같은 질문을 던질 수 있다. “상수항 벡터 \(\mathbf{b}\)가 \(A\)의 열공간(column space)에 들어 있는가?”, 즉, \(\mathbf{b}\)가 행렬 \(A\)의 열벡터들(각 열을 \(\mathbf{a}_1, \mathbf{a}_2, \dots, \mathbf{a}_n\)이라 하자)의 일차결합으로 표현될 수 있는가를 묻는 것이다. 이를 식으로 쓰면 다음과 같다.

\[ x_1 \mathbf{a}_1 + x_2 \mathbf{a}_2 + \cdots + x_n \mathbf{a}_n = \mathbf{b}. \]

바로 이것이 연립일차방정식 \(A\mathbf{x} = \mathbf{b}\)와 동일한 문제이고, \(\mathbf{b}\)가 \(\mathrm{span}(\mathbf{a}_1, \ldots, \mathbf{a}_n)\)에 속하는지를 판별하는 것이다. 그리고 해 \(\mathbf{x}\)는 이 일차결합에 사용된 스칼라(계수)들에 해당한다.

정리 2. (해 집합과 열벡터 스팬의 관계)

계수행렬 \(A\)의 열벡터를 \(\mathbf{a}_1, \mathbf{a}_2, \ldots, \mathbf{a}_n\)이라 하자. 그러면 연립일차방정식 \(A\mathbf{x} = \mathbf{b}\)에 해가 존재한다는 것은, \(\mathbf{b}\)가 \(\mathrm{span}(\mathbf{a}_1, \ldots, \mathbf{a}_n)\)에 속한다는 것과 동치이다. 즉,

\(A \mathbf{x} = \mathbf{b}\)의 해가 존재한다 \(\Longleftrightarrow\) \(\mathbf{b} \in \mathrm{span}(\mathbf{a}_1, \ldots, \mathbf{a}_n).\)

특히, \(\mathbf{b} = \mathbf{0}\)인 경우(동차방정식)에는 \(\mathbf{0}\)이 항상 \(\mathrm{span}(\mathbf{a}_1, \ldots, \mathbf{a}_n)\)에 속하므로 해가 반드시 존재하며, \(\mathbf{x} = \mathbf{0}\)도 한 가지 해가 된다. [이를 자명한 해(trivial solution)라고 부른다.]

또한, 열벡터들이 일차독립이면(즉, \(\mathbf{a}_1,\) \(\ldots,\) \(\mathbf{a}_n\)이 일차독립이면) 그 스팬은 \(n\)-차원의 부분공간을 이루게 되고, 만약 열벡터가 일차종속이라면 행렬 \(A\) 내에서 중복된 ‘정보’가 존재한다고 해석할 수 있다. 가령, 열벡터 중 하나가 다른 열벡터들의 일차결합으로 표현될 수 있다면, 미지수와 방정식의 관계에서 자유도가 늘어 무수히 많은 해가 될 가능성이 커진다.

보기 3.

계수행렬 \(\displaystyle A = \begin{pmatrix}1 & 3\\ 2 & 6\end{pmatrix}\) 를 가지는 다음 연립방정식을 보자.

\[ \begin{cases} x_1 + 3x_2 = b_1, \\ 2x_1 + 6x_2 = b_2. \end{cases} \]

여기서 열벡터는 \[\displaystyle \mathbf{a}_1 = \begin{pmatrix}1 \\ 2\end{pmatrix}, \,\, \displaystyle \mathbf{a}_2 = \begin{pmatrix}3 \\ 6\end{pmatrix}\] 이다. 분명히 \(\mathbf{a}_2 = 3 \mathbf{a}_1\)이므로, 열벡터들이 일차종속이다.

따라서 \(\mathrm{span}(\mathbf{a}_1, \mathbf{a}_2) = \mathrm{span}(\mathbf{a}_1)\)와 같고, 만약 \(\begin{pmatrix}b_1 \\ b_2\end{pmatrix}\) 가 이 스팬에 속한다면(즉, \(\begin{pmatrix}b_1 \\ b_2\end{pmatrix}\) 이 \(\begin{pmatrix}1 \\ 2\end{pmatrix}\) 의 배라면), 그 연립방정식은 무수히 많은 해를 갖는다. 그렇지 않다면 해가 없다.

이 예시는 일차독립과 해의 구조가 긴밀히 연결됨을 잘 보여 준다. 한 열벡터가 다른 열벡터의 배이면, 독립성이 깨지고, 따라서 해의 분류(무수히 많거나 없거나)도 그에 따라 달라진다.

결국, 일차독립·종속, 스팬, 일차결합이라는 선형대수의 기본 개념은 연립일차방정식을 이해하는 핵심 열쇠이다. 해 집합이 기하학적으로 어떠한 부분공간(혹은 평행이동된 부분공간)이 되는지, 각 미지수가 어떻게 서로 관련되어 있는지, 이 모든 것을 체계적으로 다루기 위해서 “벡터들의 일차결합과 독립성”을 정확히 파악해야 한다.

정리의 증명

정리 1의 증명

정리는 크게 두 부분으로 구성된다. 먼저 동차연립방정식의 해 집합이 벡터공간을 이룬다는 사실을 증명한 뒤, 비동차연립방정식의 임의의 해를 하나 골랐을 때, 다른 모든 해가 그것에 동차해 벡터를 더한 꼴로 표현된다는 사실을 보이면 된다.

(1) 동차연립방정식의 해 집합은 벡터공간이다.

동차연립방정식이란 다음과 같은 형태를 말한다.

\[ A \mathbf{x} = \mathbf{0}. \]

이 방정식을 만족하는 모든 해로 이루어진 집합을 \(\mathcal{S}_h\)라고 하자. 즉,

\[ \mathcal{S}_h = \{\mathbf{x} \mid A\mathbf{x} = \mathbf{0}\}. \]

다음 세 가지 성질을 확인하면, \(\mathcal{S}_h\)가 벡터공간임을 알 수 있다.

1) 영벡터(0)를 포함한다.
\(\mathbf{x}=\mathbf{0}\)를 대입하면 \(A\cdot\mathbf{0} = \mathbf{0}\)이므로, \(\mathbf{0} \in \mathcal{S}_h\). 이는 부분공간(subspace) 조건 중 하나를 만족한다.

2) 덧셈에 대해 닫혀 있다.
\(\mathbf{x}_1, \mathbf{x}_2 \in \mathcal{S}_h\)라고 하자. 즉, \(A\mathbf{x}_1 = \mathbf{0}\)이고 \(A\mathbf{x}_2 = \mathbf{0}\). 그렇다면

\[ A(\mathbf{x}_1 + \mathbf{x}_2) = A\mathbf{x}_1 + A\mathbf{x}_2 = \mathbf{0} + \mathbf{0} = \mathbf{0}. \]

따라서 \(\mathbf{x}_1 + \mathbf{x}_2 \in \mathcal{S}_h\)이며, \(\mathcal{S}_h\)는 벡터들의 덧셈 연산에 대해 닫혀 있다.

3) 스칼라배에 대해 닫혀 있다.
\(\mathbf{x} \in \mathcal{S}_h\)이고 임의의 상수(스칼라) \(c\)에 대하여,

\[ A(c\mathbf{x}) = c A\mathbf{x} = c \cdot \mathbf{0} = \mathbf{0}. \]

그러므로 \(c\mathbf{x} \in \mathcal{S}_h\)이다.

위 세 조건을 모두 만족하므로, \(\mathcal{S}_h\)는 벡터공간이 된다. 이를 “동차해 집합(homogeneous solution set)”이라고 부른다.

(2) 비동차연립방정식의 임의의 해 하나 + 동차해 집합 = 모든 해

이번에는 비동차연립방정식

\[ A\mathbf{x} = \mathbf{b} \]

을 생각하자. 이 방정식을 만족하는 어떠한 해 \(\mathbf{x}_p\)가 존재한다고 하자(즉, \(A\mathbf{x}_p = \mathbf{b}\)). 이제 임의의 해 \(\mathbf{x}\)에 대해, \(\mathbf{x} - \mathbf{x}_p\)가 동차방정식 \(\displaystyle A\mathbf{y} = \mathbf{0}\) 을 만족함을 보일 것이다.

\[ A(\mathbf{x} - \mathbf{x}_p) = A\mathbf{x} - A\mathbf{x}_p = \mathbf{b} - \mathbf{b} = \mathbf{0}. \]

즉, \(\mathbf{x} - \mathbf{x}_p\)는 동차방정식의 해다. 따라서 \(\mathbf{x} - \mathbf{x}_p \in \mathcal{S}_h\). 이를 다시 쓰면,

\[ \mathbf{x} = \mathbf{x}_p + (\mathbf{x} - \mathbf{x}_p), \]

여기서 \((\mathbf{x} - \mathbf{x}_p)\)는 동차해 집합에 속하는 임의의 벡터이다. 따라서 모든 해 \(\mathbf{x}\)는 “특수해 \(\mathbf{x}_p\)”에 동차해 \(\mathbf{x}_h\)를 더한 형태로 나타낼 수 있음을 알 수 있다.

반대로, \(\mathbf{x}_p\)가 한 해이고 \(\mathbf{x}_h\)가 동차해라면,

\[ A(\mathbf{x}_p + \mathbf{x}_h) = A\mathbf{x}_p + A\mathbf{x}_h = \mathbf{b} + \mathbf{0} = \mathbf{b}, \]

이므로, \(\mathbf{x}_p + \mathbf{x}_h\) 역시 비동차연립방정식의 해가 된다. 결국 비동차해의 집합은

\[ \{\mathbf{x}_p + \mathbf{x}_h \mid \mathbf{x}_h \in \mathcal{S}_h\} \]

로 완전히 기술할 수 있다. “특수해 + 동차해 집합의 평행이동”이라는 관점이 바로 이것을 의미한다.

다른 증명 아이디어

1) 행렬연산 관점: 가우스 소거법으로 비동차연립방정식을 단순화하면, 끝까지 소거 후에도 \(\mathbf{x}_p\)를 읽어낼 수 있다. 동차연립방정식을 별도로 동일한 행렬 연산으로 소거하면, 해 집합이 독립적인 자유변수들의 조합으로 표현됨을 확인할 수 있다. 결국 (1), (2) 과정이 자연스럽게 드러난다.

2) 추상벡터공간 관점: \(\mathbf{b}\neq\mathbf{0}\)라면 “\(\mathbf{b}\)가 \(\mathrm{Im}(A)\)에 속한다”는 조건을 사용하여 \(\mathbf{x}_p\)를 잡고, 해 공간을 여기에 대응시키는 식으로 논증할 수도 있다. 이 경우도 핵심은 “\(\mathbf{x}-\mathbf{x}_p\)가 동차방정식의 해”임을 보이는 점에 있다.

결론적으로, (1) 동차해 집합은 부분공간을 이루고, (2) 비동차해는 동차해의 평행이동 형태라는 사실이 모두 증명되었다. 따라서 무수히 많은 해가 존재하는 경우, 동차해 집합의 기저와 하나의 특수해 \(\mathbf{x}_p\)만 구하면 전체 해를 매우 간단하게 표현할 수 있다.

정리 2의 증명

정리는 “연립일차방정식 \(A\mathbf{x} = \mathbf{b}\)에 해가 존재한다”는 사실과 “\(\mathbf{b}\)가 계수행렬 \(A\)의 열벡터 스팬에 속한다”는 사실이 서로 동치임을 보이는 것이다. \(A\)가 \(m \times n\) 행렬이고, 그 열벡터를 \(\mathbf{a}_1, \mathbf{a}_2, \ldots, \mathbf{a}_n\)이라고 하자. 즉,

\[ A = \begin{pmatrix} \mid & \mid & & \mid \\ \mathbf{a}_1 & \mathbf{a}_2 & \cdots & \mathbf{a}_n \\ \mid & \mid & & \mid \end{pmatrix}. \]

(⇒ 방향) “\(A\mathbf{x} = \mathbf{b}\)에 해 \(\mathbf{x}\)가 존재한다면, \(\mathbf{b} \in \mathrm{span}(\mathbf{a}_1, \ldots, \mathbf{a}_n)\).”

연립방정식 \(A\mathbf{x} = \mathbf{b}\)의 해 \(\mathbf{x}\)가 존재한다고 가정하자. 그러면 \(\mathbf{x} = (x_1, x_2, \ldots, x_n)^\top\)가 계수항들을 만족시킨다는 의미이므로, 행렬곱을 구체적으로 쓰면

\[ A \mathbf{x} = x_1 \mathbf{a}_1 + x_2 \mathbf{a}_2 + \cdots + x_n \mathbf{a}_n = \mathbf{b}. \]

이는 곧 \(\mathbf{b}\)가 열벡터 \(\mathbf{a}_1, \ldots, \mathbf{a}_n\)의 일차결합임을 보여 준다. 즉, \(\mathbf{b}\)가 \(\mathrm{span}(\mathbf{a}_1, \ldots, \mathbf{a}_n)\)에 속한다.

(⇐ 방향) “\(\mathbf{b} \in \mathrm{span}(\mathbf{a}_1, \ldots, \mathbf{a}_n)\)이면, \(A\mathbf{x} = \mathbf{b}\)에 해가 존재한다.”

\(\mathbf{b} \in \mathrm{span}(\mathbf{a}_1, \ldots, \mathbf{a}_n)\)라는 말은, 어떤 스칼라 \(c_1, c_2, \ldots, c_n\)가 존재하여

\[ c_1 \mathbf{a}_1 + c_2 \mathbf{a}_2 + \cdots + c_n \mathbf{a}_n = \mathbf{b} \]

라는 사실을 의미한다. 이때 벡터 \(\mathbf{x} = (c_1, c_2, \ldots, c_n)^\top\)를 잡으면,

\[ A\mathbf{x} = A \begin{pmatrix} c_1 \\ c_2 \\ \vdots \\ c_n \end{pmatrix} = c_1 \mathbf{a}_1 + c_2 \mathbf{a}_2 + \cdots + c_n \mathbf{a}_n = \mathbf{b}. \]

따라서 \(\mathbf{x} = (c_1, c_2, \ldots, c_n)^\top\)가 실제 해가 되어, \(A\mathbf{x} = \mathbf{b}\)를 만족한다. 즉, 연립방정식에 해가 존재함을 알 수 있다.

두 방향을 모두 확인했으므로, “해가 존재”함과 “\(\mathbf{b}\)가 열벡터들의 스팬에 속한다”는 명제가 서로 동치임이 증명되었다.

특히 \(\mathbf{b} = \mathbf{0}\)인 경우(동차방정식)에는 언제나 \(\mathbf{0} \in \mathrm{span}(\mathbf{a}_1, \ldots, \mathbf{a}_n)\)이므로 해가 적어도 하나(자명한 해 \(\mathbf{0}\))는 반드시 존재한다. 이 사실은 동차방정식은 해를 갖지 못하는 일이 없음을 보여 주며, 경우에 따라 무수히 많은 해를 갖거나 유일해를 갖는 경우만 존재한다.