가우스-조던 소거법으로 역행렬 구하는 법
역행렬은 행렬의 나눗셈에 해당하는 개념이에요. 이 글에서는 가우스-조던 소거법으로 역행렬을 구하는 과정을 2×2와 3×3 예제로 하나씩 따라가 봐요.
역행렬이란?
정사각행렬 A에 대해 AB = BA = I 를 만족하는 행렬 B가 있으면, B를 A의 역행렬이라고 하고 A⁻¹로 써요. I는 대각 성분이 1이고 나머지가 0인 단위행렬이에요.
역행렬은 모든 행렬에 있지 않아요. 정사각행렬이면서 행렬식이 0이 아닐 때만 존재해요. 역행렬이 있는 행렬을 가역행렬이라고 불러요.
가우스-조던 소거법 한눈에 보기
A의 오른쪽에 단위행렬 I를 붙여 [A | I]를 만들어요. 여기에 행 연산을 반복해서 왼쪽을 I로 바꾸면, 오른쪽에 A⁻¹이 나타나요.
쓸 수 있는 행 연산은 세 가지예요.
- 두 행 바꾸기: R₁ ↔ R₂
- 한 행에 0이 아닌 수 곱하기: R₁ ← 2R₁
- 한 행에 다른 행의 상수배 더하기: R₂ ← R₂ − 5R₁
이 방법이 되는 이유는 이래요. 행 연산 하나는 왼쪽에서 어떤 가역행렬을 곱하는 것과 같아요. A를 I로 바꾸는 연산들을 모두 곱한 것이 A⁻¹이고, 같은 연산을 I에 적용하면 그 곱이 그대로 쌓여서 A⁻¹이 돼요.
예제 1: 2×2 행렬
아래 행렬의 역행렬을 구해 봐요.
- 1A의 오른쪽에 단위행렬 I를 붙여 [A | I]를 만들어요.21105301
- 2피벗을 1로 만들기 위해 1행 전체를 피벗 값으로 나눠요.
R₁ ← (1/2)R₁1121205301 - 31열에서 피벗을 제외한 나머지 성분을 0으로 만들어요.
R₂ ← R₂ − 5R₁112120012−521 - 4피벗을 1로 만들기 위해 2행 전체를 피벗 값으로 나눠요.
R₂ ← 2R₂11212001−52 - 52열에서 피벗을 제외한 나머지 성분을 0으로 만들어요.
R₁ ← R₁ − (1/2)R₂103−101−52
왼쪽이 단위행렬이 되었으니 오른쪽이 역행렬이에요.
2×2 행렬은 공식으로도 구할 수 있어요. A = [[a, b], [c, d]]이면 A⁻¹ = 1/(ad − bc) · [[d, −b], [−c, a]]예요. 여기서는 ad − bc = 2·3 − 1·5 = 1이라서 [[3, −1], [−5, 2]]가 되고, 소거법 결과와 같아요.
검산하기
AA⁻¹를 계산해서 단위행렬이 나오면 맞게 구한 거예요.
예제 2: 3×3 행렬
이번에는 3×3 행렬이에요. 방법은 똑같고 피벗이 하나 더 늘어날 뿐이에요.
- 1[B | I]를 만들어요.123100014010560001
- 21열에서 피벗을 제외한 나머지 성분을 0으로 만들어요.
R₃ ← R₃ − 5R₁1231000140100−4−15−501 - 32열에서 피벗을 제외한 나머지 성분을 0으로 만들어요.
R₁ ← R₁ − 2R₂R₃ ← R₃ + 4R₂10−51−20014010001−541 - 43열에서 피벗을 제외한 나머지 성분을 0으로 만들어요.
R₁ ← R₁ + 5R₃R₂ ← R₂ − 4R₃100−2418501020−15−4001−541
왼쪽이 I가 되었어요. 그래서 B⁻¹은 아래와 같아요. 이 행렬은 행렬식이 1이라서 역행렬의 성분이 모두 정수로 나왔어요.
역행렬이 없는 경우
소거하는 도중 왼쪽에 성분이 전부 0인 행이 생기면 단위행렬을 만들 수 없어요. 이때는 역행렬이 없다고 결론내려요.
- 1[C | I]를 만들어요.12102401
- 21열에서 피벗을 제외한 나머지 성분을 0으로 만들어요.
R₂ ← R₂ − 2R₁121000−21
왼쪽의 2행이 모두 0이 되었어요. 그래서 C는 역행렬이 없고, 실제로 det(C) = 1·4 − 2·2 = 0이에요. 두 번째 행이 첫 번째 행의 2배라서 생기는 일이에요.
자주 하는 실수
- 왼쪽에만 연산을 하고 오른쪽 I에는 같은 연산을 빼먹어요. 행 전체에 적용해야 해요.
- 피벗 자리가 0인데 그냥 넘어가요. 아래 행 중에 0이 아닌 행이 있으면 행을 바꿔서 올려요.
- 분수 계산에서 부호를 틀려요. 마지막에 AA⁻¹ = I인지 꼭 검산해요.
- 행렬식이 0인데 끝까지 소거하려고 해요. 먼저 행렬식을 계산해 보면 시간을 아낄 수 있어요.
자주 묻는 질문
역행렬이 있는지 미리 알 수 있나요?
행렬식이 0이 아니면 역행렬이 있어요. 3×3 행렬식은 여인수 전개 가이드를 참고하세요.
4×4 이상은 어떻게 하나요?
같은 방법으로 풀어요. 다만 손으로 하면 계산이 길어져서 실수하기 쉬우니, 계산기로 결과를 검산하는 걸 추천해요.
2×2에서도 소거법을 써야 하나요?
2×2는 공식이 더 빨라요. 3×3 이상부터는 소거법이 보통 더 정리하기 쉬워요.