역행렬 (Inverse Matrix) 2
도입
역행렬의 방법을 배워도 그 원리를 이해하기 어려울 수 있는데, 그래서 기본행렬을 도입하여 역행렬을 계산하는 방법의 원리를 이해해보도록 합니다.
기본행렬 (elementary matrix)
기본행렬은 단위행렬(주대각성분은 1이고 그 외에는 모두 0인 행렬)의 두 행을 교환하거나 상수배하거나 한 행의 상수배를 다른 행에 더하여 만든 행렬입니다. 실제로 아래의 단위행렬 A를 통해 기본행렬을 만들며 이해해보도록 합시다.
단위행렬I=⎣⎢⎡100010001⎦⎥⎤
기본행렬 만드는 법
-
단위행렬의 두행을 교환
E1=⎣⎢⎡010100001⎦⎥⎤
-
단위행렬의 하나의 행을 상수배
E2=⎣⎢⎡100030001⎦⎥⎤
-
단위행열의 한 행의 상수배를 다른 행에 더함
- I의 1번행에 -2배를 한 후, 3번 행에 더해줌
E3=⎣⎢⎡10−2010001⎦⎥⎤
기본행렬과 행 연산
기본행렬은 어떤 성질이 있을까요?
어떤 행렬방정식이 있다고 할 때, 그 식의 양변의 앞에 기본행렬을 곱하는 것은 동치인 연립방정식을 만드는 행 연산을 하는 것과 같습니다.
아래 Ax=b 라는 행렬 방정식이 있다고 할 때, 양변의 앞에 위에서 만든 기본행렬을 곱해봅니다.
A=⎣⎢⎡adgbehcfi⎦⎥⎤,x=⎣⎢⎡x1x2x3⎦⎥⎤,b=⎣⎢⎡b1b2b3⎦⎥⎤
-
E1Ax=E1b
⎣⎢⎡010100001⎦⎥⎤⎣⎢⎡adgbehcfi⎦⎥⎤x=⎣⎢⎡010100001⎦⎥⎤⎣⎢⎡b1b2b3⎦⎥⎤⎣⎢⎡dagebhfci⎦⎥⎤x=⎣⎢⎡b2b1b3⎦⎥⎤
(양변의 1행과 2행의 자리를 바꾼 효과)
-
E2Ax=E2b
⎣⎢⎡100030001⎦⎥⎤⎣⎢⎡adgbehcfi⎦⎥⎤x=⎣⎢⎡100030001⎦⎥⎤⎣⎢⎡b1b2b3⎦⎥⎤⎣⎢⎡a3dgb3ehc3fi⎦⎥⎤x=⎣⎢⎡b13b2b3⎦⎥⎤
- E3Ax=E3b
⎣⎢⎡10−2010001⎦⎥⎤⎣⎢⎡adgbehcfi⎦⎥⎤x=⎣⎢⎡10−2010001⎦⎥⎤⎣⎢⎡b1b2b3⎦⎥⎤⎣⎢⎡adg−2abeh−2bcfi−2c⎦⎥⎤x=⎣⎢⎡b13b2b3⎦⎥⎤
(A의 1행에 -2배한 값을 A의 3행에 더해주는 효과)
실습문제
4x4 행렬에 대하여 다음 행 연산에 대응하는 기본행렬을 구하시오.
⎣⎢⎢⎢⎡1000010000100001⎦⎥⎥⎥⎤
- 2행과 4행을 교환하는 연산을 하는 기본행렬 구하기
- 위의 연산을 하는 기본행렬을 구하려면 단위행렬을 구한 후에 해당 연산을 단위행렬에 대해 해주면 기본행렬이 된다.
- 4x4 단위행렬의 2행과 4행을 교환해보자.
- ⎣⎢⎢⎢⎡1000000100100100⎦⎥⎥⎥⎤
- 신기하게도 이 행렬을 대상이 되는 행렬 방정식 양 변 앞쪽에 곱해주면 2행과 4행이 교환된다.
- 2행을 -3배로 만드는 연산을 하는 기본행렬 구하기
- 1번 문제처럼 4x4 단위행렬의 2행을 -3배 해보자.
- ⎣⎢⎢⎢⎡10000−30000100001⎦⎥⎥⎥⎤
- 1행의 3배를 4행에 더하여 4행을 교체하는 연산을 하는 기본행렬 구하기
- 1행에 3배 하고, 4행에 더해주자
- ⎣⎢⎢⎢⎡1003010000100001⎦⎥⎥⎥⎤
기본행렬의 역행렬
역행렬의 정의는 AB=BA=I 입니다. 기본행렬은 단위행렬I에 어떤 연산을 해서 기본행렬을 만드는데, 이렇게 만들어진 기본행렬 앞에 어떤 행렬을 곱해서 다시 I가 된다면 마지막에 곱해준 것이 역행렬이 됩니다.
즉, I
에 어떤 연산을 해서 만들어진 기본행렬 E1의 역행렬은 I에 반대의 연산을 해서 만들 수 있습니다.
단위행렬I=⎣⎢⎡100010001⎦⎥⎤
-
E1=⎣⎢⎡010100001⎦⎥⎤
이 기본행렬E1은 I의 1행과 2행을 교환하여 만들었습니다. 따라서 E1−1은 I의 1행과 2행을 거꾸로 교환해주면 됩니다. 그러나 교환이라는 것은 거꾸로가 특별히 없습니다. 결국 동일하게 교환해주게 되므로 E1와 동일한 값이 됩니다. 따라서 E1의 역행렬은 아래와 같습닌다.
E1−1=⎣⎢⎡010100001⎦⎥⎤
-
E2=⎣⎢⎡10001000a⎦⎥⎤
이 기본행렬 E2는 마지막 행을 a배 한 것입니다. 따라서 a로 나누기 위해서는 a의 역수배를 해주면 됩니다. 따라서 a1 를 곱해주면 역행렬을 구할 수 있습니다.
E2−1=⎣⎢⎡10001000a1⎦⎥⎤
-
E3=⎣⎢⎡10a010001⎦⎥⎤
이 기본행렬 E3는 I행렬의 1행에 a배 한 것을 3행에 더해준 것입니다. 따라서 역수를 위해서는 −a배를 하여 3항에 더해줍시다.
E3−1=⎣⎢⎡10−a010001⎦⎥⎤
기본행렬 곱에 의한 역행렬 계산
행렬 A를 단위행렬 I로 변환하기 위해서 곱해지는 일련의 기본행렬의 곱 En⋯E2E1이 역행렬입니다.
A→A1→A2→⋯An=I
- A1=E1A
- A2=E2A1=E2E1A
- ⋯
- An=EnAn−1=En⋯E2E1A=I
- A−1=En⋯E2E1
행 연산에 의한 역행렬 계산
위의 En⋯E2E1 부분만 뽑아내려면 어떻게 해야 할까요?
A를 [A∣I]로 써둔 다음, 기본행렬 연산을 가우스조던 소거법처럼 계속 해주다가 왼쪽이 I될 때 멈춘다면 우측이 A의 역행렬이 됩니다.