-
1. 관점(2): 첨가행렬선형대수학 2020. 6. 1. 18:50
첨가행렬(augmented matrix)이란 어떤 연립일차방정식
$$\begin{cases}\,{\color{#006dd7}a_{11}}x_1+\cdots+\,{\color{#006dd7}a_{1j}}x_j+\cdots+\,\,{\color{#006dd7}a_{1n}}x_n={\color{#006dd7}b_1}\\ \qquad \qquad \qquad \quad \vdots \\\,\,{\color{#006dd7}a_{i1}}x_1+\cdots+\,\,{\color{#006dd7}a_{ij}}x_j+\cdots+\,\,{\color{#006dd7}a_{in}}x_n={\color{#006dd7}b_i}\\ \qquad \qquad \qquad \quad \vdots \\{\color{#006dd7}a_{m1}}x_1+\cdots+{\color{#006dd7}a_{mj}}x_j+\cdots+{\color{#006dd7}a_{mn}}x_n={\color{#006dd7}b_m}\end{cases}$$
이 주어졌을 때, 미지수와 덧셈 기호, 등호 등을 생략하고 계수와 상수항으로 구성한 행렬
$$\left[ \begin{array}{ccccc|c}{\color{#006dd7}a_{11}}&\cdots&{\color{#006dd7}a_{1j}}&\cdots&{\color{#006dd7}a_{1n}}&{\color{#006dd7}b_1}\\\vdots&&\vdots&&\vdots&\vdots\\{\color{#006dd7}a_{i1}}&\cdots&{\color{#006dd7}a_{ij}}&\cdots&{\color{#006dd7}a_{in}}&{\color{#006dd7}b_i}\\\vdots&&\vdots&&\vdots&\vdots\\{\color{#006dd7}a_{m1}}&\cdots&{\color{#006dd7}a_{mj}}&\cdots&{\color{#006dd7}a_{mn}}&{\color{#006dd7}b_m}\end{array} \right]$$
을 말합니다. 이번 글에서는 연립일차방정식을 푸는 여러 방법 가운데 첨가행렬의 형태로 푸는 방법에 대해 개괄적으로 살펴봅니다.
기본행연산
첨가행렬을 이용한 풀이의 핵심은 해집합(solution set)을 그대로 유지하면서 식을 변형하는 데 있습니다. ('해집합'이란 말 그대로 해당 방정식의 해(解)를 모아놓은 집합을 말합니다.) 이는 중·고등학교 때 사용하는 연립일차방정식의 풀이방법과 본질적으로 다르지 않습니다. 예를 들어, 다음의 연립방정식
$$\begin{cases}x_1+x_2=5\quad \cdots \text{①}\\[5pt]x_2+x_3=7\quad \cdots \text{②}\\[5pt]x_3+x_1=6\quad \cdots \text{③} \end{cases}$$
을 푼다는 것은 주어진 식끼리 더하거나 빼고, 또는 식의 양변에 상수(스칼라)를 곱하여
$$\begin{array}{l}\Rightarrow \begin{cases}x_1+x_2=5 \qquad \quad \, \cdots \text{①}\\[5pt]x_2+x_3=7 \qquad \quad \, \cdots \text{②} \\[5pt]x_1+x_2+x_3=9 \quad \cdots{\color{#006dd7}\text{④}}=\frac{\text{①}+\text{②}+\text{③}}{2} \end{cases} \\[5pt] \Rightarrow \begin{cases}x_1=2 \qquad \qquad \quad \,\,\, \cdots {\color{#006dd7}\text{⑤}}=\text{④}-\text{②} \\[5pt]x_3=4 \quad \quad \quad \quad \quad \,\,\, \cdots {\color{#006dd7}\text{⑥}}=\text{④}-\text{①}\\[5pt]x_1+x_2+x_3=9 \quad \cdots \text{④}\end{cases} \end{array}$$
해를 바로 알아볼 수 있는 간단한 형태
$$\Rightarrow \begin{cases}x_1=2 \quad \cdots \text{⑤}\\[5pt]x_2=3 \quad \cdots {\color{#006dd7}\text{⑦}}=\text{④}-\text{⑤}-\text{⑥}\\[5pt]x_3=4 \quad \cdots \text{⑥}\end{cases}$$
로 만든다는 것을 의미하죠. 이때 중요한 것은 식을 변형하는 과정에서 해집합이 달라지지 않아야 한다는 것입니다.
더보기(예를 들어, ①번 식의 양변에 0을 곱해서
$$\begin{cases}{\color{#ee2323}0\cdot x_1+0\cdot x_2=0\quad \cdots \text{①}'}\\[5pt]x_2+x_3=7\quad \qquad \,\,\, \cdots \text{②}\\[5pt]x_3+x_1=6\quad \qquad \,\,\, \cdots \text{③} \end{cases}$$
와 같이 변형하는 것은 해집합이 달라지게 하므로 해서는 안 됩니다.)
첨가행렬에서도 이와 마찬가지로 해집합을 유지하면서 식을 변형하는 작업이 필요한데, 이를 위해 정의하는 것이 '기본행연산(elementary row operations)'입니다. 기본행연산은 다음의 세 가지 연산으로 이루어져 있는데,R1 : 한 행의 스칼라배를 다른 행에 더하기
R2 : 서로 다른 두 행 교환하기
R3 : 한 행에 0이 아닌 스칼라 곱하기
각 연산에 의해 해집합이 변하지 않음은 어렵지 않게 알 수 있습니다.
더보기(수식의 형태에서, R1과 R3는 식의 양변에 상수를 곱하는 작업과 식의 같은 변끼리 더하거나 빼는 작업에 해당되고, R2는 방정식의 순서를 바꾸는 작업에 해당됩니다. 해집합에 영향이 없음을 직관적으로 알 수 있죠. 보다 엄밀하게 보이려면, 변형 전 연립방정식의 해집합과 변형 후 연립방정식의 해집합이 서로에게 포함됨을 보이면 됩니다.)
이제 문제가 되는 것은 '첨가행렬을 어떤 형태로 바꿔줄 것인가?'입니다.행사다리꼴
일차적인 목표는 '행사다리꼴(row echelon form, ref)'입니다. 이는, 쉽게 말해, 행을 하나 내려갈 때마다 0 아닌 부분이 한 칸 또는 그 이상씩 오른쪽으로 밀려나는 형태 (또는 0으로만 이루어진 부분이 오른쪽으로 늘어나는 형태)인데, 예를 들어
와 같은 행렬이 행사다리꼴에 해당됩니다. 그런데 사실 '0 아닌 부분'에도 0이 포함될 수 있다는 점에서 이는 정확한 표현이 아닙니다. 보다 엄밀한 정의를 위해 새로운 용어를 도입합니다.
'선행성분(leading entry)'
각 행에서 0 아닌 성분 중 가장 왼쪽에 있는 성분특별히, 행사다리꼴 행렬에서의 선행성분은 '추축(樞軸, pivot)'이라고 합니다. 선행성분의 위치는 기본행연산에 의해 얼마든지 변할 수 있지만, 추축의 위치는 변하지 않는다는 특징이 있죠. (즉, 어떤 과정을 거치더라도 결국 행사다리꼴이 되었을 때 선행성분의 위치는 일정합니다. 이에 대해서는 추후에 보다 자세히 설명합니다.) 행렬에서 추축을 포함하는 열은 '추축열(pivot column)'이라고 합니다.
이제 '행사다리꼴'이란
ⓐ 각 행의 선행성분은 그 위 행의 선행성분보다 오른쪽에 있다.
ⓑ 모든 성분이 0인 행은 하나라도 0이 아닌 성분을 가진 행보다 아래에 있다.를 만족하는 행렬의 형태라고 정의할 수 있습니다.
더보기(경우에 따라서는
ⓒ 각 행의 선행성분은 모두 1이다.
를 행사다리꼴의 조건에 포함시키기도 하는데, 이는 책의 저자나 교수자에 따라 다르므로 그때그때 확인하는 것이 좋습니다. 본 포스트에서는 행사다리꼴의 조건을 ⓐ, ⓑ로 국한합니다.)
첨가행렬을 행사다리꼴로 변형시키는 이유 중 하나는 연립일차방정식 풀이의 중간단계가 되기 때문입니다. 행사다리꼴은 그 자체로 방정식의 해를 보여주지는 않지만, 간단한 처리과정을 거치면 가능합니다. 예를 들어, 위에서 예로 든 연립방정식$$\begin{cases}x_1+x_2=5\quad \cdots ①\\[5pt]x_2+x_3=7\quad \cdots ②\\[5pt]x_3+x_1=6\quad \cdots ③ \end{cases}$$
을 첨가행렬의 형태로 나타낸 뒤 기본행연산을 적절히 사용하면 다음의 행사다리꼴 행렬
$$\left[ \begin{array}{ccc|c}\,1\,&\,1\,&\,0\,&\,5\,\\[5pt]0&1&1&7\\[5pt]0&0&2&8\end{array} \right]$$
로 변형할 수 있는데, 이후 아래쪽 식에서부터 차례로 미지수의 값을 계산하여 위의 식에 대입해나감으로써 연립방정식의 해를 구할 수 있습니다.
더보기(이와 같이 행사다리꼴을 거쳐 연립일차방정식의 해를 구하는 방법을 체계화한 알고리즘으로 '가우스 소거법(Gaussian elimination)'이 있습니다. 가우스 소거법에는 다양한 변형(variation)이 존재하고 그에 따라 명칭을 세부적으로 붙이게 되는데, 위 방법의 경우는 'Gaussian elimination with back substitution'이라고 부를 수 있습니다. 가우스 소거법에 대해서는 나중에 보다 자세히 다룹니다.)
이처럼 행사다리꼴 행렬을 수식의 형태로 환원한 뒤 반복적인 대입 과정을 거쳐 해를 구하는 방법도 있지만, 아예 첨가행렬의 형태로 후반과정을 진행하는 방법도 있습니다. 이번에는 해를 직접적으로 구하는 것이 목표인 만큼, 첨가행렬에서도 그에 대응되는 형태를 목표로 잡아야겠죠. 예를 들어, 위에서 구한 해를 첨가행렬의 형태로 다시 바꿔보면$$\begin{cases}x_1=2\\[5pt]x_2=3\\[5pt]x_3=4\end{cases} \quad \Rightarrow \left[ \begin{array}{ccc|c}\,1\,&\,0\,&\,0\,&\,2\,\\[5pt]0&1&0&3\\[5pt]0&0&1&4\end{array} \right]$$
이 되는데, 이제 이러한 꼴의 첨가행렬을 지칭할 새로운 용어를 정의합니다.
기약행사다리꼴
행사다리꼴이 행렬 변형과정에서의 일차 목표라면, 궁극적인 목표는 기약행사다리꼴입니다. '기약행사다리꼴(reduced row echelon form, rref)'이란 행사다리꼴의 조건 ⓐ와 ⓑ에 다음의 두 조건
ⓒ 각 행의 선행성분은 모두 1이다.
ⓓ 각 선행성분은 해당 열에서 유일하게 0이 아닌 성분이다.을 추가로 만족하는 행렬의 형태입니다. 예를 들어,
와 같은 행렬이 기약행사다리꼴에 해당됩니다. (선행성분이 모두 1이고, 선행성분 위와 아래의 값이 모두 0인 것을 볼 수 있죠.) 기약행사다리꼴 행렬에서는 해를 쉽게 찾을 수 있는데, 그 방법은 다음과 같습니다:
(1) 추축(pivot)이 맨 오른쪽 열에 있는지 확인
먼저 해야 할 것은 방정식이 해를 가지는지 확인하는 작업입니다. 만약 추축이 맨 오른쪽 열에 있다면(즉, 맨 오른쪽 열이 추축열(pivot column)이라면), 해당 연립일차방정식은 해를 갖지 않습니다. 이유는 해당 추축을 포함하는 행을 등식의 형태로 환원시켰을 때 $0=1$이 되는데, 이는 절대 성립할 수 없기 때문이죠.
반대로 맨 오른쪽 열이 추축을 포함하지 않는다면, 해당 연립일차방정식은 반드시 해를 가집니다. 이 경우에는 다음 단계로 넘어갑니다.
더보기(추축이 맨 오른쪽 열에 있지 않은 (기약행사다리꼴) 첨가행렬의 각 행은
$$0=0$$
또는
$$x_j=b$$
또는
$$x_j+a_{j+1}x_{j+1}+\cdots+a_{n}x_n=b$$
꼴의 식이 될 텐데, 일단 $0=0$은 항등식이기에 해집합에 영향을 미치지 않고, $x_j=b$에서는 $x_j$의 값이 유일하게 결정되겠죠. 이제 남은 행은 모두 세 번째 꼴의 식이 될 텐데, 맨 왼쪽의 항만 남기고 나머지를 [우변]으로 이항하면
$$x_j=-a_{j+1}x_{j+1}-\cdots-a_{n}x_n+b$$
로 만들 수 있을 겁니다. 이때 [좌변]의 변수는 추축열에 대응되고 [우변]의 변수들은 추축이 없는 열에 대응된다는 사실에 주목합니다. 따라서 [좌변]의 변수들과 [우변]의 변수들은 서로 겹치지 않습니다. (쉽게 말해, [좌변]과 [우변]에 동시에 등장하는 변수는 없다는 뜻입니다.) 또한 기약행사다리꼴 행렬의 추축열은 추축을 제외한 성분들이 모두 0이기에, [좌변]의 변수들끼리도 서로 겹치지 않습니다. 이러한 특성 때문에 [우변]의 변수들에 임의로 값을 대입하고 그에 따라 [좌변] 변수들의 값을 결정하기로 할 때, 이 값들 $(x_1, \cdots, x_n)$은 모순 없이 주어진 식을 모두 만족하게 됩니다. 즉, 해당 연립방정식의 해가 존재하는 것이죠.
이 논리는 아래서 소개할 '선행변수(leading variable)'와 '자유변수(free variable)'의 개념을 통해 보다 간단하게 표현될 수 있습니다.)
(2) 수식의 형태로 환원 후 정리해당 방정식이 해를 가진다는 것을 확인했다면, 다음으로는 첨가행렬을 수식의 형태로 환원시킨 뒤, 각각의 식에서 맨 왼쪽의 항만 좌변에 남기고 나머지 항들을 우변으로 이항시킵니다. 예시를 위해, 위에 예로 든 첨가행렬에서 $[\,0\,\cdots\,0\,|\,1\,]$인 행을 지워서 해를 가지도록 만든 다음, 수식으로 환원시켜 보면
$$\begin{cases}x_2\qquad+\,\,\, x_4 \qquad +\,\,\,x_6=0\\[5pt]\qquad x_3+3x_4 \qquad +2x_6=0\\[5pt] \qquad \qquad \,\,\,\, \qquad x_5+3x_6=0\\[5pt] \qquad \qquad \qquad \qquad \quad \,\,\,\,\, 0=0\end{cases}$$
이 되는데, 여기서 맨 왼쪽의 항들만 남기고 나머지를 우변으로 넘기면
$$\begin{cases}x_2=-x_4-x_6\\[5pt]x_3=-3x_4-2x_6\\[5pt]x_5=-3x_6\\[5pt]\,\,\,0=0\end{cases} \quad \cdots (\ast)$$
이 되죠. $0=0$은 해집합에 영향을 미치지 않는 항등식이므로 지우고 나면 변수 $x_1, \cdots, x_6$ 사이에 3개의 관계식을 얻게 됩니다. 이제 마지막으로 남은 것은 각 변수의 역할을 분명하게 밝혀주는 일인데, 이를 위해 새로운 용어를 도입합니다.
선행변수와 자유변수
우선, 수식의 좌변에 있는 변수들($x_2, x_3, x_5$)은 첨가행렬의 추축열(pivot column)에 대응됩니다. (각 식에서 맨 왼쪽에 있는 항을 남겼으니 당연한 결과겠죠.)
이 변수들은 추축(pivot), 즉 기약행사다리꼴에서의 선행성분(leading entry)에 대응되기에 '선행변수(leading variable)'라고 합니다.
한편, 수식의 우변에 있는 변수들($x_4, x_6$)과 수식에 아예 등장하지 않는 변수($x_1$)는 첨가행렬의 추축이 없는 열(nonpivot column)에 대응됩니다.
연립일차방정식의 해를 나타낼 때는 ($\ast$)에서처럼 선행변수($x_2, x_3, x_5$)를 나머지 변수들($x_1, x_4, x_6$)에 관한 식으로 표현하는 것이 관습입니다. 이때, 이 나머지 변수들이 매개변수(parameter)로서 자유롭게 값을 대입할 수 있는 자리의 역할을 하기 때문에, 이들을 가리켜 '자유변수(free variable)'라고 합니다. 자유변수($x_1, x_4, x_6$)에 어떤 값을 대입하느냐에 따라 선행변수($x_2, x_3, x_5$)의 값이 결정되도록 하는 것이죠.
이제, 연립일차방정식의 해를 적을 때에는 변수들 사이의 관계식과 더불어 무엇이 자유변수인지를 밝혀 적으면 됩니다. $(\ast)$을 이에 따라 고쳐보면 다음과 같습니다:
$$\begin{cases}x_1{\text{은 자유변수}}\\[5pt]x_2=-x_4-x_6\\[5pt]x_3=-3x_4-2x_6\\[5pt]x_4{\text{는 자유변수}}\\[5pt]x_5=-3x_6\\[5pt]x_6{\text{은 자유변수}}\end{cases} \quad \cdots (\ast)'$$
연립일차방정식과 해의 개수
연립일차방정식을 푸는 방법과 더불어 또 한 가지 관심을 가질 것은 해의 개수입니다. 방정식은 그 형태에 따라 가질 수 있는 해의 개수가 다르죠. 예를 들어, 다음의 (일변수)이차방정식
$$ax^2+bx+c=0 \quad(a, b, c \in \mathbb{R}, a \neq 0)$$
은 복소수 범위에서 중근을 포함해 항상 두 개의 해
$$x=\frac{-b \pm \sqrt{b^2-4ac}}{2a}$$
를 가집니다. 일반적으로 (일변수) $n$차방정식은 복소수 범위에서 중근을 포함해 $n$개의 해를 가지죠. 이와 마찬가지로 연립일차방정식도 가질 수 있는 해의 개수가 정해져 있습니다. 단, 항상 같은 개수의 해를 가지는 것은 아니고 '해를 가지지 않는 경우', '유일한 해를 가지는 경우', '무수히 많은 해를 가지는 경우'의 세 가지 케이스로 나뉩니다. (해를 두 개나 세 개만 가지는 경우는 없는 것이죠.)
더보기(세 가지 케이스로 나눠지는 이유를 직관적으로 이해하는 방법으로 기하학적 접근법이 있습니다. 이는 연립일차방정식의 해집합을 좌표평면 또는 좌표공간에 나타내보는 것인데, 간단한 예로 다음의 연립방정식
$$\begin{cases}ax+by=p\\[5pt]cx+dy=q\end{cases}$$
을 생각해보죠. 일차방정식 $ax+by=p$와 $cx+dy=q$의 해집합은 좌표평면에서 각각 하나의 직선으로 나타납니다. 이를 순서대로 $l$과 $l'$이라고 합시다. 그러면 전체연립일차방정식의 해집합은 두 직선 $l$과 $l'$이 만나는 점들의 집합이 될 겁니다. 그런데 한 평면 위에 있는 두 직선의 위치 관계는 '평행하는 경우', '한 점에서 만나는 경우', '일치하는 경우'의 세 가지 케이스로 나눠집니다.
이때, '평행하는 경우'는 두 직선이 어느 점에서도 만나지 않으므로 '해를 가지지 않는 경우'에 대응되고,
'한 점에서 만나는 경우'는 '유일한 해를 가지는 경우'에 대응되고,
'일치하는 경우'는 두 직선이 무수히 많은 점에서 만나므로 '무수히 많은 해를 가지는 경우'에 대응됩니다.
비슷한 논리로, '해를 두 개나 세 개만 가지는 경우'가 없는 이유는 두 직선이 두 개 이상의 점을 공유하는 순간 반드시 전체가 일치하기 때문이라고 이해할 수 있습니다.)
각각의 경우가 기약행사다리꼴 첨가행렬에서 어떤 특징으로 나타나는지를 정리해보죠.우선, 해의 유무는 결정하는 것은 기약행사다리꼴 첨가행렬이 $[\,0\,\cdots\,0\,|\,1\,]$인 행을 가지는지 여부입니다. 다르게 말하면, 첨가행렬의 맨 오른쪽 열에 추축이 있는지 여부죠. '해를 가지지 않는 경우'는 기약행사다리꼴 행렬이 $[\,0\,\cdots\,0\,|\,1\,]$인 행을 가지는 경우에 해당됩니다. (즉, 맨 오른쪽 열에 추축이 존재하는 경우입니다.)
나머지 두 경우는 모두 해를 가지는 경우이므로 첨가행렬이 $[\,0\,\cdots\,0\,|\,1\,]$인 행을 가지면 안 됩니다. (다르게 말해서, 맨 오른쪽 열이 추축을 포함하면 안 되죠.) 이제 남은 두 경우를 가르는 것은 자유변수의 유무입니다. 자유변수가 없으면 각 변수의 값은 상수로 결정되므로 '유일한 해를 가지는 경우'에 해당되죠. 반대로 자유변수가 존재하면 무수히 많은 값을 자유롭게 대입할 수 있으므로 '무수히 많은 해를 가지는 경우'에 해당됩니다.
그런데 자유변수의 유무는 계수행렬(coefficient matrix)에서의 추축을 포함하지 않는 열의 유무와 같습니다. 따라서 '유일한 해를 가지는 경우'는 계수행렬에 추축을 포함하지 않는 열이 없는 경우, 즉 계수행렬의 모든 열이 추축열인 경우이고, '무수히 많은 해를 가지는 경우'는 계수행렬에 추축 없는 열이 존재하는 경우입니다.
지금까지 연립일차방정식의 해의 개수가 기약행사다리꼴 첨가행렬에서의 특성과 어떻게 관련되어 있는지를 살펴보았습니다. 그중에서도 특별히, 추축의 배열상태를 보고 해의 개수를 알아낼 수 있게 되었죠. 그런데 행사다리꼴 첨가행렬에서도 비슷한 얘기를 할 수 있습니다. 같은 첨가행렬에서 시작하는 경우, 행사다리꼴이나 기약행사다리꼴이나 추축의 위치는 같기 때문이죠. 따라서 동일한 논리에 의해 '해를 가지지 않는 경우'는 '추축이 맨 오른쪽 열에 있는 경우'에 해당되며, '유일한 해를 가지는 경우'는 '추축이 맨 오른쪽 열에 없고, 계수행렬의 모든 열이 추축열인 경우'에, '무수히 많은 해를 가지는 경우'는 '추축이 맨 오른쪽 열에 없고, 계수행렬에 추축 없는 열이 존재하는 경우'에 해당됩니다. 즉, 행사다리꼴로만 변형하더라도 연립일차방정식이 가지는 해의 개수를 알아낼 수가 있는 것이죠. 이것은 행사다리꼴을 첨가행렬 변형의 중간단계로 설정하는 또 하나의 이유가 됩니다.
이번 글에서는 연립일차방정식을 첨가행렬의 형태로 푸는 방법에 대해 개괄적으로 살펴보았습니다. '기본행연산', '행사다리꼴', '선행성분', '추축', '기약행사다리꼴', '자유변수' 등 다양한 개념을 정의했기에 내용이 복잡하게 느껴질 수 있지만, 잘 생각해보면 풀이방법 자체는 그렇게 새로운 것이 아닙니다. 다만, 새로운 관점에서 접근하면서 체계와 질서를 만들어나가다 보니 새로운 용어가 많이 필요했던 것이죠.다음 글에서는 이번에 소개한 개념들을 바탕으로 보다 구체적인 연립일차방정식의 풀이방법 '가우스 소거법(Gaussian elimination)'에 대해 알아봅니다.
더보기참고
(1) 기본행연산과 관련된 개념 중 '행동치(row equivalence)'라는 것이 있습니다. 이는 기본적으로 두 개의 행렬에 적용되는 개념인데, '행렬 $A$가 행렬 $B$와 행동치($A$ is row equivalent to $B$)'라는 것은 '유한 번의 기본행연산을 이용해 $A$를 $B$로 변형할 수 있음'을 의미합니다. 예를 들어, 행렬 $A$와 $B$를 각각
$$A=\left[ \begin{array}{ccc|c}\,1\,&\,1\,&\,0\,&\,5\,\\[5pt]0&1&1&7\\[5pt]1&0&1&6\end{array} \right]$$
와
$$B=\left[ \begin{array}{ccc|c}\,1\,&\,0\,&\,0\,&\,2\,\\[5pt]0&1&0&3\\[5pt]0&0&1&4\end{array} \right]$$
라 하면, 본문에서 언급했다시피 기본행연산을 적절히 이용하여 $A$를 $B$로 변형할 수 있으므로 $A$는 $B$와 행동치인 것입니다. 이를 간단하게
$$A\,\sim \,B$$
로 표기할 수 있는데, 이제 임의의 기본행연산을 $e$라 하고, 이 기본행연산을 $A$에 적용하는 것을 $e(A)$로 표기한다면, $A\,\sim\,B$라는 것은 '유한 개의 기본행연산 $e_1, \cdots, e_n$이 존재하여 $e_n(\cdots(e_1(A))\cdots)=B$이 성립함'을 의미합니다.
(2) 행동치(row equivalence)가 가지는 특징 중 하나는 [$A\,\sim\,B$이면 $B\,\sim\,A$]라는 것입니다. 이는 세 유형의 기본행연산(위에서의 R1, R2, R3)이 모두 역연산을 가지기 때문입니다. R1(즉, $i$번째 행의 $c$배를 $j$번째 행에 더하기)은 $i$번째 행의 $(-c)$배를 $j$번째 행에 더함으로써 원래 행렬로 되돌릴 수 있고, R2(즉, $i$번째 행과 $j$번째 행을 교환하기)는 같은 연산을 한 번 더 반복함으로써 원래 행렬로 되돌릴 수 있고, R3(즉, $i$번째 행에 $0$ 아닌 스칼라 $c$를 곱하기)는 $i$번째 행에 $\frac{1}{c}$를 곱함으로써 원래 행렬로 되돌릴 수 있죠. 따라서 임의의 기본행연산 $e$에 대해, 같은 유형의 기본행연산 $e^{-1}$이 존재하여 $e^{-1}(e(A))=A$을 만족합니다.
정리하자면 $A\,\sim\,B$라 할 때, 유한 개의 기본행연산 $e_1, \cdots, e_n$이 존재하여 ${\color{#006dd7}e_n(\cdots(e_1(A))\cdots)=B}$가 성립하고, 각각의 $e_i$에 대해 역연산 $e^{-1}_i$이 존재하므로
$$\begin{align}A&=e^{-1}_{1}(e_{1}(A))\\[5pt]&=e^{-1}_{1}({\color{#ee2323}e^{-1}_2}({\color{#ee2323}e_{2}}(e_{1}(A))))\\[5pt]&=e^{-1}_{1}({\color{#ee2323}e^{-1}_2}({\color{#409d00}e^{-1}_3}({\color{#409d00}e_3}({\color{#ee2323}e_2}(e_1(A))))))\\[5pt]&\quad\vdots\\[5pt]&=e^{-1}_{1}(\,\cdots\,(e^{-1}_{n}({\color{#006dd7}e_{n}(\,\cdots\,(e_{1}(A))\,\cdots\,)}))\,\cdots\,)\\[5pt]&=e^{-1}_{1}(\,\cdots\,(e^{-1}_{n}({\color{#006dd7}B}))\,\cdots\,)\end{align}$$
이 성립하여, 행동치의 정의에 따라 $B\,\sim\,A$(유한 번의 기본행연산을 이용해 $B$를 $A$로 변형할 수 있음)이 되는 것이죠. 따라서
$$A\,\sim\,B\quad \Longrightarrow \quad B\,\sim\,A$$
이 됩니다. (쉽게 말해, $A$를 $B$로 변형할 수 있으면, $B$를 $A$로 변형하는 것도 가능하다는 것이죠.) 이러한 특성을 가리켜 '대칭성(symmetry)'이라고 합니다.
(3) 행동치(row equivalence)는 '동치관계'라는 개념의 관점에서 이해할 수 있습니다. '동치관계(equivalence relation)'란 '반사성', '대칭성', '추이성'의 세 가지 조건을 만족하는 관계(relation)를 말하는데, 어떤 관계 $\sim$가 '반사성(reflexivity)'을 가진다는 것은 모든 원소 $x$에 대해 $x\,\sim\,x$이 성립한다는 것을 의미하고, '대칭성(symmetry)'을 가진다는 것은 모든 원소 $x, y$에 대해 [$x\,\sim\,y$이면, $y\,\sim\,x$이다.]가 성립한다는 것을 의미하고, '추이성(transitivity)'을 가진다는 것은 모든 원소 $x, y, z$에 대해 [$x\,\sim\,y$이고 $y\,\sim\,z$이면, $x\,\sim\,z$이다.]가 성립한다는 것을 의미합니다.
이제 이를 행동치(row equivalence)에 적용해보죠. 우선, 임의의 행렬 $A$는 기본행연산을 이용해 자기 자신으로 만들 수 있습니다. (예를 들어, R3에서 스칼라 $c$를 $1$로 정하면 되죠.) 즉, 모든 $A$에 대해 $A\,\sim\,A$이 성립하므로, 행동치는 반사성(reflexivity)을 가집니다.
행동치가 대칭성(symmetry)을 가진다는 것은 (2)에서 이미 보였으므로 남은 것은 추이성(transitivity)입니다. 이제 행렬 $A, B, C$에 대하여 $A\,\sim\,B$와 $B\,\sim\,C$가 성립한다고 합시다. 이는
${\color{#006dd7}e_n(\,\cdots\,(e_1(A))\,\cdots\,)=B}$
$e_{n+m}(\,\cdots\,(e_{n+1}({\color{#006dd7}B}))\,\cdots\,)=C$를 만족하는 기본행연산 $e_1, \cdots, e_n, e_{n+1}, \cdots, e_{n+m}$이 존재한다는 것을 의미합니다. 여기서 위의 식을 아래 식에 대입해주면,
$$e_{n+m}(\,\cdots\,(e_{n+1}({\color{#006dd7}e_n(\,\cdots\,(e_1(A))\,\cdots\,)}))\,\cdots\,)=C$$
를 얻게 되고, 이는 $A\,\sim\,C$를 의미하죠. 즉, 행동치는 추이성(transitivity)을 가지는 것입니다.
결론적으로 행동치(row equivalence)는 동치관계(equivalence relation)입니다.
(4) 행동치가 동치관계라는 사실은 두 행렬이 행동치인지를 판별할 때 활용할 수 있습니다. 예를 들어, 위에서 정의한 $A$라는 행렬
$$A=\left[ \begin{array}{ccc|c}\,1\,&\,1\,&\,0\,&\,5\,\\[5pt]0&1&1&7\\[5pt]1&0&1&6\end{array} \right]$$
과 $C$라는 행렬
$$C=\left[ \begin{array}{ccc|c}\,2\,&\,2\,&\,1\,&\,14\,\\[5pt]1&3&2&19\\[5pt]3&1&3&21\end{array} \right]$$
을 생각하면, $A$와 $C$가 행동치인지 아닌지를 판별하는 것은 생각보다 쉽지 않습니다. (어떻게 해야 $A$를 $C$로 변형할 수 있는지 한눈에 발견하기 어려울 뿐 아니라, 애초에 불가능한 것인지 아니면 그저 어려운 것일 뿐인지도 불분명하죠.)
그런데 (다음 글에서 다룰 예정인) 가우스 소거법(Gaussian elimination)을 이용하면, $A$와 $C$를 모두 기약행사다리꼴로 변형할 수 있습니다. (과정을 생략하면) $A$와 $C$ 모두
$$B=\left[ \begin{array}{ccc|c}\,1\,&\,0\,&\,0\,&\,2\,\\[5pt]0&1&0&3\\[5pt]0&0&1&4\end{array} \right]$$
로 변형이 되죠. (가우스 소거법은 변형과정에서 기본행연산만을 사용하기 때문에) 이로부터 $A\,\sim\,B$이고 $C\,\sim\,B$임을 알 수 있습니다.
이제 동치관계의 특성을 이용합니다. 우선, 대칭성(symmetry)에 의해 $C\,\sim\,B$로부터 $B\,\sim\,C$를 얻을 수 있고, 다음으로 추이성(transitivity)에 의해 $A\,\sim\,B$와 $B\,\sim\,C$로부터 $A\,\sim\,C$을 얻을 수 있죠. 따라서 $A$와 $C$가 행동치임을 알 수 있는 것입니다.
이처럼 주어진 두 행렬을 기약행사다리꼴로 변형한 뒤 그 결과가 같은지를 확인함으로써 두 행렬이 행동치인지를 판별할 수 있는데 이 방법은, 비록 계산과정은 길고 복잡할 수 있지만, 나아갈 방향 자체는 명확하기 때문에 여러 변형과정을 시도하며 시행착오를 겪지 않아도 된다는 장점이 있습니다.
'선형대수학' 카테고리의 다른 글
1. 관점(1): 소개 (0) 2020.01.26 0. 프롤로그(2): 행렬 (0) 2020.01.13 0. 프롤로그(1): 벡터 (0) 2020.01.11