2.3 Inverse of Matrix (2)

Jaehyun_onelion·2023년 3월 17일
0

선형대수학

목록 보기
11/42

이번 포스트에서는 일반적인 square matrix에 대해 inverse를 구하는 방법에 대해서 알아보겠습니다.


1) Elementary matrix


Inverse를 구하는 과정에서 elementary matrix를 이용합니다.


  • Definition : Elementary matrix

Elementary matrix is the matrix that is obtained by performing single elementary row operation on an identity matrix

Elementary matrix를 특정한 matrix에 곱하게 되면, matrix에 row operation을 취한 matrix와 같게 만들어줍니다.

다음의 예시 elementary를 살펴봅시다.


example

E1=[100010401], E2=[010100001], E3=[100010003], A=[abcdefghi]E_1=\begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ -4 & 0 & 1\end{bmatrix}, \ E_2 = \begin{bmatrix}0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1\end{bmatrix}, \ E_3 = \begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 3\end{bmatrix}, \ A=\begin{bmatrix}a & b & c \\ d & e & f \\ g & h & i\end{bmatrix}

다음 4개의 matrix가 있습니다. 먼저 E1AE_1A를 구하면

E1A=[100010401][abcdefghi]=[abcdef4a+g4b+h4c+i]E_1A=\begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ -4 & 0 & 1\end{bmatrix} \begin{bmatrix}a & b & c \\ d & e & f \\ g & h & i\end{bmatrix} =\begin{bmatrix}a & b & c \\ d & e & f \\-4a+ g & -4b+h &-4c+i\end{bmatrix}

E1E_1AA에 곱한 matrix는 AA의 3행 대신 3행에 1행의 -4배를 더한 행으로 교체된 matrix입니다. 즉, E1E_1을 곱해준 matrix는 AAreplacement를 적용한 matrix가 됩니다.

다음, E2AE_2A를 구하면

E2A=[010100001][abcdefghi]=[defabcghi]E_2A=\begin{bmatrix}0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1\end{bmatrix} \begin{bmatrix}a & b & c \\ d & e & f \\ g & h & i\end{bmatrix} =\begin{bmatrix}d & e & f \\ a & b & c \\g & h &i\end{bmatrix}

E2AE_2AAA의 1행과 2행의 위치를 바꾼 matrix입니다. 즉, E2E_2를 곱해준 matrix는 AAinterchange를 적용한 matrix가 됩니다.

마지막으로, E3AE_3A를 구하면

E2A=[100010003][abcdefghi]=[abcdef3g3h3i]E_2A=\begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 3\end{bmatrix} \begin{bmatrix}a & b & c \\ d & e & f \\ g & h & i\end{bmatrix} =\begin{bmatrix}a & b & c \\ d & e & f \\3g & 3h &3i\end{bmatrix}

E3AE_3AAA의 3행에 3을 곱해준 matrix입니다. 즉, E3E_3를 곱해준 matrix는 AAscaling을 적용한 matrix가 됩니다.

E1,E2,E3E_1, E_2, E_3처럼, 곱하였을 때 row operation과 같은 역할을 해주는 matrix를 elementary matrix라고 합니다.


(1) Elementary matrix and invertible matrix


m×nm \times n matrix AA에 elementary matrix EE를 곱한 EAEA는, AA에 특정한 row operation(EAEA와 같은 결과를 만드는 row operation)을 취한 matrix입니다.

이 때, 모든 row operation은 반대의 row operation 또한 가지기 때문에(reversible 하기 때문에), Elementary matrix는 invertible합니다.

EAEA를 기존의 matrix AA로 만들어주는 row operation이 존재하고, 이는 이에 해당하는 elementary matrix FF가 존재한다는 것과 같은 의미를 지닙니다.

따라서, EF=FE=IEF = FE = I를 만족하므로, F=E1,E=F1F=E^{-1}, E=F^{-1}입니다.

각각의 elementary matrix E1,E2,...,EkE_1, E_2, ..., E_k들이 invertible하므로, 이들의 곱 EkEk1E2E1E_kE_{k-1}\cdots E_2E_1 또한 invertible합니다.

이 때, EkEk1E2E1E_kE_{k-1}\cdots E_2E_1E1E_1에 해당하는 row operation, E2E_2에 해당하는 row operation, ..., EkE_k에 해당하는 row operation을 차례대로 취한 결과와 같게 만들어주는 matrix입니다.

즉, EkEk1E2E1AE_kE_{k-1}\cdots E_2E_1AAA에 각각에 elementary matrix에 해당하는 row operation을 순서대로 적용한 matrix로 생각할 수 있습니다.

만약, AA에 row operation을 취하여 Identity matrix II(이 때 identity matrix는 AA의 reduced echelon form입니다.)를 만들 수 있다면, 이는

EkEk1E2E1A=IE_kE_{k-1}\cdots E_2E_1A=I

를 뜻하고, AA가 invertible matrix인 것을 의미합니다. 또한 AA의 inverse는

A1=EkEk1E2E1A^{-1}=E_kE_{k-1}\cdots E_2E_1

임을 알 수 있습니다. 이를 일반화한 정리가 다음 정리입니다.


Theorem

An n×nn \times n matrix AA is invertible if and only if AA is row equivalent to InI_n, and in this case, any sequence of elementary row operations that reduces AA to InI_n also transforms InI_n into A1A^{-1}

즉, AAInI_n과 row equivalent하면, AA는 invertible하고, AAInI_n으로 만드는 row operation 과정을 InI_n에 적용하였을 때 얻어지는 matrix가 A1A^{-1}이 됩니다. (증명은 appendix 참고)

이 정리를 이용하면, 임의의 square matrix AA가 invertible matrix인지 아닌지, invertible하면 inverse가 무엇인지 바로 알 수 있습니다.


2) Algorithm for Finding A1A^{-1}


위의 정리를 이용하여 A1A^{-1}를 찾는 방법에 대해 알아보겠습니다.


(1) Algorithm for finding A1A^{-1}


Row reduce the augmented matrix [AI]\begin{bmatrix}A & I\end{bmatrix}. If AA is row equivalent to II, then [AI]\begin{bmatrix}A & I\end{bmatrix} is row equivalent to [IA1]\begin{bmatrix}I & A^{-1}\end{bmatrix} . Otherwise, AA does not have an inverse.

위의 정리 내용은 AAII와 row equivalent하면 AA는 invertible하다는 것이었습니다. 또한 AAII로 만드는 row operation은 IIA1A^{-1}로 만드는 row operation입니다. 그리고, row operation에 대응하는 elementary matrix가 존재합니다. 이 셋을 종합하면, AAII로 만드는 row operation을

EkEk1E2E1E_kE_{k-1}\cdots E_2E_1

elementary matrix의 곱으로 두면,

EkEk1E2E1A=IE_kE_{k-1}\cdots E_2E_1A=I

가 되어

A1=EkEk1E2E1A^{-1}=E_kE_{k-1}\cdots E_2E_1

가 됩니다. 여기서, EkEk1E2E1E_kE_{k-1}\cdots E_2E_1는,

EkEk1E2E1=EkEk1E2E1IE_kE_{k-1}\cdots E_2E_1 = E_kE_{k-1}\cdots E_2E_1I

입니다. 즉, A1A^{-1}Identity matrix에 AAII로 만드는 row operation을 적용한 matrix입니다.

따라서, A1A^{-1}를 찾는 알고리즘은

[AI]\begin{bmatrix}A & I\end{bmatrix}

matrix를 생각합니다. 만약 AAn×nn \times n matrix이면 위 matrix는 n×2nn \times 2n matrix입니다. 여기서, AAII는 row operation을 진행하는데 영향을 미치지 않고, AA에서 II로 만드는 row operation이 IIA1A^{-1}로 만드는 row operation이므로, 이 row operation을 진행해주면

EkEk1E2E1[AI]=[IA1]E_kE_{k-1}\cdots E_2E_1\begin{bmatrix}A & I\end{bmatrix} = \begin{bmatrix}I & A^{-1}\end{bmatrix}

이 됩니다. 즉, AAII로 만들었을 때, IIA1A^{-1}이 됩니다. 만약, AAII와 row equivalent하지 않으면, row operation을 취했을 때, II가 나오지 않을 것이고, 따라서 invertible하지 않은 것을 알 수 있습니다.

정리하면

[AI][IA1]\begin{bmatrix}A & I\end{bmatrix} \sim \begin{bmatrix}I & A^{-1}\end{bmatrix}

로 만들어 AA의 inverse를 구할 수 있습니다.


example

A=[012103438]A=\begin{bmatrix}0 & 1 &2 \\ 1 & 0 & 3 \\ 4 & -3 & 8\end{bmatrix}

의 inverse를 구하기 위해 $\begin{bmatrix}A & I\end{bmatrix} $를 만들어서 이를 $\begin{bmatrix}I & A^{-1}\end{bmatrix} $로 만들어주면

[012100103010438001][1009273201024100132212]\begin{bmatrix}0 & 1 &2 & 1 & 0 & 0 \\ 1 & 0 & 3 & 0 & 1 & 0 \\ 4 & -3 & 8 & 0 & 0 &1\end{bmatrix} \sim \begin{bmatrix}1 & 0 &0 & -\frac{9}{2} & 7 & -\frac{3}{2} \\ 0& 1 & 0 & -2 & 4 & -1 \\ 0 & 0 & 1 & \frac{3}{2} & -2 & \frac{1}{2}\end{bmatrix}

가 되어,

A1=[9273224132212]A^{-1}= \begin{bmatrix} -\frac{9}{2} & 7 & -\frac{3}{2} \\-2 & 4 & -1 \\\frac{3}{2} & -2 & \frac{1}{2}\end{bmatrix}

가 됩니다.

example

B=[121156545]B=\begin{bmatrix}1 & -2 &-1 \\ -1 & 5 & 6 \\ 5 & -4 & 5\end{bmatrix}

의 inverse를 구하기 위하여, $\begin{bmatrix}B & I\end{bmatrix} $를 $\begin{bmatrix}I & B^{-1}\end{bmatrix} $로 만들어주는 과정을 진행하면

[121100156010545001][121100035110000721]\begin{bmatrix}1 & -2 &-1 & 1 & 0 & 0 \\ -1 & 5 & 6 & 0 & 1 & 0 \\ 5 & -4 & 5 & 0 & 0 &1\end{bmatrix} \sim \begin{bmatrix}1 & -2 &-1 & 1 & 0 &0 \\ 0& 3 & 5 & 1 & 1 & 0 \\ 0 & 0 & 0 & -7 & -2 & 1\end{bmatrix}

위 matrix가 나옵니다. [BI]\begin{bmatrix}B & I\end{bmatrix}에서 BB 부분을 row operation을 취해주었을 때 zero row가 발생하여, BBII와 row equivalent하지 않은 것을 알 수 있습니다. 따라서 BB는 invertible하지 않습니다.


(2) Another view of matrix inversion


A1A^{-1}를 찾는 algorithm에서 사용되는 $\begin{bmatrix}A & I\end{bmatrix} $ matrix에 대한 다른 해석입니다.

위에서 정의된 identity matrix의 column을 e1,e2,...,en\boldsymbol{e_1}, \boldsymbol{e_2}, ..., \boldsymbol{e_n}이라 하면

I=[e1e2...en]I=\begin{bmatrix}\boldsymbol{e_1} & \boldsymbol{e_2} & ... & \boldsymbol{e_n}\end{bmatrix}

으로 해석할 수 있습니다.

여기서

[AI][IA1]\begin{bmatrix}A & I\end{bmatrix} \sim \begin{bmatrix}I & A^{-1}\end{bmatrix}

를 찾는 과정을 II의 각각의 column에 대해서 해석을 하면

[Aej][I?]\begin{bmatrix}A & \boldsymbol{e_j}\end{bmatrix} \sim \begin{bmatrix}I & ?\end{bmatrix}

로 생각할 수 있습니다. $\begin{bmatrix}A & \boldsymbol{e_j}\end{bmatrix} $를 어떤 linear system의 augmented matrix로 생각하면, 이 linear system은

Ax=ejA\boldsymbol{x}=\boldsymbol{e_j}

로 생각할 수 있습니다. 즉, 이러한 linear system, 또는 matrix equation을 II의 각 column에 대해 실시하므로

Ax=e1,Ax=e2,...,Ax=enA\boldsymbol{x}=\boldsymbol{e_1}, A\boldsymbol{x}=\boldsymbol{e_2}, ..., A\boldsymbol{x}=\boldsymbol{e_n}

과 같이 n개의 matrix equation의 solution을 이용하여 A1A^{-1}의 column을 구하게 됩니다.

하지만 위 matrix equation을 풀 때, augemented matrix를 reduced echelon form으로 만드는 row operation이 n개의 matrix equation에 동일한 row operation이 적용되기 때문에,

[AI][IA1]\begin{bmatrix}A & I\end{bmatrix} \sim \begin{bmatrix}I & A^{-1}\end{bmatrix}

를 이용하여 한번에 구하게 됩니다.

지금까지 A1A^{-1}를 구하기 위해 elementary matrix와 algorithm에 대해 알아보았습니다. 다음 포스트에서는 Invertible Matrix Theorem에 대해 알아보겠습니다. 질문이나 오류 있으면 댓글 남겨주세요! 감사합니다!


Appendix : Proof of Theorem


(1) Elementary matrix and invertible matrix


Theorem

An n×nn \times n matrix AA is invertible if and only if AA is row equivalent to InI_n, and in this case, any sequence of elementary row operations that reduces AA to InI_n also transforms InI_n into A1A^{-1}


  • proof
  • \Rightarrow 방향

Matrix AA 가 invertible할 때, AAII와 row equivalent한 것을 밝혀야 합니다.

InI_n을 보게 되면, InI_n은 reduced echelon form을 만족합니다. 즉, AAInI_n과 row equivalent하다는 것은, AA의 reduced echelon form이 InI_n인 것을 의미합니다.

그런데 InI_n을 보면 모든 diagonal entry 값이 1입니다. 즉, zero row 가 존재하지 않습니다.

따라서 AA를 row operation을 통해 reduced echelon form을 만들었을 때, InI_n이 되거나, zero row가 존재하는 reduced echelon form TT가 될 수도 있습니다.

AAInI_n이 아닌, TT와 row equivalent하다고 가정해봅시다. 즉, AA의 reduced echelon form이 zero row를 포함한다고 가정해봅시다.

그리고 다음의 matrix equation을 생각해봅시다.

Ax=bA\boldsymbol{x}=\boldsymbol{b}

AA가 invertible하기 때문에 Rn\mathbb{R}^n에 존재하는 모든 b\boldsymbol{b}에 대해서 위 equation은 unique한 solution을 가져야 합니다.

하지만 만약 AATT와 row equivalent하다면, 위의 matrix equation과 같은 solution을 가지는 linear system의 augmented matrix가

[Ab]\begin{bmatrix}A &\boldsymbol{b}\end{bmatrix}

가 되고, 이를 reduced echelon form을 만들면

[Tb]\begin{bmatrix}T &\boldsymbol{b'}\end{bmatrix}

이 됩니다. 이 때, Rn\mathbb{R}^n에 속하는 모든 b\boldsymbol{b}에 대해서 위 matrix equation이 solution이 존재해야 하는데, TT는 zero row를 포함하기 때문에, 위 reduced echelon form에서 하나의 row가

[00...0b], b0\begin{bmatrix}0 & 0 & ... & 0 & b''\end{bmatrix}, \ b''\neq0

가 되는 b\boldsymbol{b}가 존재합니다. 즉, 위 matrix equation의 solution이 존재하지 않는 b\boldsymbol{b}가 존재합니다. AA가 invertible하므로 모든 b\boldsymbol{b}에 대해서 matrix equation이 solution이 존재해야하는데 모순이 발생하였기 때문에 증명에서 내린 가정

AAInI_n이 아닌, TT와 row equivalent하다

가 틀린 가정이 됩니다. 따라서

AAInI_n와 row equivalent합니다.

  • \Leftarrow 방향

AAInI_n과 row equivalent하면 AA는 invertible하다는 것을 밝혀야 합니다.

AAInI_n과 row equivalent하므로, AA에서 row operation을 취하여 InI_n을 만들 수 있습니다. row operation에 해당하는 elementary matrix를 E1,E2,...,EkE_1, E_2, ..., E_k라고 하면

EkEk1E2E1A=IE_kE_{k-1}\cdots E_2E_1A=I

를 만족합니다. elementary matrix는 invertible하고, 위의 식을 통해서 AA 또한 invertible하고

A1=EkEk1E2E1A^{-1}=E_kE_{k-1}\cdots E_2E_1

임을 알 수 있습니다.


  • Theorem

위 정리에서 추가적으로,

any sequence of elementary row operations that reduces AA to InI_n also transforms InI_n into A1A^{-1}

의 증명은 다음과 같습니다.

  • proof

앞선 증명에서

A1=EkEk1E2E1A^{-1}=E_kE_{k-1}\cdots E_2E_1

인 것을 알 수 있습니다.

이 때,

EkEk1E2E1=EkEk1E2E1IE_kE_{k-1}\cdots E_2E_1=E_kE_{k-1}\cdots E_2E_1I

로 표현할 수 있습니다. 즉, identity matrix에 AAII로 만드는 row operation을 적용한 matrix가 A1A^{-1}입니다.

profile
데이터 분석가 새싹

0개의 댓글