수학/선형대수

Gauss Jordan으로 역행렬(Inverse Matrix) 구하기

402번째 거북이 2021. 10. 12. 15:52

 

역행렬(Inverse Matirx)과 연립일차방정식의 해의 관계

 

행렬 A의 역행렬이 존재한다면, 즉 다음이 성립한다면,

$$AA^{-1} = A^{-1}A = I$$

 

$$A^{-1}Ax = A^{-1}b$$

$$x = A^{-1}b$$

가능한 x의 집합은 하나뿐이다.

즉, 해가 하나만 존재한다.(non-singular, unique answer, invertible)

 

정리하면 아래와 같이 표현할 수 있다.

Square System의 해를 구할 때, A의 역행렬이 존재한다면 그 해는 유일(unique)하다.
이때, A는 Invertible하다고 표현한다.

 


 

가우스 조던 소거법 (Gauss-Jordan Method)

가우스 조던 소거법은 A의 역행렬을 구할 수 있는 방법이다.

원리는 A를 단위행렬(I)로 만드는 것인데, 다음의 성질을 활용한다.

$$A^{-1}A = I$$

 

역시나 예를 따라가면서 가우스 조던 소거법을 이해해보자.

아래 행렬의 역행렬을 구할 것이다.

$$A = \left[\begin{matrix} 2&1&1 \\ 4&-6&0 \\ -2&7&2 \\ \end{matrix} \right]$$

 

역행렬의 성질을 상기해보자. 행렬 A에 그 역행렬을 곱하면 단위행렬(I)이 된다.

 

$$\left[\begin{matrix} 2&1&1 \\ 4&-6&0 \\ -2&7&2 \\ \end{matrix} \right] * A^{-1} = \left[\begin{matrix}1&0&0 \\ 0&1&0 \\ 0&0&1 \\ \end{matrix}\right]$$

 

먼저, 가우스소거법을 진행할 때와 동일하게, 왼쪽에 행렬 A를 두고 오른쪽에 I를 두고 pivot 아래를 모두 0으로 만들어 A를 U(Upper Triangular Matrix) 꼴로 만들어보자.

$$\left[\begin{matrix} 2&1&1&|&1&0&0 \\ 4&-6&0&|&0&1&0 \\ -2&7&2&|&0&0&1 \\ \end{matrix} \right] $$

$$\left[\begin{matrix} 2&1&1&|&1&0&0 \\ 0&-8&-2&|&-2&1&0 \\ 0&0&1&|&-1&1&1 \\ \end{matrix} \right] $$

왼쪽은 U 꼴, 그리고 오른쪽은 E (elementary matrix를 모두 곱한 형태) 의 형태가 됨을 알 수 있다.

(원래 E·I 꼴인데, I는 있으나 마나이므로 언급하지 않았다.)

 

다음을 집중해서 보자.

마지막 행의 pivot인 1을 기준으로, 마지막 행을 이용해 해당 pivot 위의 요소들을 0으로 만들어줄 것이다.

여기서 주의해야 할 점은, 연산과정에서 다른 pivot들이 변경되어서는 안된다는 점이다.

$$\left[\begin{matrix} 2&1&0&|&2&-1&-1 \\ 0&-8&0&|&-4&3&2 \\ 0&0&1&|&-1&1&1 \\ \end{matrix} \right] $$

행 연산을 통해 1 위의 요소가 모두 0으로 바뀌었음을 확인할 수 있다.

이때 1행, 2행에 적용되는 연산은 다음과 같다.

$$r_{1} = r_{1}-r_{3}$$

$$r_{2} = r_{2}+2r_{3}$$

 

두 번째 행의 pivot인 8을 기준으로도 동일하게 가우스 조던법을 시행할 것이다.

$$\left[\begin{matrix} 2&0&0&|&{2\over 3}&{-5\over 8}&{-3\over 4} \\ 0&-8&0&|&-4&3&2 \\ 0&0&1&|&-1&1&1 \\ \end{matrix} \right] $$

행 연산을 통해 -8 위의 요소가 모두 0으로 바뀌면서, U가 대각요소만을 남기고 모두 0이 되었다.

이때 1행에 적용되는 연산은 다음과 같다.

$$r_{1} = r_{1}+{1\over 8}r_{2}$$

 

대각행렬이 만들어졌다면, 각 행에 division 연산을 해주어 대각행렬을 단위행렬(I)로 만든다.

$$\left[\begin{matrix} 1&0&0&|&{3\over 4}&{-5\over 16}&{-3\over 8} \\ 0&1&0&|&{1\over 2}&{-3\over 8}&{-1\over 4} \\ 0&0&1&|&-1&1&1 \\ \end{matrix} \right] $$

이때 각 행에 적용되는 연산은 다음과 같다.

$$r_{1} = {1\over 2}r_{1}$$

$$r_{2} = {-1\over 8}r_{1}$$

$$r_{3} = r_{3}$$

 

행렬의 최종 모습을 다시 보자.

$$\left[\begin{matrix} 1&0&0&|&{3\over 4}&{-5\over 16}&{-3\over 8} \\ 0&1&0&|&{1\over 2}&{-3\over 8}&{-1\over 4} \\ 0&0&1&|&-1&1&1 \\ \end{matrix} \right] $$

 

왼쪽은 단위행렬이다.

시작 부분에서 가우스조던 소거법이 "행렬 A를 단위행렬(I)로 만드는 것"이라고 설명했다.

왼쪽 행렬, 즉 행렬 A가 U로, 다시 I로 바뀌었음을 확인하자.

 

오른쪽에 있는 행렬이 바로 A의 역행렬 Inverse A이다.

$$\left[\begin{matrix} {3\over 4}&{-5\over 16}&{-3\over 8} \\ {1\over 2}&{-3\over 8}&{-1\over 4} \\ -1&1&1 \\ \end{matrix} \right]$$

 

 

연산 중간에, 필요에 따라 가우스소거법과 pivoting을 적절히 섞어가며 진행하자.