가우스 소거법 계산기: 연립일차방정식을 단계별로 푸는 방법
가우스 소거법 계산기는 첨가행렬을 기본 행 연산으로 행 사다리꼴로 변형한 뒤 후진 대입을 통해 각 변수를 구하는 방식으로 연립일차방정식을 풉니다. 숙제를 검토하든, 선형대수 증명을 확인하든, 미지수가 셋 이상인 공학 문제를 풀든, 계산기 뒤에 숨은 방법을 이해하면 계산 실수를 잡아내고 결과를 자신 있게 해석할 수 있습니다. 이 가이드에서는 행 연산 규칙, 2×2와 3×3 연립방정식을 다룬 두 가지 완전 예제 풀이, 피벗 전략, 흔한 실수, 연습 문제를 차례로 살펴보며 손으로 직접 풀거나 계산기 결과를 검증할 수 있도록 안내합니다.
목차
가우스 소거법이란 무엇인가?
가우스 소거법은 방정식들을 첨가행렬로 나타내고 기본 행 연산을 이용해 행 사다리꼴 — 각 행이 바로 위 행보다 선행 0을 더 많이 갖는 삼각형 형태 — 로 축약함으로써 연립일차방정식을 푸는 방법입니다. 행렬이 이 형태가 되면 마지막 방정식에는 변수가 하나만 남으므로 바로 풀 수 있고, 그 값을 위쪽 행들에 차례로 대입해 나가는데 이 과정을 후진 대입이라고 합니다. 이 방법은 카를 프리드리히 가우스(Carl Friedrich Gauss)의 이름을 따왔지만, 사실 그보다 거의 2,000년 앞선 중국 수학서 『구장산술(The Nine Chapters on the Mathematical Art)』에도 비슷한 형태가 등장합니다. 방정식이 두 개든 스무 개든 어떤 크기의 연립방정식에도 통하기 때문에, 대부분의 계산기와 컴퓨터 대수 시스템이 내부적으로 이 알고리즘을 — 흔히 LU 분해라는 변형 형태로 — 사용합니다. 숙제를 넘어서 보면, 같은 행 축약 기법이 구조공학의 하중 계산, 키르히호프 법칙을 이용한 회로 해석, 컴퓨터 그래픽스의 변환, 그리고 통계와 머신러닝에서 쓰이는 최소제곱 적합의 바탕이 됩니다.
행 사다리꼴이란 모든 선행 성분(한 행에서 처음 나오는 0이 아닌 수)이 바로 위 행의 선행 성분보다 엄밀히 오른쪽에 있고, 선행 성분 아래의 모든 성분이 0인 형태를 뜻합니다.
가우스 소거법 계산기는 어떻게 작동하는가?
가우스 소거법 계산기는 학생이 손으로 거쳐 갈 네 단계를 그대로 자동화하되, 계산 실수 없이 수행합니다. 이 점은 연립방정식에 분수가 섞이거나 변수가 셋 이상일 때 특히 중요해집니다. 계산기는 여러분의 방정식으로부터 첨가행렬을 만들고, 각 피벗 아래의 모든 성분을 0으로 만드는 행 연산을 적용하며, 피벗이 0일 때 행 교환이 필요한지 확인한 뒤, 삼각형 형태의 결과에서 후진 대입으로 해를 읽어냅니다. 좋은 계산기는 해가 없는 경우(0 = 5 같은 모순된 행이 나타남)나 해가 무수히 많은 경우(전부 0인 행이 나타남)도 표시해 주는데, 손으로 풀 때 도중에 멈추면 놓치기 쉬운 부분입니다. 또한 대부분의 계산기는 내부적으로 부분 피벗팅을 기본값으로 사용합니다 — 각 열에서 사용 가능한 가장 큰 성분을 항상 피벗으로 선택하는 방식으로, 사람이라면 더 작고 지저분한 피벗을 그냥 썼을 상황에서도 반올림 오차를 작게 유지해 줍니다.
1. 1단계: 첨가행렬 작성하기
모든 방정식에서 각 변수의 계수를 가져와 행렬에 배치하고, 상수는 세로선 오른쪽에 둡니다. x, y, z에 대한 3개의 방정식으로 이루어진 연립방정식은 3×4 첨가행렬이 됩니다.
2. 2단계: 전진 소거
왼쪽에서 오른쪽으로 열 단위로 진행하면서, 행 연산을 이용해 현재 피벗 아래의 모든 성분을 0으로 만듭니다. 이렇게 하면 상삼각 형태의 행 사다리꼴이 만들어집니다.
3. 3단계: 후진 대입
이제 변수가 하나만 남은 맨 아래 행부터 시작해 그 변수를 구하고, 그 값을 위 행에 대입해 다음 변수를 구하며, 모든 변수를 알아낼 때까지 이 과정을 반복합니다.
4. 4단계: 대입으로 검산하기
구한 값들을 원래 방정식에 모두 대입해 봅니다. 모든 방정식이 성립하면 해가 맞는 것입니다 — 이 한 번의 검산만으로 가우스 소거법 오류의 대부분을 잡아낼 수 있습니다.
가우스 소거법 계산기의 가치는 방법을 대체하는 데 있지 않습니다 — 손으로 한 행 연산이 같은 삼각행렬을 만들어냈는지 확인시켜 주어, 최종 답을 신뢰할 수 있게 해 주는 데 있습니다.
가우스 소거법을 손으로 어떻게 수행하는가?
가우스 소거법은 정확히 세 가지 기본 행 연산에 의존하며, 행렬에 가하는 모든 정당한 조작은 이 세 가지 동작으로 이루어집니다. 순서를 다르게 적용해도 방법 자체가 무너지지는 않지만, 한 행의 일부에만 잘못 적용하는 것은 가장 흔한 오류의 원인입니다. 연산은 세로선 오른쪽의 상수를 포함해 행 전체에 적용해야 하기 때문입니다. 유용한 사고 모델 하나: 각 행을 서로 떨어진 숫자들의 나열이 아니라 하나의 방정식으로 생각하세요. 그 방정식의 한쪽에 무언가를 하면 전체에 똑같이 해야 합니다. 행렬의 한 행이 아니라 원래의 x + y + z = 6 형태로 방정식을 다룰 때와 정확히 같은 방식입니다.
1. 연산 1: 두 행 교환하기 (Ri ↔ Rj)
두 방정식의 위치를 바꾸어도 연립방정식의 해는 달라지지 않습니다 — 같은 방정식들을 순서만 다르게 쓴 것이니까요. 이 연산은 피벗 성분이 0일 때 피벗팅을 위해 사용합니다.
2. 연산 2: 한 행에 0이 아닌 상수 곱하기 (kRi → Ri)
한 방정식의 모든 항에 같은 0이 아닌 수 k를 곱해도 그 식을 만족하는 x, y, z 값은 달라지지 않습니다. 행을 간단히 하거나 소거를 준비할 때 사용합니다.
3. 연산 3: 한 행의 배수를 다른 행에 더하기 (Ri + kRj → Ri)
이것이 가우스 소거법의 핵심 연산입니다: 목표 성분이 0이 되도록 배수를 골라, 한 행을 그 행 자신에 다른 행의 배수를 더한 것으로 바꿉니다. 피벗 아래의 모든 행에서 변수를 소거하는 방식이 바로 이것입니다.
요령: 연산 3에서 배수 k는 피벗의 계수에 k를 곱했을 때 소거하려는 성분이 상쇄되도록 고릅니다. 피벗이 2이고 그 아래의 6을 0으로 만들고 싶다면 k = −3을 쓰세요.
예제 풀이: 가우스 소거법으로 2×2 연립방정식 풀기
다음 연립방정식을 풀어 봅시다: 2x + 3y = 8, 4x − y = 2. 이 예제는 세 변수로 확장하기 전에 가장 단순한 경우 — 두 방정식, 두 미지수 — 에서 전체 과정을 보여 줍니다.
1. 1단계: 첨가행렬 작성하기
[ 2 3 | 8 ] [ 4 −1 | 2 ]
2. 2단계: 2행에서 x 소거하기
1행의 피벗은 2입니다. 2행의 4를 0으로 만들려면 R2 → R2 − 2R1을 사용합니다. 2행은 (4 − 2×2), (−1 − 2×3), (2 − 2×8) = (0, −7, −14)가 됩니다. 이제 행렬은 다음과 같습니다: [ 2 3 | 8 ] [ 0 −7 | −14 ]
3. 3단계: y 구하기
2행은 −7y = −14를 뜻하므로 y = −14 ÷ −7 = 2입니다.
4. 4단계: 후진 대입으로 x 구하기
1행은 2x + 3y = 8입니다. y = 2를 대입하면: 2x + 3(2) = 8 → 2x + 6 = 8 → 2x = 2 → x = 1.
5. 5단계: 해 검산하기
x = 1, y = 2를 원래의 두 방정식에 대입합니다. 식 1: 2(1) + 3(2) = 2 + 6 = 8 ✓. 식 2: 4(1) − 2 = 4 − 2 = 2 ✓. 해 (x, y) = (1, 2)가 확인됩니다.
해: x = 1, y = 2. 가우스 소거법 계산기라면 같은 값을 즉시 내놓겠지만, 손으로 풀어 보면 왜 그 답이 옳은지 정확히 알 수 있습니다.
예제 풀이: 가우스 소거법으로 3×3 연립방정식 풀기
다음 연립방정식을 풀어 봅시다: x + y + z = 6, 2x − y + z = 3, x + 2y − z = 2. 가우스 소거법의 진가가 드러나는 지점입니다 — 변수가 셋이 되면 대입법과 단순 소거법은 다루기 번거로워지지만, 행 연산 방법은 깔끔하게 확장됩니다.
1. 1단계: 첨가행렬 작성하기
[ 1 1 1 | 6 ] [ 2 −1 1 | 3 ] [ 1 2 −1 | 2 ]
2. 2단계: 2행과 3행에서 x 소거하기
피벗은 1행의 1입니다. R2 → R2 − 2R1을 하면 (2−2, −1−2, 1−2 | 3−12) = (0, −3, −1 | −9)가 됩니다. R3 → R3 − 1R1을 하면 (1−1, 2−1, −1−1 | 2−6) = (0, 1, −2 | −4)가 됩니다. 행렬: [ 1 1 1 | 6 ] [ 0 −3 −1 | −9 ] [ 0 1 −2 | −4 ]
3. 3단계: 3행에서 y 소거하기
이제 피벗은 2행의 −3입니다. R3 → R3 + (1/3)R2를 하면 (0, 1 + (1/3)(−3), −2 + (1/3)(−1) | −4 + (1/3)(−9)) = (0, 0, −7/3 | −7)이 됩니다. 행렬: [ 1 1 1 | 6 ] [ 0 −3 −1 | −9 ] [ 0 0 −7/3 | −7 ]
4. 4단계: z 구하기 (후진 대입 시작)
3행은 −(7/3)z = −7을 뜻하므로 z = −7 ÷ (−7/3) = −7 × (−3/7) = 3입니다.
5. 5단계: y 구하기
2행은 −3y − z = −9입니다. z = 3을 대입하면: −3y − 3 = −9 → −3y = −6 → y = 2.
6. 6단계: x 구하기
1행은 x + y + z = 6입니다. y = 2, z = 3을 대입하면: x + 2 + 3 = 6 → x = 1.
7. 7단계: 해 검산하기
x = 1, y = 2, z = 3. 식 1: 1+2+3 = 6 ✓. 식 2: 2(1)−2+3 = 2−2+3 = 3 ✓. 식 3: 1+2(2)−3 = 1+4−3 = 2 ✓. 세 방정식 모두 성립합니다.
해: (x, y, z) = (1, 2, 3). 패턴에 주목하세요: 각 소거 단계는 현재 피벗 아래의 행들만 건드리며, 바로 이 점이 연립방정식이 커져도 계산이 걷잡을 수 없이 불어나지 않게 해 줍니다.
부분 피벗팅은 왜 필요한가?
가우스 소거법은 0인 피벗으로 나누려는 순간 무너지고, 피벗이 0은 아니지만 아주 작은 수일 때는 — 엄밀히 틀린 것은 아니지만 — 신뢰하기 어려워집니다. 0에 가까운 값으로 나누면 반올림 오차가 증폭되기 때문입니다. 부분 피벗팅은 소거를 시작하기 전에 현재 행을 피벗 열에서 절댓값이 더 큰 아래쪽 행과 교환함으로써 두 문제를 모두 해결합니다. 정확한 분수로 푸는 숙제 문제에서는 피벗이 0인 경우만 행 교환을 강제하지만, 계산기가 소수로 작업할 때는 0.0001 정도의 피벗만으로도 반올림 오차가 커져 눈에 띄게 틀린 최종 답이 나올 수 있습니다. 소프트웨어가 처음 발견한 0이 아닌 성분이 아니라 항상 가장 큰 성분을 피벗으로 삼는 이유가 바로 이것입니다.
1. 1단계: 0이거나 작은 피벗 찾아내기
행렬의 1열에서, 피벗 행으로 쓰려던 행에 0이 있다고 해 봅시다. 예를 들어 0x + 2y − z = 3, x − y + 2z = 4, 3x + y − z = 8 같은 연립방정식입니다. 그 0으로는 나눌 수 없습니다.
2. 2단계: 0이 아닌(또는 더 큰) 성분을 가진 행과 교환하기
x 열에 3을 가진 3행 — 사용 가능한 값 중 절댓값이 가장 큽니다 — 과 1행을 교환합니다. 1행 ↔ 3행을 하면: 3x + y − z = 8, x − y + 2z = 4, 0x + 2y − z = 3. 이제 3을 피벗으로 삼아 소거를 정상적으로 진행할 수 있습니다.
3. 3단계: 평소대로 소거 이어가기
0이 아닌 피벗이 자리를 잡았으면 연산 3을 적용해 그 아래 열을 정리하고, 다음 열로 넘어가 피벗 확인을 반복합니다.
부분 피벗팅 규칙: 매 단계에서 현재 피벗 열의 절댓값이 가장 큰 행을 교환해 올립니다. 이는 제대로 된 모든 가우스 소거법 계산기와 수치 선형대수 라이브러리의 표준 관행입니다.
가우스 소거법에서 가장 흔한 실수는 무엇인가?
가우스 소거법의 오류 대부분은 방법 자체를 오해해서가 아니라 반복적으로 나타나는 몇 가지 실수에서 비롯됩니다. 무엇을 조심해야 하는지 알면 문제를 처음부터 다시 풀어야 하는 횟수를 줄일 수 있고, 계산기 결과를 신뢰하기 전에 이 목록을 한 번 짚어 볼 가치가 있습니다. 연립방정식을 계산기 입력란에 옮겨 적을 때도 똑같은 실수가 나타나기 때문입니다.
1. 연산을 행 전체에 적용하지 않는 실수
R2 → R2 − 2R1을 계산할 때, −2R1이라는 배수는 세로선 뒤의 상수를 포함해 1행의 모든 성분에 적용됩니다. 상수 열을 빠뜨리는 것이 가장 흔한 실수입니다.
2. 행을 뺄 때의 부호 실수
R2 − 2R1은 1행의 각 성분을 두 배 해서 빼라는 뜻입니다 — 피벗이 음수이거나 행 성분이 음수이면 마이너스 부호를 빠뜨리기 쉽습니다. 각 성분을 계산하기 전에 연산을 R2 + (−2)R1로 다시 써 두면 부호 실수를 줄일 수 있습니다.
3. 0인 피벗으로 나누고 행 교환을 하지 않는 실수
현재 피벗이 0이면 그 행으로는 해당 열을 소거할 수 없습니다 — 위의 피벗팅 예제처럼 0이 아닌 성분을 가진 행을 먼저 교환해 와야 합니다.
4. 행 사다리꼴과 기약 행 사다리꼴을 혼동하는 실수
행 사다리꼴은 각 피벗 아래가 0이기만 하면 됩니다. 반면 기약 행 사다리꼴(가우스-조르당 소거법에서 사용)은 각 피벗 위도 0이어야 하고 피벗이 1이어야 합니다. 표준 가우스 소거법은 행 사다리꼴에서 멈추고 대신 후진 대입으로 마무리합니다.
5. 분수를 너무 일찍 반올림하는 실수
−7/3 같은 피벗 분수를 소거 도중에 소수로 바꾸면 반올림 오차가 생기고, 이후 행들에서 누적됩니다. 최종 답이 나올 때까지 정확한 분수를 유지하거나, 계산기가 대신 분수로 계산하도록 맡기세요.
마지막 검산(해를 원래의 모든 방정식에 대입하기)이 맞아떨어지지 않는다면, 오류는 거의 언제나 앞선 행 연산에 있습니다 — 접근 방법 자체가 틀렸다고 단정하기 전에 각 행 연산을 다시 확인하세요.
가우스 소거법 vs. 다른 방법: 언제 사용해야 하는가?
대입법과 단순 소거법은 두 변수 연립방정식에서는 잘 작동하지만, 미지수가 셋 이상이 되면 여러 대입을 동시에 추적해야 하므로 실수하기 쉬워집니다. 행렬식을 이용하는 크라메르 공식은 2×2와 3×3 연립방정식에서는 우아하지만 확장성이 나쁩니다 — 큰 연립방정식의 행렬식 계산 비용은 가우스 소거법보다 훨씬 빠르게 늘어나며, 그래서 손으로든 소프트웨어로든 작은 연립방정식을 넘어서면 거의 쓰이지 않습니다.
1. 대입법을 쓸 때
방정식이 두 개이고 그중 하나가 이미 어떤 변수에 대해 풀려 있거나, 한 변수를 구하기가 아주 쉬운 경우입니다(예: x = y + 3).
2. 크라메르 공식을 쓸 때
2×2 또는 3×3 연립방정식이고 변수 하나의 값만 필요한 경우입니다. 크라메르 공식을 쓰면 나머지 변수를 구하지 않고도 한 변수만 계산할 수 있기 때문입니다. 예: 2x + 3y = 8과 4x − y = 2(위에서 푼 것과 같은 연립방정식)에서 계수 행렬식은 D = (2)(−1) − (3)(4) = −2 − 12 = −14입니다. x 열을 상수로 바꾸면 Dx = (8)(−1) − (3)(2) = −8 − 6 = −14이므로 x = Dx/D = −14/−14 = 1이며, 가우스 소거법의 답과 일치합니다. 3×3 연립방정식에서는 같은 행렬식 접근법에 3×3 행렬식이 하나가 아니라 세 개 필요하고, 각 3×3 행렬식마다 여섯 번의 곱셈이 들어갑니다. 이것이 변수가 셋을 넘어서면 이 방법이 실용적이지 않게 되는 이유입니다.
3. 가우스 소거법을 쓸 때
변수가 셋 이상이거나, 모든 변수의 값이 필요하거나, 예측 가능하게 확장되는 방법을 원하는 경우입니다 — 행렬 계산기와 공학 소프트웨어가 내부적으로 사용하는 방법이기도 하며, 흔히 LU 분해 형태로 쓰입니다.
4. 역행렬을 쓸 때
같은 연립방정식(같은 계수행렬)을 상수 벡터만 바꿔 가며 반복해서 풀어야 하는 경우입니다 — 역행렬을 한 번 계산해 두는 편이 매번 소거를 다시 하는 것보다 효율적입니다.
변수가 넷 이상인 연립방정식에서는 가우스 소거법이 사실상 유일하게 실용적인 손 계산 방법입니다 — 크라메르 공식 같은 행렬식 기반 접근법은 그 지점에 한참 못 미쳐 비현실적이 됩니다.
연습 문제: 가우스 소거법 실력 점검하기
위에서 배운 행 연산 방법으로 다음 세 연립방정식을 풀고 답을 확인해 보세요. 먼저 종이와 연필로 각 문제를 풀면서 적용한 모든 행 연산을 기록하고, 그다음에야 계산기와 비교하세요 — 최종 숫자만 확인하는 것이 아니라 이 순서대로 하는 것이 실력을 실제로 길러 줍니다. 세 번째 문제는 그 자체로 알아둘 만한 특수한 경우인데, 계산 방법뿐 아니라 행 사다리꼴 결과가 무엇을 의미하는지 이해했는지를 시험하기 때문입니다.
1. 문제 1 (2×2 연립방정식)
풀이하세요: 3x + 2y = 16, x − y = 2. 답: 첨가행렬 [3 2 | 16; 1 −1 | 2]. 편한 피벗을 위해 행을 교환하거나, 바로 소거해도 됩니다: R1 → R1 − 3R2를 하면 (3−3, 2+3 | 16−6) = (0, 5 | 10)이므로 y = 2입니다. x − y = 2에 대입하면 x = 4. 해: (x, y) = (4, 2). 검산: 3(4)+2(2) = 12+4 = 16 ✓, 4−2 = 2 ✓.
2. 문제 2 (3×3 연립방정식)
풀이하세요: x + y + z = 4, 2x − y + z = 8, x + 2y − z = −3. 답: (x, y, z) = (2, −1, 3). 검산: 2−1+3 = 4 ✓, 2(2)−(−1)+3 = 4+1+3 = 8 ✓, 2+2(−1)−3 = 2−2−3 = −3 ✓.
3. 문제 3 (특수한 경우 — 해가 무수히 많음)
풀이하세요: x + y = 2, 2x + 2y = 4. 답: R2 → R2 − 2R1을 하면 (2−2, 2−2 | 4−4) = (0, 0 | 0) — 행 전체가 0이 됩니다. 이는 두 번째 방정식이 첫 번째 방정식을 두 배 한 것에 불과하다는 뜻이므로, 하나의 (x, y) 쌍이 아니라 직선 x + y = 2 위에 해가 무수히 많이 존재합니다. 만약 R2가 (0, 0 | 3)으로 축약되었다면, 그것은 해가 전혀 없는 모순된 연립방정식이라는 신호입니다. 이 두 결과를 알아보는 것은 깔끔한 수치 답을 구하는 것만큼 중요하며, 숙제나 시험 문제를 Solvify의 단계별 풀이 도구로 확인할 때 가우스 소거법 계산기가 자동으로 알려 주는 것이 바로 이 부분입니다.
왼쪽이 전부 0인데 오른쪽 상수가 0이 아니면(0 = k, k ≠ 0) 해가 없습니다. 양쪽 모두 0인 행(0 = 0)은 해가 무수히 많다는 뜻입니다.
관련 게시물
관련 수학 풀이
스마트 스캔 풀이
연립방정식이나 행렬 문제를 사진으로 찍으면 가우스 소거법 단계별 풀이를 즉시 받아 보세요.
단계별 풀이
첨가행렬부터 후진 대입, 마지막 검산까지 모든 행 연산을 빠짐없이 보여 드립니다.
AI 수학 튜터
피벗팅, 행 사다리꼴, 또는 왜 해가 없는지에 대해 이어서 질문하면 여러분의 문제에 딱 맞는 답을 받을 수 있습니다.
