[Lecture 2] Elimination with Matrices

박정민·2022년 6월 17일
0

Linear Algebra

목록 보기
3/3
post-thumbnail

두 번째 시간에는 elimination을 다룬다. 소거법은 뒤에서 꾸준히 다루기도 하고, 이로부터 통찰할 수 있는 점이 매우 많기 때문에 확실히 짚고 의미를 음미하는 것이 좋을 듯 하다.

Elimination (= Gauss Elimination, Row reduction)

  • 기본행 연산을 통해 Matrix A를 Upper triangular matrix U로 변환
  • Upper triangular matrix에서 얻을 수 있는 Pivot은 매우매우매우 중요

ex) elimination

x+2y+z=23x+8y+z=124y+z=2\begin{aligned} x+2y+z&=2\\ 3x+8y+z&=12\\ 4y+z&=2 \end{aligned}

위 방정식은 아래와 같은 Matrix로 표현할 수 있다.

[121381041][xyz]=[2122]\begin{bmatrix} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 0 & 4 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} 2 \\ 12 \\ 2 \end{bmatrix}

위 행렬에서 Coefficient에 해당하는 행렬을 대상으로 gauss elimination을 하는 과정은 아래와 같다.

[121381041](1)[121022041](2)[121022005]=U\begin{bmatrix} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 0 & 4 & 1 \end{bmatrix} \overset{\rm (1)}{\rm \rightarrow} \begin{bmatrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 4 & 1 \end{bmatrix} \overset{\rm (2)}{\rm \rightarrow} \begin{bmatrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 0 & 5 \end{bmatrix} = U

(1) : 2행에 1행의 3배를 뺌
(2) : 3행에 2행의 2배를 뺌

따라서 elimination을 통해 matrix A를 matrix U로 변환할 수 있으며, 이 때 matrix U는 upper triangular matrix이다.

Matrix U에서 각 행에 0이 아닌 처음 나온 숫자를 pivot이라고 하며, 이 pivot으로부터 우리는 아주 많은 정보를 알 수 있다.

또한 Matrix U에서 주대각성분 아래의 숫자들은 전부 0으로, 계단 형태로 나타나야 한다.
만일 m번째 행의 n번째 열에서 0이 아닌 성분이 처음으로 나오고, m+1번째 행의 n-1번째 열에서 0이 아닌 성분이 처음으로 나왔다면 순서가 엇갈렸기 때문에 이 경우에는 Row exchange를 통해 순서를 바꿔줘야 한다.

만일 Row exchange가 불가능하다면 (추후 다룰 예정이지만) non-invertible matrix이기 때문에 현재 입장에서는 문제를 풀 수 없는 경우가 된다.

위 예시로부터 Matrix U를 얻을 수는 있었지만, 구체적으로 방정식을 풀 수는 없었다.
coefficient matrix에 vector b를 붙인 augmented matrix와 back substitution을 통해 해당 방정식을 풀 수 있다.

ex) elimination with augmented matrix and back substitution

(1212381120412)(121202260412)(1212022600510)\left( \begin{array}{ccc|c} 1 & 2 & 1 & 2\\ 3 & 8 & 1 & 12\\ 0 & 4 & 1 & 2 \end{array} \right) \rightarrow \left( \begin{array}{ccc|c} 1 & 2 & 1 & 2\\ 0 & 2 & -2 & 6\\ 0 & 4 & 1 & 2 \end{array} \right) \rightarrow \left( \begin{array}{ccc|c} 1 & 2 & 1 & 2\\ 0 & 2 & -2 & 6\\ 0 & 0 & 5 & -10 \end{array} \right)

위 Augmentd matrix의 left side는 기존 Matrix A를 Upper triangular matrix로 변환하는 과정을 나타내고, right side는 coefficient matrix의 변화에 따른 vector b가 받는 영향을 나타낸다.
Augmented matrix의 마지막 결과로부터 유추할 수 있는 사실은

x+2y+z=22y2z=65z=10\begin{aligned} x+2y+z&=2\\ 2y-2z&=6\\ 5z&=-10 \end{aligned}

이므로, z=2z = -2임을 알 수 있다. 이렇게 확정적으로 얻을 수 있는 미지수 하나로부터 back substitution을 통해 차례로 대입해 나가며 방정식 문제를 풀 수 있다.

지금까지 elimination을 통해 Matrix A를 Matrix U로 변환하는 과정과, Augmented matrix와 back substitution을 활용해 구체적으로 방정식을 푸는 방법을 확인했다.
그렇다면, Matrix A를 U로 바꿔주는 어떤 행렬이 분명 있을텐데, 그 행렬은 무엇일까?


Elimination matrix

Matrix A를 U로 바꾸는 과정을 살펴보면, 어떤 행의 n배를 다른 행에 더하고 빼는 과정을 반복한다.
그렇다면 Matrix A와 어떤 행렬을 곱해 위 elimination을 표현할 수 있지 않을까?
위 과정을 행렬곱으로 표현하기 위해서는 elimination 과정을 기록할 행렬이 필요하다.

ex) Elmination matrix

[121381041](1)[121022041](2)[121022005]=U\begin{bmatrix} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 0 & 4 & 1 \end{bmatrix} \overset{\rm (1)}{\rm \rightarrow} \begin{bmatrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 4 & 1 \end{bmatrix} \overset{\rm (2)}{\rm \rightarrow} \begin{bmatrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 0 & 5 \end{bmatrix} = U

(1) : 1행의 3배를 2행에서 뺀다. 이를 표현하면 [100310001]\begin{bmatrix} 1 & 0 & 0 \\ -3 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} 로 표현할 수 있다.
여기서 첫 번째 행과 세 번째 행은 (1) 연산에서 변화가 없으므로 Identity matrix와 똑같이 작성하고,
두 번째 행은 첫 번쨰 행의 -3배를 더한 것이므로 위와 같이 표현할 수 있다.

(2) : 2행의 2배를 3행에서 뺀다. (1)과 같은 방법으로 [100010021]\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & -2 & 1 \end{bmatrix} 로 표현할 수 있다.
여기서 첫 번째 행과 두 번째 행은 변화가 없으므로 Identity matrix와 똑같이 작성하고,
세 번째 행은 두 번째 행의 -2배를 더한 것이므로 위와 같이 표현할 수 있다.

우리는 이를 통해 elimination 과정을 저장한 두 행렬을 얻을 수 있다. (1)번 과정에서 얻은 행렬을 E21E_{21}, (2)번 과정에서 얻은 행렬을 E32E_{32}라고 했을 때, elimination은 E32E21A=UE_{32}E_{21}A = U라고 볼 수 있다! 따라서 E32E21=EE_{32}E_{21} = E가 A의 elimination matrix임을 알 수 있다.
그런데, 위 식에서 Elimination matrix를 왜 A의 오른쪽에 곱했을까? 왼쪽에 곱하면 다른 결과가 나올까?


Permutation matrix

행렬 곱은 교환법칙이 성립하지 않는다. 이를 Permutation matrix를 이용해 살펴보고자 한다.

Row exchange

P[abcd]=[cdab]P\begin{bmatrix} a & b \\ c & d \end{bmatrix} = \begin{bmatrix} c & d \\ a & b \end{bmatrix}를 가능하게 하는 P를 찾아보자. 우리는 P=[0110]P = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}임을 어렵지 않게 알 수 있다.

Column exchange

반대로, 위 예시에서 P[abcd]=[bacd]P\begin{bmatrix} a & b \\ c & d \end{bmatrix} = \begin{bmatrix} b & a \\ c & d \end{bmatrix}를 가능하게 하는 P를 찾아보자. 가능할까?
가능한 P는 없다. PA=BPA = B에서 Matrix AA는 Matrix PP를 이용한 Row operation이 일어나기 때문이다. 즉, 행렬의 왼쪽에 다른 행렬을 곱한다면 이는 Row operation을 발생시킨다.

[abcd]P=[bacd]\begin{bmatrix} a & b \\ c & d \end{bmatrix}P = \begin{bmatrix} b & a \\ c & d \end{bmatrix}는 가능할까? P=[0110]P = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}일 때 두 열을 바꿀 수 있음을 알 수 있다.
이를 통해 행렬의 오른쪽에 다른 행렬을 곱한다면 Column operation이 발생된다는 것을 알 수 있다.
우리는 여기서 행렬의 왼쪽에 곱하는 것과 오른쪽에 곱하는 것은 서로 다른 성질의 Operation이 발생한다는 것을 알 수 있다. 즉, 교환법칙이 성립하지 않는다는 것을 알 수 있다.
이를 통해 위 Elimination matrix를 A의 왼쪽에 곱하는 이유 또한 알 수 있다.
Elimination 과정은 Row operation이기 때문에 이를 행렬곱으로 표현하기 위해서는 Elimination matrix를 A의 왼쪽에 두어 곱해야 한다.


UAU \rightarrow A로의 복원

위 Elimination matrix와 A를 곱해 U 행렬로의 변환이 가능함을 알 수 있었다.
그렇다면 U행렬을 다시 A행렬로의 복원은 어떻게 할 수 있을까?
우리는 이를 Elimination matrix에서 힌트를 얻을 수 있다!

위 예제에서 E21=[100310001]E_{21} = \begin{bmatrix} 1 & 0 & 0 \\ -3 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}을 구했었다. U를 다시 A로 만드는 방법은 elimination matrix를 다시 identity matrix로 복원하는 과정으로부터 알 수 있다.
E21E_{21}은 1행의 3배를 2행에서 뺐다는 사실을 알려준다. 이를 반대로 취하면 1행의 3배를 2행에 더해주면 된다. 즉, E21E_{21}를 역으로 돌리는 행렬은 [100310001]\begin{bmatrix} 1 & 0 & 0 \\ 3 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}이다.
[100310001][100310001]=I\begin{bmatrix} 1 & 0 & 0 \\ 3 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 \\ -3 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} = I이므로, E21E_{21}을 역으로 돌리는 행렬과 E21E_{21}의 곱이 Identity matrix임을 알 수 있다. 우리는 이를 통해 E21E_{21}의 역행렬인 E211E_{21}^{-1}을 얻을 수 있다.

profile
욕심 많은 데이터쟁이

0개의 댓글