본문으로 바로가기

확대행렬 완전 정복: 연립방정식 푸는 법

확대행렬의 개념, 연립방정식의 표현 방법, 그리고 행 연산으로 푸는 절차를 알아봅니다.
업데이트됨 2026년 9월 10일  · 5분 읽다

AI로 탐색하기

ChatGPTClaudePerplexity

대입법이나 소거법으로 연립 1차 방정식을 풀면 항을 다시 쓰고 부호를 꼼꼼히 따져야 합니다. 방정식이나 변수의 수가 늘어날수록 작업은 점점 번거로워집니다. 

확대행렬은 모든 계수와 상수를 하나의 객체로 합쳐 간결하게 표현하는 방법을 제공합니다. 이 형태를 사용하면 원래의 방정식을 다시 쓰지 않고도 소수의 행 연산만으로 체계를 단순화할 수 있습니다. 

아래에서는 확대행렬의 정의, 구성 방법, 그리고 이를 이용해 연립방정식을 푸는 표준 절차를 설명합니다.

확대행렬이란?

확대행렬은 왼쪽에는 변수의 계수, 오른쪽에는 상수항을 두고, 시각적으로 구분하기 위해 세로 막대로 나누어 표현한 행렬입니다. 이 막대는 단지 구분선일 뿐 계산에는 영향을 주지 않습니다.

연립방정식의 확대행렬 형태

확대행렬을 만들 때는 모든 방정식에서 동일한 순서로 변수의 계수를 나열하고, 마지막에 상수항을 추가 열로 붙입니다. 행렬의 각 행은 원래 체계의 한 방정식과 정확히 대응해야 합니다.

다음 연립방정식을 살펴봅시다:

$   2x + y = 5   $
$   x - y = 1   $

이에 대응하는 확대행렬은 다음과 같습니다:

$   \left[ \begin{array}{cc|c} 2 & 1 & 5 \\ 1 & -1 & 1 \end{array} \right]   $

보시다시피 첫 번째 행이 첫 번째 방정식을, 두 번째 행이 두 번째 방정식을 담고 있습니다.

확대행렬이 유용한 이유

확대행렬은 체계를 기술하는 데 필요한 모든 숫자를 한곳에 모읍니다. 이후 작업은 이 하나의 객체에 행 연산을 직접 적용하는 데 의존합니다. 그 결과 방정식을 반복해서 다시 쓰거나 계수 목록과 상수 목록을 따로 관리할 필요가 없습니다. 이 방법은 더 큰 체계로도 깔끔하게 확장되며, 옮겨 적는 과정에서 생길 수 있는 오류를 줄여 줍니다.

확대행렬의 행 연산

허용되는 기본 행 연산은 세 가지입니다. 각 연산은 해집합을 바꾸지 않는 대수적 조작에 해당합니다. 다음과 같습니다:

  1. 임의의 두 행을 맞바꾸기(행 교환).
  2. 하나의 행의 모든 원소에 동일한 0이 아닌 상수를 곱하기.
  3. 한 행의 상수배를 다른 행에 더하기(또는 빼기).

이 연산들은 해집합을 보존하므로, 변환된 행렬은 동치인 체계를 나타냅니다. 같은 연산을 열에 적용할 수도 있다는 점도 중요합니다.

확대행렬로 연립방정식 풀기

해법 절차는 세 단계입니다:

  1. 체계를 확대행렬로 적습니다.
  2. 행 연산을 적용해 더 단순한 형태로 만듭니다.
  3. 단순화된 행렬에서 해를 읽어냅니다.

목표 형태는 행 사다리꼴(row echelon form)이라 하며, 각 0이 아닌 행의 선도 원소(피벗)가 1이고, 각 피벗 아래의 원소가 모두 0이며, 행을 내려갈수록 피벗이 오른쪽으로 이동하는 형태를 뜻합니다. 행 사다리꼴이 되면 뒤로 대입해 변수의 값을 구할 수 있습니다. 

확대행렬로 하는 가우스 소거법

가우스 소거법은 왼쪽에서 오른쪽으로 진행하면서 각 피벗 아래를 체계적으로 0으로 만드는 방식입니다. 목표는 상삼각 행렬입니다.

피벗이 될 수 있는 가장 왼쪽 열부터 시작합니다. 필요하면 피벗 행을 스케일링해 피벗을 1로 맞춘 뒤, 그 행의 적절한 배수를 아래 행들에 더해 해당 열의 원소들을 0으로 만듭니다.

다음 열로 이동해 같은 과정을 반복합니다. 이렇게 얻은 삼각 행렬은 맨 아래 행부터 뒤로 대입해 풉니다.

막연하게 느껴져도 괜찮습니다. 아래 예시를 보면 훨씬 이해가 쉬워질 것입니다.

기약 행 사다리꼴(RREF)

기약 행 사다리꼴은 행 사다리꼴을 한 단계 더 발전시킨 형태입니다.

행 사다리꼴의 조건에 더해, 각 피벗 위의 원소도 모두 0이어야 하며, 각 피벗은 1이어야 합니다. 해가 유일한 체계의 경우 행렬의 왼쪽 부분은 항등행렬이 됩니다. 그러면 오른쪽 상수열이 변수의 값을 곧바로 나타내므로, 이 단계에서는 뒤로 대입이 필요 없습니다.

확대행렬로 푸는 예시

다음 체계를 생각해 봅시다:

$   2x + y = 5   $
$   x - y = 1   $

확대행렬을 만듭니다:

$   \left[ \begin{array}{cc|c} 2 & 1 & 5 \\ 1 & -1 & 1 \end{array} \right]   $

1행을 2로 나눕니다:

$   \left[ \begin{array}{cc|c} 1 & \frac{1}{2} & \frac{5}{2} \\ 1 & -1 & 1 \end{array} \right]   $

2행에서 1행을 뺍니다:

$   \left[ \begin{array}{cc|c} 1 & \frac{1}{2} & \frac{5}{2} \\ 0 & -\frac{3}{2} & -\frac{3}{2} \end{array} \right]   $

2행에 -2/3을 곱합니다:

$   \left[ \begin{array}{cc|c} 1 & \frac{1}{2} & \frac{5}{2} \\ 0 & 1 & 1 \end{array} \right]   $

1행에서 2행의 1/2배를 뺍니다:

$   \left[ \begin{array}{cc|c} 1 & 0 & 2 \\ 0 & 1 & 1 \end{array} \right]   $

이제 행렬은 기약 행 사다리꼴입니다. 해는 x=2, y=1입니다.

확대행렬 vs. 계수행렬

계수행렬은 변수의 계수만 담습니다. 위 체계에 대해 다음과 같습니다:

$   \begin{bmatrix} 2 & 1 \\ 1 & -1 \end{bmatrix}.   $

확대행렬은 여기에 상수항 열을 덧붙여, 해 구하는 과정에서 사용하는 완전한 표현을 제공합니다.

확대행렬과 선형 체계

확대행렬의 각 행은 하나의 방정식에 대응하므로, 행렬은 체계 전체를 인코딩합니다. 행 축소를 거치면 다음 세 가지 중 하나의 결과가 가능합니다:

  • 비영(0이 아닌) 피벗의 개수가 변수의 개수와 같으면 해가 유일합니다.
  • [0 0 … 0 | c] 형태의 행이 나타나고 c가 0이 아니면, 모순이므로 해가 없습니다.
  • 모순 행 없이 피벗 수가 변수 수보다 적으면 해가 무수히 많습니다.

맺음말

확대행렬은 선형 체계의 해법을 하나의 배열에 적용하는 일련의 명확한 행 연산으로 전환해 줍니다. 

사용 가능한 도구는 해집합을 보존하면서 행렬을 단순화하는 세 가지 기본 행 연산입니다. 이 기법에 익숙해지면 가우스 소거법과 기약 행 사다리꼴을 능숙하게 다룰 수 있습니다. 이 개념들은 데이터 사이언스, 최적화, 수치해석, 영상 처리 등 거의 모든 곳에 등장하는 선형대수의 기초입니다.

확대행렬 FAQ

계수행렬과 확대행렬의 차이는 무엇인가요?

계수행렬은 변수의 계수만을 포함합니다. 확대행렬은 여기에 원래 방정식의 상수항을 마지막 열로 추가합니다.

행 연산을 하면 체계의 해가 바뀌나요?

아니요. 세 가지 기본 행 연산(행 교환, 0이 아닌 상수배로 행 스케일링, 한 행의 상수배를 다른 행에 더하기)은 정확히 같은 해를 갖는 동치 체계를 만듭니다.

확대행렬로 해가 없거나 무수히 많다는 것을 어떻게 알 수 있나요?

행 축소 후 [0 0 … 0 | c] 형태의 행이 나타나고 c ≠ 0이면 체계는 모순이며 해가 없습니다. 모순 행이 없고 피벗 수가 변수 수보다 적으면 해가 무수히 많습니다.

행 사다리꼴과 기약 행 사다리꼴의 차이는 무엇인가요?

행 사다리꼴은 선도 1의 아래쪽이 0입니다. 기약 행 사다리꼴은 여기에 각 피벗 위도 모두 0이어, 해가 유일한 경우 왼쪽이 항등행렬이 됩니다. 따라서 해를 바로 읽을 수 있습니다.

확대행렬 방법은 작은 체계에만 적합한가요?

아니요. 이 방법은 방정식과 변수의 개수에 상관없이 작동하며, 선형대수와 데이터 사이언스에서 큰 규모의 선형 체계를 푸는 컴퓨터 알고리즘의 토대입니다.

주제
데이터 사이언스