에 대하여 Ax=b으로 쓸 수 있다. 만일 m=n이고, 행렬 A의 역행렬이 존재한다면 이 연립방정식의 해는 다음의 식
x=A−1b
을 통해 유일하게 결정된다. 만일 m=n이거나 혹은 A의 역행렬이 존재하지 않으면 위의 일차연립방정식의 해는 존재하지 않을 수도 있고, 무한히 많을 수도 있다. 우리는 이 경우에도 유용하게 사용할 수 있는 가우스 소거법을 살펴본다.
식 (1)의 계수들 중 aji=0이 모든 j에 대해 성립하도록 하는 1≤i≤n이 존재한다 가정하자. 이 경우, 만일
x1=c1,x2=c2,…,xi=ci,…,xn=cn
이 식 (1)의 하나의 해라면 xi의 값을 임의의 di로 바꾼 다음의 순서쌍
x1=c1,x2=c2,…,xi=di,…,xn=cn
또한 식 (1)의 해가 된다. 따라서 만일 aij들이 모두 0이라면, b가 영벡터일 경우 식 (1)은 임의의 Kn의 순서쌍을 모두 해로 가지며, 그렇지 않을 경우 해가 존재하지 않는다. 이와 같은 자명한 경우를 피하기 위해, 적어도 하나의 aij는 0이 아니라 가정한다.
이제 정수 k를 ajk=0이도록 하는 1≤j≤m이 존재하는 정수들 중 가장 작은 것으로 정의하고, 이렇게 고정된 k에 대하여 ajk=0를 만족하는 가장 작은 정수 j를 택하자. 이제 j번째 식
이 된다. 위의 식에서 x1,…,xk−1의 계수는 원래부터 모두 0이었으며, 방금 전의 연산을 통해 xk의 계수 또한 0이 된다. 즉, 이 과정을 거치면 x1,…,xk−1의 계수는 모두 0이며, xk의 계수들 중 0이 아닌 것은 오직 첫 번째 행에만 존재하게 된다.
이제 두 번째 행부터 마지막 행까지의 n−1개 식에 대해 이 과정을 반복하고, 다시 세 번째 행부터 마지막 행까지의 n−2개 식에 대해 이 과정을 반복한다. 이를 계속하여 마지막 행에 도착하면 위의 식 (1)은 최종적으로 다음 두 조건 (*)을 만족한다.
만일 모든 계수가 0인 식이 있다면, 이 식은 연립방정식의 가장 밑에 위치한다.
모든 계수가 0은 아닌 식에 대해, 이 식에서 처음으로 등장하는 0이 아닌 계수는 위의 식에서 이러한 성질을 만족하는 계수보다 오른쪽에 있다.
약간의 조작을 추가로 가하면 이 식으로부터 연립방정식의 해를 바로 구해낼 수 있다. 각 식에서 0이 아닌 최초의 계수를 선행계수leading coefficient라 부르자. 위의 식을 예시로 들면, 첫째 식의 선행계수는 x1의 계수인 1이고, 둘째 식의 선행계수는 x2의 계수인 3, 그리고 마지막 식의 선행계수는 x3의 선행계수인 1이다.
이제 각 행마다 선행계수 위에 있는 계수들을 모두 없애준다. 즉, 마지막 식의 선행계수 위에 있는 항인 4x3을 없애야 하고, 둘째 식의 선행계수 위에 있는 항인 2x2를 없애야 한다. 이를 위해서는 마지막 식에 4를 곱하여 첫째 식에서 빼 주고, 둘째 식에 2/3을 곱하여 첫째 식에서 빼 주면 된다. 그 결과는 다음과 같다.
처음에 주어진 연립방정식 (1)은 행렬을 이용해 Ax=b로 간단하게 표현할 수 있었다. 가우스 소거법은 이 행렬 A와 b를 적절히 바꾸어 이 식을 A′x=b′로 쓸 수 있으며, 이 때 행렬 A′는 두 조건 (*)를 만족하도록 잡을 수 있다는 것을 보여준다.
정의 1 주어진 행렬 A에 대하여, 기본행연산elementary row operation, ERO은 다음 세 개의 연산을 뜻한다.
두 개의 행 전체를 위아래로 교환하는 연산,
한 행에 0이 아닌 상수를 곱하는 연산,
한 행의 배수를 다른 행에 더하는 연산.
또, 다음을 정의한다.
정의 2m×n 행렬 A가 주어졌다 하자. 임의의 1≤i≤m에 대해 정수 j0(i)=min{j≤n∣aij=0}이 잘 정의된다면 ai,j0(i)를 i번째 행의 선행계수라 부른다. 추가적으로 만일 다음의 두 조건
만일 ai1,ai2,…,ain=0이라면, i<k를 만족하는 모든 k에 대해 ak1,ak2,…,akn=0이다.
만일 i<i′이며 두 정수 j0(i),j0(i′)이 모두 잘 정의된다면 반드시 j0(i)<j0(i′)이다.
이 만족된다면, 행렬 A를 행사다리꼴행렬row échelon matrix, REF이라 부른다. 만일 추가적으로
ai,j0(i)가 항상 1이고,
모든 i′=i에 대해 Mi′,j0(i)=0
이라면, A를 기약행사다리꼴행렬reduced row échelon matrix, RREF이라 부른다.
따라서 앞선 절에서의 논의를 종합하면 가우스 소거법은 행렬 A에서 기본행연산을 통해 행사다리꼴행렬, 혹은 더 나아가 기약행사다리꼴행렬을 만드는 과정이라 할 수 있다. 일반적으로 주어진 행렬 A에서 만들어지는 행사다리꼴은 여러가지가 될 수 있으나, 기약행사다리꼴행렬은 반드시 유일하게 결정된다는 사실이 잘 알려져 있다. 우리는 이 유일성을 사용할 일이 없으므로 증명하지 않는다.
다시 연립방정식 (1)로 돌아오자. 각 식의 순서를 바꾸거나, 각 식의 양 변에 상수를 곱하는 것, 그리고 각 식의 배수를 다른 식에 더하는 것은 연립방정식을 처음 접했을 때부터 익숙한 풀이이므로 이상하지 않다. 그러나 같은 식을 행렬을 통해 Ax=b로 적는다면, A에 적용하는 기본행연산이 왜 b에도 같은 방식으로 영향을 미치는가는 명확하지 않다. 이제 임의의 m×n 행렬이 주어졌다 하고, 몇 개의 m×m 행렬을 생각하자.
우선 Ei,j는 m×m 단위행렬 I에서 i번째와 j번째 행을 바꾸어 얻어지는 행렬이다. 예를 들어 E1,2는 다음의 행렬
E1,2=⎝⎛010⋮0100⋮0001⋮0⋯⋯⋯⋱⋯000⋮1⎠⎞
이 된다. 한편, Ei,r′은 m×m 단위행렬 I의 i번째 행에 r을 곱하여 얻어지는 행렬이다. 예를 들어 E1,r′은 다음의 행렬
E1,r′=⎝⎛r00⋮0010⋮0001⋮0⋯⋯⋯⋱⋯000⋮1⎠⎞
이 된다. 마지막으로 Ei,j,r′′은 m×m 단위행렬 I의 j행 i열 성분을 r로 바꾸어 얻어진 행렬이다. 예를 들어 E1,2,r′′은 다음의 행렬
E1,2,r′′=⎝⎛1r0⋮0010⋮0001⋮0⋯⋯⋯⋱⋯000⋮1⎠⎞
이 된다. 이들을 묶어서 기본행렬이라 부르기도 한다. 이제 EijA, Ei,r′A, Ei,j,r′′A를 각각 계산해보면
EijA는 A의 i번째 행과 j번째 행을 바꾸어 얻어진 행렬,
Ei,r′A는 A의 i번째 행에 상수 r을 곱하여 얻어진 행렬,
Ei,j,r′′A는 A의 j번째 행에, (i행)×r을 더하여 얻어진 행렬
이 된다는 것을 쉽게 확인할 수 있다. 즉, 행렬 A에 기본행연산을 행하는 것은 위에서 정의한 행렬 Eij, Ei,r′, 혹은 Ei,j,r′′를 곱하는 것과 같으며, 연립방정식 Ax=b에 위의 조작을 가하는 것은 양 변의 왼쪽에 해당하는 기본행렬 E를 곱하여 (EA)x=(Eb)를 얻어내는 것과 같다.
기본행렬들 E는 모두 가역행렬이다. 이는 기본행렬에 해당하는 기본행연산이 수행된 행렬에 다시 기본행연산을 적용하여 원래의 행렬을 얻을 수 있다는 것으로부터 자명하다.
댓글남기기