✖

연립일차방정식

연립일차방정식은 미지수가 n개인 일차방정식 m개의 모임이다. 연립방정식을 풀면, 모든 방정식이 성립하도록 n개의 미지수에 대입할 수 있는 값을 얻는다.

연립일차방정식의 정의

다음과 같은 간단한 연립방정식은 분명히 본 적이 있을 것이다.

a11x+a12y=b1a21x+a22y=b2

여기서 a11,…,a22, b1, b2는 주어진 실수이고 x와 y는 미지수이다. 이 연립방정식의 해의 개수는 보통의 일차방정식처럼 여러 가지일 수 있다. 해가 없을 수도, 하나일 수도, 무수히 많을 수도 있다. 연립일차방정식에서는 해가 몇 개인지, 해를 어떻게 찾는지가 간단한 일차방정식보다 복잡하다.

연립일차방정식의 정의는 다음과 같다.

a11x1+a12x2+…+a1nxn=b1a21x1+a22x2+…+a2nxn=b2⋮⋮⋮⋮⋮⋮⋮⋮⋮am1x1+am2x2+…+amnxn=bm

여기서 a11, …, amn, b1, …, bm은 실수이다. 이 연립방정식을 계수가 a11, …, amn이고 미지수가 x1, …, xn인, n개의 미지수에 대한 일차방정식 m개의 연립방정식이라고 한다. 연립일차방정식의 구체적인 예는 다음과 같다.

3x1+−2x2+4x3+5x4=15x1+4x2+2x3+−10x4=211x1+8x2+10x3+20x4=4

하지만 어떤 aij가 음수이면 보통 다음과 같이 쓴다.

3x1−2x2+4x3+5x4=15x1+4x2+2x3−10x4=211x1+8x2+10x3+20x4=4

그래도 a12 = −2이고 a24 = −10이라는 것은 변함없다.

행렬로 나타내기

이 연립방정식은 행렬로 나타낼 수 있다. 행렬을 세 개 정의하는데, 하나는 계수, 하나는 방정식의 우변, 하나는 미지수를 위한 것이다. 행렬은 다음과 같다.

A=(a11a12…a1na21a22…a2n⋮⋮⋱⋮am1am2…amn),b=(b1b2⋮bm),x=(x1x2⋮xn)

행렬 A에는 원래 방정식의 계수가 들어 있고 이것을 ‘계수행렬’이라고 한다. 행렬 b에는 방정식의 우변이, 행렬 x에는 미지수가 들어 있다. 그러면 연립방정식 전체를 다음 방정식으로 쓸 수 있다.

Ax=b

이 방정식은 의미가 있다. 좌변에는 두 행렬의 곱이, 우변에는 행렬이 있고, 그 크기가 맞기 때문이다. 좌변을 곱해 보자. m × n 행렬에 n × 1 행렬을 곱하므로 결과는 m × 1 행렬, 즉 행이 m개이고 열이 하나인 행렬이다. 여기까지는 문제없다.

이제 보통의 행렬의 곱셈 알고리즘대로 행렬 A의 첫 번째 행과 행렬 x의 첫 번째 열(다른 열은 없다)부터 계산한다. 그러면 다음을 얻는다.

a11x1+a12x2+…+a1nxn

이 합으로 새 행렬의 첫 번째 성분, 즉 값 b1을 얻었다. 이것을 모두 방정식에 넣으면 다음과 같다.

a11x1+a12x2+…+a1nxn=b1

연립방정식의 첫 번째 방정식이 그대로 나왔다. 다른 행도 같은 방법으로 계속하면 된다. 확대행렬도 정의하자. 확대행렬은 계수행렬에 행렬 b를 다음과 같이 덧붙인 행렬이다.

B=(A|b)=(a11a12…a1nb1a21a22…a2nb2⋮⋮⋱⋮⋮am1am2…amnbm)

다음으로 관심을 둘 것은 이 확대행렬의 계수이다. 원래의 (확대하지 않은) 계수행렬의 계수를 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의 열들의 일차결합이어야 한다. 풀어 써 보자. 행렬 β는 다음과 같다.

β=(β1β2⋮βn)

x1에 β1을 대입하고 나머지도 이렇게 대입하면 연립방정식의 모든 방정식이 성립한다고 하자.

a11β1+a12β2+…+a1nβn=b1a21β1+a22β2+…+a2nβn=b2⋮⋮⋮⋮⋮⋮⋮⋮⋮am1β1+am2β2+…+amnβn=bm

이제 방정식을 조금 바꿔 쓴다. 첫 번째 열을 보면 언제나 값 a11, a21, …, am1이 있고 이것들에 같은 값 β1을 곱한다. 이 열을 따로 떼어 행렬로 만들면 값 β1을 행렬 앞으로 묶어 낼 수 있다. 그러면 다음을 얻는다.

(a11β1a21β1⋮am1β1)=β1(a11a21⋮am1)

이제 연립방정식 전체를 이렇게 바꿔 쓸 수 있다.

β1(a11a21⋮am1)+β2(a12a22⋮am2)+…+βn(a1na2n⋮amn)=(b1b2⋮bm)

이 방정식이 성립하려면 우변의 행렬이 좌변의 열행렬들의 일차결합이어야 하고, 값 β1, …, βn이 그 계수여야 한다.

이것으로 행렬 β가 연립방정식의 해이려면 연립방정식의 우변인 행렬 b가 계수행렬의 열들의 일차결합이어야 한다는 것을 증명했다. 그리고 행렬 b의 열이 행렬 A의 열들의 일차결합이면 행렬 A의 계수는 행렬 (A|b)의 계수와 같아야 한다.

또 rank(A) = rank(A|b) = k이고 k가 미지수의 개수와 같으면, 즉 k = n이면 연립방정식의 해는 하나뿐이다. k < n이면 연립방정식의 해는 무수히 많고, 그 해를 나타내려면 매개변수가 n − k개 필요하다.

기본 행 연산

앞의 방정식에서 행렬 (A|b)에 기본 행 연산을 해도 연립방정식의 해는 바뀌지 않는다는 것도 알 수 있다. 두 번째 행에 첫 번째 행을 더하면 다음 방정식을 얻는다.

β1(a11a21+a11⋮am1)+β2(a12a22+a12⋮am2)+…+βn(a1na2n+a1n⋮amn)=(b1b2+b1⋮bm)

두 번째 행을 풀어 쓰면 다음과 같다.

β1(a21+a11)+β2(a22+a12)+…+βn(a2n+a1n)=b1+b2

괄호를 푼다.

β1a21+β1a11+β2a22+β2a12+…+βna2n+βna1n=b1+b2

이제 조금 순서를 바꾼다.

(β1a11+β2a12+…+βna1n)+(β1a21+β2a22+…+βna2n)=b1+b2

첫 번째 괄호에는 사실 첫 번째 행이, 두 번째 괄호에는 원래의 두 번째 행이 있다. 원래 방정식에서 첫 번째 행은 값 b1과 같고 두 번째 행은 값 b2와 같다는 것을 안다. 그래서 첫 번째 괄호 대신 b1을, 두 번째 괄호 대신 b2를 쓸 수 있다.

b1+b2=b1+b2.

마찬가지로 한 행 전체에 상수 c ≠ 0을 곱해도 연립방정식은 그대로 성립한다. 하지만 열 연산은 할 수 없다는 점에 주의하자.

해가 하나인 연립방정식

해가 하나뿐인 연립방정식을 푸는 방법을 예로 보자. 다음 연립방정식이 있다.

2x1+3x2+7x3=473x1+8x2+x3=503x2+3x3=27

행렬 A는 다음과 같다.

A=(237381033)

이제 이 행렬의 계수를 구한다.

(237381033)∼(69216162033)∼(692107−19033)∼(6921021−5702121)∼(6921021−570078)

rank(A) = 3이다. 여기서 rank(A|b) = 3이라는 것도 나온다. 3 × 4 행렬의 계수는 많아야 3이기 때문이다. 미지수가 세 개이므로 연립방정식의 해는 하나뿐이다. 그 해는 어떻게 찾을까?

가우스 소거법

가우스 소거법은 확대행렬을 사다리꼴로 바꾸는 방법이다. 행렬을 사다리꼴로 바꾸면 미지수 하나의 값을 알 수 있다. 미지수 하나의 값을 찾으면 그 값을 다른 방정식에 대입해 나갈 수 있다.

행렬 (A|b)는 다음과 같다.

(A|b)=(237473815003327)

이 행렬을 사다리꼴로 바꾼다. 앞 단계와 같은 변형을 하는데, 이번에는 네 번째 열에도 똑같이 한다.

(237473815003327)∼(6921141616210003327)∼(692114107−19−4103327)∼(6921141021−57−12302121189)∼(6921141021−57−1230078312)

기본 행 연산만 했으므로 이 행렬은 동치인 연립방정식, 즉 해집합이 같은 연립방정식을 나타낸다. 마지막 행렬의 계수를 써서 연립방정식을 행렬 표기에서 보통의 표기로 다시 쓴다.

6x1+9x2+21x3=14121x2−57x3=−12378x3=312

이제 마지막 방정식에서 시작한다. 이 방정식은 78x3 = 312이다. x3의 값은 얼마여야 할까? 간단한 일차방정식이므로 다음과 같다.

78x3=312x3=31278x3=4

첫 번째 미지수 x3의 값을 구했다. 이 값을 두 번째 방정식에 대입한다. 다음 방정식을 얻는다.

21x2−57x3=−12321x2−57⋅4=−12321x2=−123+22821x2=105x2=10521x2=5

마지막으로 구한 두 값을 첫 번째 방정식에 대입한다.

6x1+9x2+21x3=1416x1+9⋅5+21⋅4=1416x1+45+84=1416x1=12x1=2

미지수 x1의 값은 2이다. 이제 해를 모두 구했다. x = (x1, x2, x3) = (2, 5, 4)라고 쓸 수 있다. 보다시피 가우스 소거법은 연립일차방정식을 푸는 간단하면서도 효과적인 방법이다.

해가 무수히 많은 경우

rank(A) = rank(A|b) = k이고 k가 미지수의 개수보다 작으면, 즉 k < n이면 연립방정식의 해는 무수히 많다. 간단한 예를 보자.

4x1+x2=512x1+3x2=15

두 번째 방정식은 첫 번째 방정식의 3배이다. 첫 번째 방정식에 −3을 곱해 두 번째 행에 더하면 다음을 얻는다.

4x1+x2=50x1+0x2=0

이제 미지수의 개수는 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개 필요하다는 점에 주목하자. 이것이 연립방정식의 해가 하나뿐인 경우이다. 그때는 매개변수가 필요 없다.

예제

다음 연립일차방정식을 푸시오.

3x1−2x2+4x3+5x4=15x1−4x2+2x3+10x4=211x1−8x2+10x3+20x4=4

먼저 행렬 A와 (A|b)의 계수를 구한다. 확대행렬을 사다리꼴로 바꾸면 두 행렬의 계수를 모두 알 수 있다. 변형해 보자. (첫 번째 행에 2를 곱하고, 첫 번째 행과 두 번째 행을 더해 그 결과를 세 번째 행에서 뺀다. 다음으로 두 번째 행에서 첫 번째 행을 빼고, 마지막으로 첫 번째 행을 다시 2로 나눈다.)

(A|b)=(3−24515−4210211−810204)∼(6−481025−4210211−810204)∼(6−481025−4210200000)∼(6−48102−10−60000000)∼(3−2451−10−60000000)

이 마지막 행렬에서 rank(A) = rank(A|b) = k = 2임을 알 수 있다. 그런데 미지수의 개수는 n = 4이므로 매개변수가 n − k = 2개 필요하다. 마지막 행렬에 따라 방정식을 쓴다.

3x1−2x2+4x3+5x4=1−x1−6x3=0

두 번째 방정식에서 다음을 얻는다.

−x1−6x3=0−x1=6x3x1=−6x3

첫 번째 매개변수를 t = x3으로 잡는다. 그러면 x1 = −6t라고 쓸 수 있다. 이것을 첫 번째 방정식에 대입한다.

3(−6t)−2x2+4t+5x4=1−18t−2x2+4t+5x4=1−14t−2x2+5x4=1−2x2=1+14t−5x4x2=−12−7t+52x4

두 번째 매개변수 s = x4를 들여온다. 그러면 다음과 같이 쓸 수 있다.

x2=−12−7t+52s

이렇게 연립방정식의 일반해를 얻는다.

(x1,x2,x3,x4)=(−6t,−12−7t+52s,t,s)

특수해를 몇 개 확인해 보자. 예를 들어 s = t = 0이면 (x1,x2,x3,x4)=(0,−12,0,0)이다. 원래 방정식

3x1−2x2+4x3+5x4=15x1−4x2+2x3+10x4=211x1−8x2+10x3+20x4=4

에 대입하면 다음 방정식을 얻는다.

0−2⋅(−12)+0+0=10−4⋅(−12)+0+0=20−8⋅(−12)+0+0=4

0인 항을 없애고 분수를 곱하면 다음을 얻는다.

1=12=24=4

다른 특수해 s = 2, t = 1도 확인해 보자. 그러면 다음을 얻는다.

x1=−6x2=−12−7+5=−52x3=1x4=2

방정식에 대입한다.

−18−2(−52)+4+10=1−30−4(−52)+2+20=2−66−8(−52)+10+40=4

정리한다.

−4+5=1−8+10=2−16+20=4

마지막으로 다음을 얻는다.

1=12=24=4

구한 일반해가 맞는 것 같다.

목차: 연립일차방정식, 크라메르 공식, 동차 연립일차방정식