[선형대수] Lecture 2: Elimination with matrices

이재호·2025년 2월 24일

선형대수

목록 보기
2/31

https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/video_galleries/video-lectures/

x+2y+z=2{x} + 2{y} + z = 2
3x+8y+z=123{x} + 8{y} + z = 12
0x+4y+z=20{x} + 4{y} + z = 2

위 수식을 보고 x, y, z 값을 찾아보자. 어떻게 하면 규칙을 통해 값을 찾을 수 있을까?

우선 다음과 같이 Ax=bAx = b 형태의 행렬로 변환해보자.

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

이제 Elimination을 통해 값을 찾아보자.

우선 AA 행렬에서, (1, 1)에 해당하는 값(즉, 1)을 pivot으로 선정하여 아래 행들의 같은 열 값들 중 (1, 1)만 남기고 나머지를 0으로 만들어 보자.

이를 위해 row23row1row_2 - 3row_1을 해야 한다.

[121381041] >[121022041]\begin{bmatrix} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 0 & 4 & 1 \end{bmatrix} \ -> \begin{bmatrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 4 & 1 \end{bmatrix}

이제 (1, 1) 다음 pivot을 선정해보자. (2, 2)를 pivot으로 선정한다. 그리고 아래 행(2, 3)의 값을 0으로 만들어 보자.

이를 위해 row32row2row_3 - 2row_2를 해야 한다.

[121022041] >[121022005]U\begin{bmatrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 4 & 1 \end{bmatrix} \ -> \underbrace{ \begin{bmatrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 0 & 5 \end{bmatrix} }_U

이제 최종 목적지인 uu(under-triangle) 행렬을 구했다.

하지만 만약, pivot이 0이 되면 어떻게 될까?
-> 이 경우 우리는 더 이상 elmination을 할 수가 없다. 따라서 규칙을 통해 값을 구할 수가 없게 된다.

이제 Ax=bAx=b에서 b가 위 과정에서 어떻게 변하는지 살펴보자.
순서대로 row23row1row_2 - 3row_1, row32row2row_3 - 2row_2가 적용될 것이다.

[2122] >[262] >[2610]C\begin{bmatrix} 2 \\ 12 \\ 2 \end{bmatrix} \ -> \begin{bmatrix} 2 \\ 6 \\ 2 \end{bmatrix} \ -> \underbrace{ \begin{bmatrix} 2 \\ 6 \\ -10 \end{bmatrix} }_C

이렇게 해서 최종 목적지인 C 행렬을 구했다. 이제 U와 C를 통해 수식을 다시 정리해 보자.

x+2y+z=20x+2y2z=60x+0y+5z=10{x} + 2{y} + z = 2\\ 0{x} + 2{y} - 2z = 6\\ 0{x} + 0{y} + 5z = -10

Back-Substitution 과정을 통해 차례대로 변수들의 값을 구해보자.
그러면 순서대로 z=-2, y=1, x=2라는 걸 알 수 있다.


그러면 일반적인 방법론은 무엇일까?

우선 "linear combinations of columns"와 "linear combinations of rows"를 비교해 보자.

[_________][127] =1col1+2col2+7col3\begin{bmatrix} \_ & \_ & \_ \\ \_ & \_ & \_ \\ \_ & \_ & \_ \end{bmatrix} \begin{bmatrix} 1 \\ 2 \\ 7 \end{bmatrix} \ = 1col_1 + 2col_2 + 7col_3

위는 linear combinations of columns다. 즉 오른쪽 행렬의 값을 왼쪽 행렬의 열들에 매칭시킨 값이 결과가 된다.

[127][_________] =1row1+2row2+7row3\begin{bmatrix} 1 \\ 2 \\ 7 \end{bmatrix} \begin{bmatrix} \_ & \_ & \_ \\ \_ & \_ & \_ \\ \_ & \_ & \_ \end{bmatrix} \ = 1row_1 + 2row_2 + 7row_3

반면에 linear combinations of rows는 왼쪽 행렬의 값을 오른쪽 행렬의 행들을 기준으로 매칭시킨 값이 결과가 된다.

이제 아까 x, y, z 값을 구할 때 했던 과정을 다시 살펴보자.
(1번 과정) row23row1row_2 - 3row_1
(2번 과정) row32row2row_3 - 2row_2

[100310001]E21[121381041] =[121022041]\underbrace{ \begin{bmatrix} 1 & 0 & 0 \\ -3 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} }_{E_{21}} \begin{bmatrix} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 0 & 4 & 1 \end{bmatrix} \ = \begin{bmatrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 4 & 1 \end{bmatrix}

위에서 E21E_{21}은 1번 과정에 해당하는 행렬이다. 의미는 다음과 같다.
(1, 0, 0): 1row1+0row2+0row3=[1,2,1]1row_1 + 0row_2 + 0row_3 = [1, 2, 1]
(-3, 1, 0): 3row1+1row2+0row3=[0,2,2]-3row_1 + 1row_2 + 0row_3 = [0, -2, 2]
(0, 0, 1): 0row1+0row2+1row3=[0,0,5]0row_1 + 0row_2 + 1row_3 = [0, 0, 5]

즉, linear combinations of rows를 통해서 E21E_{21}을 구할 수 있다.

마찬가지로 2번 과정인 E32E_{32}도 다음과 같이 구할 수 있을 것이다.

[100010021]E32[121022041] =[121022005]\underbrace{ \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & -2 & 1 \end{bmatrix} }_{E_{32}} \begin{bmatrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 4 & 1 \end{bmatrix} \ = \begin{bmatrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 0 & 5 \end{bmatrix}

이제 그러면 아까 위에서 값을 구했던 전체 과정을 E32,E21E_{32}, E_{21} 노테이션을 통해 간단하게 작성해 보자.

그러면 아까의 과정을 다음과 같이 간단하게 표현할 수 있을 것이다.

E32(E21A)=UE_{32}(E_{21}A) = U
(E32E21)A=U(E_{32}E_{21})A = U

위에서 (E32E21)(E_{32}E_{21}) 연산을 먼저 해도 값에는 변화가 없다는 걸 기억해두길 바란다.

다만, 연산 위치가 변하면 그건 다른 값이 되니 주의가 필요하다.
예를 들어 행렬 Permutation에서,

[0110]P[abcd] =[cdab]\underbrace{ \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} }_P \begin{bmatrix} a & b \\ c & d \end{bmatrix} \ = \begin{bmatrix} c & d \\ a & b \end{bmatrix}

위는 행 기반 combinations로, 오른쪽 행렬의 결과값들은
[c, d] = 0[a, b] + 1[c, d]
[a, b] = 1[a, b] + 0[c, d]
를 의미한다.

이제 반대로 PP 위치를 바꿔서 연산해 보자.

[abcd][0110]P =[badc]\begin{bmatrix} a & b \\ c & d \end{bmatrix} \underbrace{ \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} }_P \ = \begin{bmatrix} b & a \\ d & c \end{bmatrix}

오른쪽 행렬의 결과값들은
col1col_1인 [b, d] = 0[a, c] + 1[b, d]
col2col_2인 [a, c] = 1[a, c] + 0[b, d]
를 의미한다.

이처럼 행렬 위치가 바뀌게 될 경우, 그 결과는 다르게 나온다.

Inverse Matrix에 대해서 간단히 알아보자.

[100310001]E1[100310001]E =[100010001]I\underbrace{ \begin{bmatrix} 1 & 0 & 0 \\ 3 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} }_{E^{-1}} \underbrace{ \begin{bmatrix} 1 & 0 & 0 \\ -3 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} }_{E} \ = \underbrace{ \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} }_{I}

위에서 E1E^{-1}은 Inverse Matrix를 의미한다. 즉, EEII가 되도록 만들기 위해, E의 행들에 대해서 다음과 같은 연산을 수행한다.
(1) 1row1+0row2+0row31row_1 + 0row_2 + 0row_3
(2) 3row1+1row2+0row33row_1 + 1row_2 + 0row_3
(3) 0row1+0row2+1row30row_1 + 0row_2 + 1row_3
과정을 수행한다.
그리고 이를 행렬로 표현한 E1E^{-1}EE의 Inverse Matrix를 의미한다.

profile
천천히, 그리고 꾸준히.

0개의 댓글