이번 포스트에서는 일반적인 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=⎣⎢⎡10−4010001⎦⎥⎤, E2=⎣⎢⎡010100001⎦⎥⎤, E3=⎣⎢⎡100010003⎦⎥⎤, A=⎣⎢⎡adgbehcfi⎦⎥⎤
다음 4개의 matrix가 있습니다. 먼저 E1A를 구하면
E1A=⎣⎢⎡10−4010001⎦⎥⎤⎣⎢⎡adgbehcfi⎦⎥⎤=⎣⎢⎡ad−4a+gbe−4b+hcf−4c+i⎦⎥⎤
E1을 A에 곱한 matrix는 A의 3행 대신 3행에 1행의 -4배를 더한 행으로 교체된 matrix입니다. 즉, E1을 곱해준 matrix는 A에 replacement를 적용한 matrix가 됩니다.
다음, E2A를 구하면
E2A=⎣⎢⎡010100001⎦⎥⎤⎣⎢⎡adgbehcfi⎦⎥⎤=⎣⎢⎡dagebhfci⎦⎥⎤
E2A는 A의 1행과 2행의 위치를 바꾼 matrix입니다. 즉, E2를 곱해준 matrix는 A에 interchange를 적용한 matrix가 됩니다.
마지막으로, E3A를 구하면
E2A=⎣⎢⎡100010003⎦⎥⎤⎣⎢⎡adgbehcfi⎦⎥⎤=⎣⎢⎡ad3gbe3hcf3i⎦⎥⎤
E3A는 A의 3행에 3을 곱해준 matrix입니다. 즉, E3를 곱해준 matrix는 A에 scaling을 적용한 matrix가 됩니다.
E1,E2,E3처럼, 곱하였을 때 row operation과 같은 역할을 해주는 matrix를 elementary matrix라고 합니다.
(1) Elementary matrix and invertible matrix
m×n matrix A에 elementary matrix E를 곱한 EA는, A에 특정한 row operation(EA와 같은 결과를 만드는 row operation)을 취한 matrix입니다.
이 때, 모든 row operation은 반대의 row operation 또한 가지기 때문에(reversible 하기 때문에), Elementary matrix는 invertible합니다.
EA를 기존의 matrix A로 만들어주는 row operation이 존재하고, 이는 이에 해당하는 elementary matrix F가 존재한다는 것과 같은 의미를 지닙니다.
따라서, EF=FE=I를 만족하므로, F=E−1,E=F−1입니다.
각각의 elementary matrix E1,E2,...,Ek들이 invertible하므로, 이들의 곱 EkEk−1⋯E2E1 또한 invertible합니다.
이 때, EkEk−1⋯E2E1는 E1에 해당하는 row operation, E2에 해당하는 row operation, ..., Ek에 해당하는 row operation을 차례대로 취한 결과와 같게 만들어주는 matrix입니다.
즉, EkEk−1⋯E2E1A는 A에 각각에 elementary matrix에 해당하는 row operation을 순서대로 적용한 matrix로 생각할 수 있습니다.
만약, A에 row operation을 취하여 Identity matrix I(이 때 identity matrix는 A의 reduced echelon form입니다.)를 만들 수 있다면, 이는
EkEk−1⋯E2E1A=I
를 뜻하고, A가 invertible matrix인 것을 의미합니다. 또한 A의 inverse는
A−1=EkEk−1⋯E2E1
임을 알 수 있습니다. 이를 일반화한 정리가 다음 정리입니다.
Theorem
An n×n matrix A is invertible if and only if A is row equivalent to In, and in this case, any sequence of elementary row operations that reduces A to In also transforms In into A−1
즉, A가 In과 row equivalent하면, A는 invertible하고, A를 In으로 만드는 row operation 과정을 In에 적용하였을 때 얻어지는 matrix가 A−1이 됩니다. (증명은 appendix 참고)
이 정리를 이용하면, 임의의 square matrix A가 invertible matrix인지 아닌지, invertible하면 inverse가 무엇인지 바로 알 수 있습니다.
2) Algorithm for Finding A−1
위의 정리를 이용하여 A−1를 찾는 방법에 대해 알아보겠습니다.
(1) Algorithm for finding A−1
Row reduce the augmented matrix [AI]. If A is row equivalent to I, then [AI] is row equivalent to [IA−1] . Otherwise, A does not have an inverse.
위의 정리 내용은 A가 I와 row equivalent하면 A는 invertible하다는 것이었습니다. 또한 A를 I로 만드는 row operation은 I를 A−1로 만드는 row operation입니다. 그리고, row operation에 대응하는 elementary matrix가 존재합니다. 이 셋을 종합하면, A를 I로 만드는 row operation을
EkEk−1⋯E2E1
elementary matrix의 곱으로 두면,
EkEk−1⋯E2E1A=I
가 되어
A−1=EkEk−1⋯E2E1
가 됩니다. 여기서, EkEk−1⋯E2E1는,
EkEk−1⋯E2E1=EkEk−1⋯E2E1I
입니다. 즉, A−1은 Identity matrix에 A를 I로 만드는 row operation을 적용한 matrix입니다.
따라서, A−1를 찾는 알고리즘은
[AI]
matrix를 생각합니다. 만약 A가 n×n matrix이면 위 matrix는 n×2n matrix입니다. 여기서, A와 I는 row operation을 진행하는데 영향을 미치지 않고, A에서 I로 만드는 row operation이 I를 A−1로 만드는 row operation이므로, 이 row operation을 진행해주면
EkEk−1⋯E2E1[AI]=[IA−1]
이 됩니다. 즉, A를 I로 만들었을 때, I는 A−1이 됩니다. 만약, A가 I와 row equivalent하지 않으면, row operation을 취했을 때, I가 나오지 않을 것이고, 따라서 invertible하지 않은 것을 알 수 있습니다.
정리하면
[AI]∼[IA−1]
로 만들어 A의 inverse를 구할 수 있습니다.
example
A=⎣⎢⎡01410−3238⎦⎥⎤
의 inverse를 구하기 위해 $\begin{bmatrix}A & I\end{bmatrix} $를 만들어서 이를 $\begin{bmatrix}I & A^{-1}\end{bmatrix} $로 만들어주면
⎣⎢⎡01410−3238100010001⎦⎥⎤∼⎣⎢⎡100010001−29−22374−2−23−121⎦⎥⎤
가 되어,
A−1=⎣⎢⎡−29−22374−2−23−121⎦⎥⎤
가 됩니다.
example
B=⎣⎢⎡1−15−25−4−165⎦⎥⎤
의 inverse를 구하기 위하여, $\begin{bmatrix}B & I\end{bmatrix} $를 $\begin{bmatrix}I & B^{-1}\end{bmatrix} $로 만들어주는 과정을 진행하면
⎣⎢⎡1−15−25−4−165100010001⎦⎥⎤∼⎣⎢⎡100−230−15011−701−2001⎦⎥⎤
위 matrix가 나옵니다. [BI]에서 B 부분을 row operation을 취해주었을 때 zero row가 발생하여, B는 I와 row equivalent하지 않은 것을 알 수 있습니다. 따라서 B는 invertible하지 않습니다.
(2) Another view of matrix inversion
A−1를 찾는 algorithm에서 사용되는 $\begin{bmatrix}A & I\end{bmatrix} $ matrix에 대한 다른 해석입니다.
위에서 정의된 identity matrix의 column을 e1,e2,...,en이라 하면
I=[e1e2...en]
으로 해석할 수 있습니다.
여기서
[AI]∼[IA−1]
를 찾는 과정을 I의 각각의 column에 대해서 해석을 하면
[Aej]∼[I?]
로 생각할 수 있습니다. $\begin{bmatrix}A & \boldsymbol{e_j}\end{bmatrix} $를 어떤 linear system의 augmented matrix로 생각하면, 이 linear system은
Ax=ej
로 생각할 수 있습니다. 즉, 이러한 linear system, 또는 matrix equation을 I의 각 column에 대해 실시하므로
Ax=e1,Ax=e2,...,Ax=en
과 같이 n개의 matrix equation의 solution을 이용하여 A−1의 column을 구하게 됩니다.
하지만 위 matrix equation을 풀 때, augemented matrix를 reduced echelon form으로 만드는 row operation이 n개의 matrix equation에 동일한 row operation이 적용되기 때문에,
[AI]∼[IA−1]
를 이용하여 한번에 구하게 됩니다.
지금까지 A−1를 구하기 위해 elementary matrix와 algorithm에 대해 알아보았습니다. 다음 포스트에서는 Invertible Matrix Theorem에 대해 알아보겠습니다. 질문이나 오류 있으면 댓글 남겨주세요! 감사합니다!
Appendix : Proof of Theorem
(1) Elementary matrix and invertible matrix
Theorem
An n×n matrix A is invertible if and only if A is row equivalent to In, and in this case, any sequence of elementary row operations that reduces A to In also transforms In into A−1
Matrix A 가 invertible할 때, A가 I와 row equivalent한 것을 밝혀야 합니다.
In을 보게 되면, In은 reduced echelon form을 만족합니다. 즉, A가 In과 row equivalent하다는 것은, A의 reduced echelon form이 In인 것을 의미합니다.
그런데 In을 보면 모든 diagonal entry 값이 1입니다. 즉, zero row 가 존재하지 않습니다.
따라서 A를 row operation을 통해 reduced echelon form을 만들었을 때, In이 되거나, zero row가 존재하는 reduced echelon form T가 될 수도 있습니다.
A가 In이 아닌, T와 row equivalent하다고 가정해봅시다. 즉, A의 reduced echelon form이 zero row를 포함한다고 가정해봅시다.
그리고 다음의 matrix equation을 생각해봅시다.
Ax=b
A가 invertible하기 때문에 Rn에 존재하는 모든 b에 대해서 위 equation은 unique한 solution을 가져야 합니다.
하지만 만약 A가 T와 row equivalent하다면, 위의 matrix equation과 같은 solution을 가지는 linear system의 augmented matrix가
[Ab]
가 되고, 이를 reduced echelon form을 만들면
[Tb′]
이 됩니다. 이 때, Rn에 속하는 모든 b에 대해서 위 matrix equation이 solution이 존재해야 하는데, T는 zero row를 포함하기 때문에, 위 reduced echelon form에서 하나의 row가
[00...0b′′], b′′=0
가 되는 b가 존재합니다. 즉, 위 matrix equation의 solution이 존재하지 않는 b가 존재합니다. A가 invertible하므로 모든 b에 대해서 matrix equation이 solution이 존재해야하는데 모순이 발생하였기 때문에 증명에서 내린 가정
A가 In이 아닌, T와 row equivalent하다
가 틀린 가정이 됩니다. 따라서
A는 In와 row equivalent합니다.
A가 In과 row equivalent하면 A는 invertible하다는 것을 밝혀야 합니다.
A가 In과 row equivalent하므로, A에서 row operation을 취하여 In을 만들 수 있습니다. row operation에 해당하는 elementary matrix를 E1,E2,...,Ek라고 하면
EkEk−1⋯E2E1A=I
를 만족합니다. elementary matrix는 invertible하고, 위의 식을 통해서 A 또한 invertible하고
A−1=EkEk−1⋯E2E1
임을 알 수 있습니다.
위 정리에서 추가적으로,
any sequence of elementary row operations that reduces A to In also transforms In into A−1
의 증명은 다음과 같습니다.
앞선 증명에서
A−1=EkEk−1⋯E2E1
인 것을 알 수 있습니다.
이 때,
EkEk−1⋯E2E1=EkEk−1⋯E2E1I
로 표현할 수 있습니다. 즉, identity matrix에 A를 I로 만드는 row operation을 적용한 matrix가 A−1입니다.