Inverse Matrix
Definition of Inverse Matrix
행렬의 앞/뒤 어디에 곱하든 그 결과가 항등행렬 I가 되는 행렬
용어
- invertible, non-singular : 역행렬이 존재하는 행렬
- singular : 역행렬이 존재하지 않는 행렬
Properties of Inverse Matrix
- Inverse Matrix는 유일하다. (1개이다)
증명
a. 만약 행렬 A가 역행렬 B와 C를 가진다고 가정하자.AB=BA=I, AC=CA=I b. CA=I의 양변에 B를 곱하면,c. 이때, a에서 한 가정때문에 AB=I이다.d. 역행렬 B와 C는 동일한 행렬일 수 밖에 없다. 따라서 Inverse Matrix는 유일하다.
- n×n 행렬 A가 invertible하면 A는 n개의 pivot을 가진다.
↔️ n×n 행렬 A가 n개의 pivot을 가지면 A는 invertible matrix이다.
증명
a. n×n 행렬 A가 n개의 pivot을 가지면, Gauss Elimination을 이용하여 A를 row echelon form matrix으로 나타낼 수 있다.
ex) 2×2 행렬을 G.E하여 pivot 1,−4 2개를 가지는 row echelon form으로 변환했다.[1322]→G.E[102−4] b. 따라서 Ax=b는 무조건 해을 가지므로 해를 구하기 위해서 수식을 변형시키면 다음과 같다. c. 따라서 행렬 A는 invertible matrix이다.
-
L: Low transform matrix(or U: Upper transform matrix)이 invertible matrix라면, 대각성분에 0이 존재하지 않는다.
↔ 대각성분에 0이 없다면 LorU 행렬은 invertible matrix이다.
: pivot이 n개 존재하기 위해서는 0인 성분을 가져서는 안된다. (2번 성질과 동일한 의미)
-
Digonal Matrix: 대각행렬 A의 대각성분 중에서 0이 1개라도 존재한다면, A는 singular matrix이다.
↔️ singular matrix인 Digonal Matirx A의 대각성분에는 적어도 0이 1개 이상존재한다.
: 0인 원소를 대각성분에 가진다면 pivot은 0이 될 수 없기 때문에 n×n 행렬이 n개의 pivot을 가지지 않게 된다. (2번 성질과 동일한 의미)
-
A가 역행렬을 가지면 선형방정식 Ax=b는 x=A−1b인 유일한 해를 가진다. (2번 성질과 동일한 의미)
-
선형방정식 Ax=0에서 x가 영벡터가 아니라면, A는 singular matrix이다.
증명
a. 일반적인 선형방정식을 풀 때처럼(3번)* 양변에 A의 inverse matrix를 곱한다.
b. 0이 곱해졌기 떄문에 우변의 결과는 0이고, 따라서 좌변은 다음과 같다.
c. 따라서 A가 역행렬을 가지면(a) Ax=0의 유일한 해는 x=0 (영벡터) 이다.
↔️ x=0이면, A는 역행렬을 가지지 않는다.
-
(드모르간의 정리) n×n 행렬 A, B가 invertible matrix이면 다음의 식이 만족한다.
(AB)−1=B−1A−1
증명
a. 우변에 AB를 곱하여 정리한다.
AB(B−1A−1)=AIA−1=I
b. 정리한 결과가 항등행렬이므로, inverse matrix의 definition에 따라 성질이 참임을 보일 수 있다.
-
2×2 행렬이 invertible이기 위한 조건 (필요충분)
- 조건 : *행렬식**이 0이 아니다.
if and only if ad−bc=0
- 역행렬을 구하는 방법
[acbd]−1=ad−bc1[d−c−ba]
- 증명
a. a=0 이면, Gauss Elimination 과정에서 1행과 2행을 바꾸면서 c와 b가 pivot이 된다. pivot과 invertible의 관계에 의해 invertible 이려면 c=0,b=0 [0cbd]→G.E[c0db] if a=0, c=0 and b=0 b. a=0 이면, Gauss Elimination의 결과에 따라 a와 d−acb가 pivot이 된다. pivot과 invertible의 관계에 의해 invertible이려면 d−acb=0→ad−cb=0 [acbd]→G.E[a0bd−acb] if a=0, ad−cb=0
Gauss-Jordan Elimination
Gauss Elimination의 한계
Inverse matrix의 성질에 따라, ∗∗n×n 행렬이 n개의 pivot을 가지면 Invertible**하다는 것을 알 수 있다.
따라서 Gauss Elimination을 이용하여 행렬을 row echelon form으로 변환하고 pivot의 수를 세서 Invertible한지 아닌지를 알아낼 수 있다. 그러나 inverse matrix를 구하기 위해서 Gauss Elimination을 진행하기에는 계산량이 너무 과하다. O(n2)
Gauss-Jordan elimination
Gauss-Jordan elimination은 일반적인 Gauss elimination과 크게 다르지 않지만, 행렬의 inverse matrix를 더 쉽게 구할 수 있도록 해준다.
행렬과 inverse matrix를 곱한 결과인 항등행렬 I의 각 열을 만드는 inverse matrix의 각 열 벡터를 계산하는 아이디어.
과정 (in 3×3 matrix)
-
inverse matrix를 모르는 상태이므로 임의의 요소로 행렬을 만든다.
-
inverse matrix의 각 열을 하나의 열 벡터로 취급하여 표현한다.
A−1=⎣⎢⎡x1x2x3y1y2y3z1z2z3⎦⎥⎤=[xyz]
-
이렇게 표현한 행렬을 이용하면, AA−1을 다음과 같은 수식으로 표현할 수 있다.
AA−1=[AxAyAz]=I
-
항등행렬의 각 열을 e1,e2,e3으로 두면, 다래와 같은 3개의 방정식을 만들어낼 수 있다.
I=⎣⎢⎡100010001⎦⎥⎤=[e1e2e3]
Ax=e1Ay=e2Az=e3
-
이는 연립방정식의 형태와 크게 다르지 않기에, 3개의 방정식을 한번에 표현하여 Gauss Elimintation을 진행하여 Digonal Matrix를 만든다.
*일반적인 Gauss Elimination과 다른점은 위로도 행 소거연산이 가능하다.
[Ae1e2e3]
-
elimination이 끝나면 A가 항등행렬로 표현될 수 있게 pivot이 1이 되도록 행마다 상수곱을 해준다.
→ 즉, Elimination을 끝낸 A행렬이 항등행렬이 된다.
-
Ax=e1가 Ix=A−1의 첫번째 열이 된다.
→ 즉, Elimination을 끝낸 [e1e2e3] 행렬이 Inverse matrix가 된다.
[A∣I]→G−J[I∣A−1]
G-J 과정을 거쳐 A를 항등행렬로 표현하는 과정은, 역행렬 A−1을 곱한 결과와 동일하기 때문에 A와 함께 표현된 항등행렬I에 A−1이 곱해졌다고 생각하면 A−1을 얻을 수 있다.
Gauss-Jordan elimination Example.
A=⎣⎢⎡2−10−12−10−12⎦⎥⎤
-
augmentend matrix form
⎣⎢⎡2−10−12−10−12100010001⎦⎥⎤
-
Gauss-Jordan Elimination
→G.E⎣⎢⎡200−123−10−121210010001⎦⎥⎤ →G.E⎣⎢⎡200−12300−134121310132001⎦⎥⎤
G.E upward***
→G.E up⎣⎢⎡200−1230003414331023320431⎦⎥⎤ →G.E up⎣⎢⎡200023000343243311233221431⎦⎥⎤
-
Scaliling
⎣⎢⎡10001000143214121121412143⎦⎥⎤
역행렬을 갖지 않는 행렬에 Gauss-Jordan elimination을 적용하면 breakdown이 일어나서 해가 존재하지 않는다.
→ 역행렬이 존재하지 않음을 알 수 있다.