연립일차방정식
연립일차방정식은 미지수가 n개인 일차방정식 m개의 모임이다. 연립방정식을 풀면, 모든 방정식이 성립하도록 n개의 미지수에 대입할 수 있는 값을 얻는다.
연립일차방정식의 정의
다음과 같은 간단한 연립방정식은 분명히 본 적이 있을 것이다.
여기서 a11,…,a22, b1, b2는 주어진 실수이고 x와 y는 미지수이다. 이 연립방정식의 해의 개수는 보통의 일차방정식처럼 여러 가지일 수 있다. 해가 없을 수도, 하나일 수도, 무수히 많을 수도 있다. 연립일차방정식에서는 해가 몇 개인지, 해를 어떻게 찾는지가 간단한 일차방정식보다 복잡하다.
연립일차방정식의 정의는 다음과 같다.
여기서 a11, …, amn, b1, …, bm은 실수이다. 이 연립방정식을 계수가 a11, …, amn이고 미지수가 x1, …, xn인, n개의 미지수에 대한 일차방정식 m개의 연립방정식이라고 한다. 연립일차방정식의 구체적인 예는 다음과 같다.
하지만 어떤 aij가 음수이면 보통 다음과 같이 쓴다.
그래도 a12 = −2이고 a24 = −10이라는 것은 변함없다.
행렬로 나타내기
이 연립방정식은 행렬로 나타낼 수 있다. 행렬을 세 개 정의하는데, 하나는 계수, 하나는 방정식의 우변, 하나는 미지수를 위한 것이다. 행렬은 다음과 같다.
행렬 A에는 원래 방정식의 계수가 들어 있고 이것을 ‘계수행렬’이라고 한다. 행렬 b에는 방정식의 우변이, 행렬 x에는 미지수가 들어 있다. 그러면 연립방정식 전체를 다음 방정식으로 쓸 수 있다.
이 방정식은 의미가 있다. 좌변에는 두 행렬의 곱이, 우변에는 행렬이 있고, 그 크기가 맞기 때문이다. 좌변을 곱해 보자. m × n 행렬에 n × 1 행렬을 곱하므로 결과는 m × 1 행렬, 즉 행이 m개이고 열이 하나인 행렬이다. 여기까지는 문제없다.
이제 보통의 행렬의 곱셈 알고리즘대로 행렬 A의 첫 번째 행과 행렬 x의 첫 번째 열(다른 열은 없다)부터 계산한다. 그러면 다음을 얻는다.
이 합으로 새 행렬의 첫 번째 성분, 즉 값 b1을 얻었다. 이것을 모두 방정식에 넣으면 다음과 같다.
연립방정식의 첫 번째 방정식이 그대로 나왔다. 다른 행도 같은 방법으로 계속하면 된다. 확대행렬도 정의하자. 확대행렬은 계수행렬에 행렬 b를 다음과 같이 덧붙인 행렬이다.
다음으로 관심을 둘 것은 이 확대행렬의 계수이다. 원래의 (확대하지 않은) 계수행렬의 계수를 rank(A)로, 확대행렬의 계수를 rank(A|b)로 나타내자. 이 두 계수는 어떤 관계일까? 행렬 A에 열 b를 덧붙이면 두 가지 경우가 생길 수 있다. 이 새 열이 행렬 A의 열들의 일차결합이면 계수는 바뀌지 않는다. 일차결합이 아니면 계수가 1만큼 커진다.
프로베니우스 정리
확대행렬의 계수가 중요한 것은 다음과 같은 중요한 정리, 프로베니우스 정리(루셰-카펠리 정리라고도 한다)가 성립하기 때문이다. 연립방정식 Ax = b가 해를 가질 필요충분조건은 계수행렬의 계수와 확대행렬의 계수가 같은 것, 즉 rank(A) = rank(A|b)이다.
이 정리가 적어도 한쪽 방향으로는 성립한다는 것을 보이자. 즉 x = β가 방정식 Ax = b의 해이면 rank(A) = rank(A|b)이다. 두 계수가 같으려면 열 b가 행렬 A의 열들의 일차결합이어야 한다. 풀어 써 보자. 행렬 β는 다음과 같다.
x1에 β1을 대입하고 나머지도 이렇게 대입하면 연립방정식의 모든 방정식이 성립한다고 하자.
이제 방정식을 조금 바꿔 쓴다. 첫 번째 열을 보면 언제나 값 a11, a21, …, am1이 있고 이것들에 같은 값 β1을 곱한다. 이 열을 따로 떼어 행렬로 만들면 값 β1을 행렬 앞으로 묶어 낼 수 있다. 그러면 다음을 얻는다.
이제 연립방정식 전체를 이렇게 바꿔 쓸 수 있다.
이 방정식이 성립하려면 우변의 행렬이 좌변의 열행렬들의 일차결합이어야 하고, 값 β1, …, βn이 그 계수여야 한다.
이것으로 행렬 β가 연립방정식의 해이려면 연립방정식의 우변인 행렬 b가 계수행렬의 열들의 일차결합이어야 한다는 것을 증명했다. 그리고 행렬 b의 열이 행렬 A의 열들의 일차결합이면 행렬 A의 계수는 행렬 (A|b)의 계수와 같아야 한다.
또 rank(A) = rank(A|b) = k이고 k가 미지수의 개수와 같으면, 즉 k = n이면 연립방정식의 해는 하나뿐이다. k < n이면 연립방정식의 해는 무수히 많고, 그 해를 나타내려면 매개변수가 n − k개 필요하다.
기본 행 연산
앞의 방정식에서 행렬 (A|b)에 기본 행 연산을 해도 연립방정식의 해는 바뀌지 않는다는 것도 알 수 있다. 두 번째 행에 첫 번째 행을 더하면 다음 방정식을 얻는다.
두 번째 행을 풀어 쓰면 다음과 같다.
괄호를 푼다.
이제 조금 순서를 바꾼다.
첫 번째 괄호에는 사실 첫 번째 행이, 두 번째 괄호에는 원래의 두 번째 행이 있다. 원래 방정식에서 첫 번째 행은 값 b1과 같고 두 번째 행은 값 b2와 같다는 것을 안다. 그래서 첫 번째 괄호 대신 b1을, 두 번째 괄호 대신 b2를 쓸 수 있다.
마찬가지로 한 행 전체에 상수 c ≠ 0을 곱해도 연립방정식은 그대로 성립한다. 하지만 열 연산은 할 수 없다는 점에 주의하자.
해가 하나인 연립방정식
해가 하나뿐인 연립방정식을 푸는 방법을 예로 보자. 다음 연립방정식이 있다.
행렬 A는 다음과 같다.
이제 이 행렬의 계수를 구한다.
rank(A) = 3이다. 여기서 rank(A|b) = 3이라는 것도 나온다. 3 × 4 행렬의 계수는 많아야 3이기 때문이다. 미지수가 세 개이므로 연립방정식의 해는 하나뿐이다. 그 해는 어떻게 찾을까?
가우스 소거법
가우스 소거법은 확대행렬을 사다리꼴로 바꾸는 방법이다. 행렬을 사다리꼴로 바꾸면 미지수 하나의 값을 알 수 있다. 미지수 하나의 값을 찾으면 그 값을 다른 방정식에 대입해 나갈 수 있다.
행렬 (A|b)는 다음과 같다.
이 행렬을 사다리꼴로 바꾼다. 앞 단계와 같은 변형을 하는데, 이번에는 네 번째 열에도 똑같이 한다.
기본 행 연산만 했으므로 이 행렬은 동치인 연립방정식, 즉 해집합이 같은 연립방정식을 나타낸다. 마지막 행렬의 계수를 써서 연립방정식을 행렬 표기에서 보통의 표기로 다시 쓴다.
이제 마지막 방정식에서 시작한다. 이 방정식은 78x3 = 312이다. x3의 값은 얼마여야 할까? 간단한 일차방정식이므로 다음과 같다.
첫 번째 미지수 x3의 값을 구했다. 이 값을 두 번째 방정식에 대입한다. 다음 방정식을 얻는다.
마지막으로 구한 두 값을 첫 번째 방정식에 대입한다.
미지수 x1의 값은 2이다. 이제 해를 모두 구했다. x = (x1, x2, x3) = (2, 5, 4)라고 쓸 수 있다. 보다시피 가우스 소거법은 연립일차방정식을 푸는 간단하면서도 효과적인 방법이다.
해가 무수히 많은 경우
rank(A) = rank(A|b) = k이고 k가 미지수의 개수보다 작으면, 즉 k < n이면 연립방정식의 해는 무수히 많다. 간단한 예를 보자.
두 번째 방정식은 첫 번째 방정식의 3배이다. 첫 번째 방정식에 −3을 곱해 두 번째 행에 더하면 다음을 얻는다.
이제 미지수의 개수는 2, 즉 n = 2이고, 계수행렬의 계수는 1, 즉 rank(A) = 1이며, 확대행렬의 계수도 1, 즉 rank(A|b) = 1이다. k < n이므로 이 연립방정식의 해는 무수히 많다. 그 해는 어떻게 찾을까?
방정식을 보자. 두 번째 방정식은 모든 x1, x2에 대해 성립하므로 첫 번째 방정식만 생각하면 된다. 사실 첫 번째 방정식을 만족하는 순서쌍 x1, x2 전체가 이 연립방정식의 해집합이다. 그래서 방정식 4x1 + x2 = 5의 해를 구한다. 방정식을 x2 = 5 − 4x1로 정리한다.
여기서 매개변수의 도움을 받는다. 매개변수 t를 잡는다. 이제 순서쌍 x1, x2를 매개변수 t로 나타내서, 예를 들어 (t, t + 2) 꼴의 순서쌍은 모두 연립방정식의 해라고 쓸 수 있게 하려는 것이다. 즉 (1, 3)이나 (14, 16) 같은 순서쌍이다. 목적은 한 미지수의 값을 다른 미지수로 나타내서, 예를 들어 x1의 값이 이러저러하면 x2의 값은 그 세 배라는 식으로 알 수 있게 하는 것이다. 출발점으로 x1을 고른다.
t = x1로 놓는다. 미지수 x1의 값이 t이면 미지수 x2의 값은 얼마일까? 앞의 방정식에서 알 수 있듯이 x2 = 5 − 4x1이다. 즉 x1 = t이면 x2 = 5 − 4t이다. 그러니 (t, 5 − 4t) 꼴의 순서쌍은 모두 연립방정식의 해라고 쓸 수 있다.
확인해 보자. t에 1을 대입하면 x1 = 1이고 x2 = 5 − 4 · 1 = 1이다. 이 값을 방정식에 대입하면 4 · 1 + 1 = 5로 방정식이 성립한다.
t에 5를 대입하면 x1 = 5, x2 = 5 − 4 · 5 = −15이다. 방정식에 대입하면 4 · 5 − 15 = 5이다. 성립한다.
일반해와 특수해
매개변수를 써서 나타낸 연립방정식의 해를 일반해라고 한다. 구체적인 해, 즉 매개변수에 구체적인 수를 대입한 해를 특수해라고 한다.
그러니 앞의 예에서 (x1, x2) = (t, 5 − 4t)는 연립방정식의 일반해이고, (1, 1)과 (5, −15)는 특수해이다.
계수행렬 A와 확대행렬 (A|b)의 계수가 같으면, 즉 rank(A) = rank(A|b) = k이면 일반해를 나타내는 데 매개변수가 n − k개 필요하다. n = k이면 매개변수가 0개 필요하다는 점에 주목하자. 이것이 연립방정식의 해가 하나뿐인 경우이다. 그때는 매개변수가 필요 없다.
예제
다음 연립일차방정식을 푸시오.
먼저 행렬 A와 (A|b)의 계수를 구한다. 확대행렬을 사다리꼴로 바꾸면 두 행렬의 계수를 모두 알 수 있다. 변형해 보자. (첫 번째 행에 2를 곱하고, 첫 번째 행과 두 번째 행을 더해 그 결과를 세 번째 행에서 뺀다. 다음으로 두 번째 행에서 첫 번째 행을 빼고, 마지막으로 첫 번째 행을 다시 2로 나눈다.)
이 마지막 행렬에서 rank(A) = rank(A|b) = k = 2임을 알 수 있다. 그런데 미지수의 개수는 n = 4이므로 매개변수가 n − k = 2개 필요하다. 마지막 행렬에 따라 방정식을 쓴다.
두 번째 방정식에서 다음을 얻는다.
첫 번째 매개변수를 t = x3으로 잡는다. 그러면 x1 = −6t라고 쓸 수 있다. 이것을 첫 번째 방정식에 대입한다.
두 번째 매개변수 s = x4를 들여온다. 그러면 다음과 같이 쓸 수 있다.
이렇게 연립방정식의 일반해를 얻는다.
특수해를 몇 개 확인해 보자. 예를 들어 s = t = 0이면
에 대입하면 다음 방정식을 얻는다.
0인 항을 없애고 분수를 곱하면 다음을 얻는다.
다른 특수해 s = 2, t = 1도 확인해 보자. 그러면 다음을 얻는다.
방정식에 대입한다.
정리한다.
마지막으로 다음을 얻는다.
구한 일반해가 맞는 것 같다.
목차: 연립일차방정식, 크라메르 공식, 동차 연립일차방정식