연립일차방정식

by Ariel Daley

계수행렬, 미지수 벡터, 상수항 벡터

연립일차방정식(Linear System)은 여러 개의 일차방정식을 동시에 만족하는 해(미지수)를 구하는 문제이다. 예를 들어 다음과 같은 형태의 연립방정식을 생각해 보자.

\[ \begin{cases} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n = b_1,\\[6pt] a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n = b_2,\\[6pt] \quad\vdots\\[6pt] a_{m1}x_1 + a_{m2}x_2 + \cdots + a_{mn}x_n = b_m. \end{cases} \]

이 문제에서 무엇이 “주어진 데이터”이고, 무엇이 “구하고자 하는 대상”인지를 명확히 구조화하면, 연립방정식을 더욱 편리하게 다룰 수 있다. 일반적으로 모든 계수( \(a_{ij}\) )는 이미 알고 있으며, 이때 해석 대상이 되는 미지수는 \(x_1, x_2, \dots, x_n\)이다. 오른쪽 변(\(b_1,\) \(b_2,\) \(\dots,\) \(b_m\)) 역시 주어진 상수항으로 간주한다.

정의 1. (연립일차방정식)

연립일차방정식이란, 위와 같이 각 항이 모두 1차 형태(즉, \(x_1,\) \(x_2,\) \(\dots,\) \(x_n\)이 1차로 등장)로 구성된 방정식을 동시에 만족하는 해를 찾는 문제를 말한다. 이때 방정식의 계수들을 모은 행렬을 계수행렬(coefficient matrix)이라 하고, 미지수들을 모은 벡터를 미지수 벡터(unknown vector), 각 방정식의 오른쪽 변을 모은 벡터를 상수항 벡터(constant vector)라 한다.

이를 수학적으로 좀 더 간단히 표시하기 위해서 다음과 같은 행렬표현을 도입한다. 모든 계수 \(a_{ij}\)를 \(m\times n\) 행렬 \(A\)에 배열하고, 모든 미지수를 열벡터 \(\mathbf{x}\)에, 그리고 모든 상수항을 열벡터 \(\mathbf{b}\)에 모아서 쓰면, 연립방정식을 하나의 행렬방정식 \(A \mathbf{x} = \mathbf{b}\)로 간결하게 나타낼 수 있다.

연립일차방정식의 행렬표현

다음과 같은 \(m\)개의 일차방정식과 \(n\)개의 미지수를 갖는 연립일차방정식이 주어졌다고 하자.

\[\begin{gathered} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n = b_1,\\[6pt] a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n = b_2,\\[6pt] \vdots\\[6pt] a_{m1}x_1 + a_{m2}x_2 + \cdots + a_{mn}x_n = b_m. \end{gathered}\]

이때 계수행렬 \(A\), 미지수 벡터 \(\mathbf{x}\), 상수항 벡터 \(\mathbf{b}\)를 아래와 같이 정의한다.

\[ A = \begin{pmatrix} 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{pmatrix}, \quad \mathbf{x} = \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix}, \quad \mathbf{b} = \begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_m \end{pmatrix}. \]

그러면 연립일차방정식 전체를 다음 한 줄로 표현할 수 있다.

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

이 식을 풀어 \(\mathbf{x}\)를 구하는 것이 곧 연립일차방정식의 해를 구하는 문제이다.

이처럼 행렬표현을 사용하면, 여러 개의 방정식을 한꺼번에 취급하기가 수월하다. 각각의 방정식을 길게 써 내려가기보다, 행렬과 벡터를 주어진 규칙대로 곱하는 과정에서 방정식 전체가 자동으로 표현되기 때문이다. 나아가, 계수행렬과 상수항 벡터만 교체하면 여러 가지 다른 문제 설정을 동일한 틀에서 다룰 수 있다는 장점이 있다.

보기 1.

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

\[ \begin{cases} 2x_1 + 3x_2 = 7, \\ x_1 - 4x_2 = -5. \end{cases} \]

여기서 계수행렬 \(A\), 미지수 벡터 \(\mathbf{x}\), 상수항 벡터 \(\mathbf{b}\)를 정의하면

\[ A = \begin{pmatrix} 2 & 3\\ 1 & -4 \end{pmatrix}, \quad \mathbf{x} = \begin{pmatrix} x_1 \\ x_2 \end{pmatrix}, \quad \mathbf{b} = \begin{pmatrix} 7 \\ -5 \end{pmatrix}. \]

결과적으로 \(A\mathbf{x} = \mathbf{b}\) 라는 단순한 형태로 정리된다. 이를 통해 가우스 소거법이나 역행렬을 사용하여 해를 구할 수 있으며, 연립방정식의 구조도 한눈에 파악할 수 있다.

보기 2.

위 예제는 기하학적으로 해석했을 때, 2차원 평면 위에서 두 직선 \[ 2x_1 + 3x_2 = 7 \quad\text{및}\quad x_1 - 4x_2 = -5 \] 의 교점을 찾는 문제와 같다. 교점이 존재하면 하나의 해가, 겹치는 직선이라면 무수히 많은 해가, 전혀 만나지 않는다면 해가 없는 경우가 된다. 이처럼 연립일차방정식은 기하학적 도형(직선, 평면 등)의 교차 관계로도 이해할 수 있으나, 행렬표현을 통해서는 이를 더욱 체계적으로 분석하고 계산할 수 있다.

연립일차방정식을 행렬표현으로 보는 것은 많은 방정식을 동시에 효율적으로 다루기 위한 핵심적 아이디어이다. 이후에 살펴볼 가우스 소거법(Gaussian Elimination)은 계수행렬 \(A\)를 연산하여 해 \(\mathbf{x}\)의 존재 여부와 개수를 판별하고, 실제로 해를 구하는 방법을 제공한다. 더 나아가 해의 구조가 복잡해질 때도, 행렬연산을 잘 활용하면 문제를 단순화하고 그 결과를 체계적으로 해석할 수 있다.

해의 분류 (유일해, 무수히 많은 해, 해가 없는 경우)

연립일차방정식 \(A\mathbf{x} = \mathbf{b}\)에 대한 해가 존재하고, 그 해가 하나인지 여러 개인지, 혹은 전혀 존재하지 않는지를 알아내는 것은 매우 중요하다. 해의 존재 양상에 따라 연립방정식이 나타내는 기하학적·대수적 구조가 달라지기 때문이다. 다음 정리는 이와 같은 해의 분류를 일관성 있게 정리한다.

정리 1. (해의 분류)

연립일차방정식 \(A \mathbf{x} = \mathbf{b}\)에서, 계수행렬 \(A\)가 \(m \times n\) 행렬, \(\mathbf{b}\)가 \(m\)-차원 열벡터라고 하자. 이때 다음 세 가지 경우가 발생한다.

  • 유일해(Unique Solution): 방정식 \(A\mathbf{x} = \mathbf{b}\)를 만족하는 해 \(\mathbf{x}\)가 정확히 하나 존재한다.
  • 무수히 많은 해(Infinitely Many Solutions): 해가 하나 이상 존재하며, 서로 다른 해가 무한히 많다.
  • 해가 없는 경우(No Solution): \(\mathbf{x}\)를 어떤 값으로 잡아도 \(A\mathbf{x} = \mathbf{b}\)를 만족하지 않는다.

정리 후반부에서 볼 가우스 소거법, 그리고 행렬의 랭크(rank) 개념을 통해 위 상황을 판별할 수 있다.

이러한 분류는 기하학적으로 다음과 같이 해석할 수 있다.

  • 유일해: 주어진 일차방정식들이 표현하는 여러 개의 초평면이 정확히 한 점에서 교차한다.
  • 무수히 많은 해: 초평면들이 서로 겹치거나, 해 집합이 어떤 선이나 평면 등으로 이루어진다. 즉, 초평면들이 일치하거나 부분적으로만 달라 자유롭게 변화 가능한 변수가 남아 있는 경우이다.
  • 해가 없는 경우: 초평면들이 서로 만나지 않고 어긋나 있는 상황으로, 어떤 점도 공통으로 포함하지 않는다.

보기 3.

아래의 연립일차방정식을 간단히 살펴보자.

\[ \begin{cases} x + 2y = 4, \\ 2x + 4y = 8. \end{cases} \]

이를 계수행렬과 상수항 벡터로 나타내면

\[ A = \begin{pmatrix} 1 & 2\\ 2 & 4 \end{pmatrix}, \quad \mathbf{x} = \begin{pmatrix} x \\ y \end{pmatrix}, \quad \mathbf{b} = \begin{pmatrix} 4 \\ 8 \end{pmatrix}. \]

첫 번째 방정식과 두 번째 방정식이 사실상 배수 관계에 있음을 알 수 있다. 즉, 두 번째 방정식은 첫 번째의 2배이므로, 이 연립방정식은 본질적으로 한 직선에 대한 묘사만 제공한다.

결과적으로 이 계수행렬이 만드는 해 집합은 “하나의 직선 위의 모든 점”이 된다. 따라서 해가 무수히 많다.

보기 4.

반면에 아래 연립방정식을 살펴보자.

\[ \begin{cases} x + 2y = 4, \\ x + 2y = 5. \end{cases} \]

이 경우에는 계수행렬 \(\displaystyle A = \begin{pmatrix} 1 & 2 \\ 1 & 2 \end{pmatrix}\)에서 각 행이 동일하지만, 상수항 벡터가 \(\begin{pmatrix} 4 \\ 5 \end{pmatrix}\)로 달라, 두 방정식이 서로 모순된 관계를 갖는다(같은 형태의 왼쪽, 다른 오른쪽 값). 따라서 해를 만족하는 \((x,y)\)는 전혀 존재하지 않는다. 즉, 해가 없다.

기하학적으로 보면, “동일한 기울기와 절편이 서로 다른 두 직선”이므로, 이 두 직선은 평행하여 교점이 없다. 이러한 상황이 해가 없는 경우에 해당한다.

연립일차방정식의 해 존재 여부와 개수는 “지정된 초평면들이 교차하는 방식”으로 해석할 수 있다. 이후 다루게 될 가우스 소거법에서는 계수행렬 \(A\)와 상수항 벡터 \(\mathbf{b}\)를 연산하여, 정확히 어느 경우가 해당하는지를 효율적으로 판별할 수 있다. 또한 랭크(rank) 개념을 쓰면, 해가 존재하는지 여부(\(\mathrm{rank}(A) = \mathrm{rank}([A|\mathbf{b}])\))와 해의 개수(\(\mathrm{rank}(A)\)와 미지수의 수 \(n\)의 관계)를 더욱 일반적으로 설명할 수 있다.