데이터사이언스/선형대수

선형대수 - (4) 역행렬과 전치행렬

Johnny Yoon 2019. 9. 23. 23:44
728x90
반응형

역행렬 (Inverse Matrix)

역행렬이란, n x n행렬 A에 대해 어느쪽에서 곱하든 Identity Matrix가 되는 행렬을 말한다.
$A_{n\,x\,n}A^{-1} = A^{-1}A = I$
위와 같이 교환법칙이 성립하는 것이 중요한 조건이다.

n x n행렬이라고 해서 모든 행렬이 역행렬을 가지는 것은 아니다.
$Det(A) \neq 0$ 일 때에만 역 행렬이 존재한다.
(Det에 대해서는 추후에 다룰 예정)

역행렬의 특징

A에 대해:

  1. 역행렬 $A^{-1}$는 가우스 소거법 뒤에 n pivot이 있을 때에 존재한다.
    • n pivot들이란, 대각선의 값들이 0이 아니라는 의미
  2. 역행렬 $A^{-1}$는 두개 이상 존재할 수 없다 = Unique하다.
  3. 역행렬 $A^{-1}$가 존재한다면, $x = A^{-1}b$를 만족해야 한다.
    • $Ax = b, A^{-1}Ax = A^{-1}b$
    • 즉 각 x값들이 Unique해야 한다는 의미
  4. 연립방정식을 만족하는 0이 아닌 벡터 x가 존재한다.
    • 해가 모두 0이 되는, 즉 x=0인 연립방정식은 inverse가 존재하지 않는다.

역행렬의 정의

다음 A라는 행렬에 대해서,
$A = \begin{bmatrix} a \quad b \\ c \quad d \end{bmatrix}$

역행렬은 다음과 같다:
$A^{-1} = \frac{1}{ad - bc} \begin{bmatrix} d \quad -b \\ -c \quad a \end{bmatrix}$

여기서 ad - bc는 determinant인데, 이 값이 0이 되면 안된다.

대각행렬의 역행렬

대각 행렬의 역행렬을 구할 때는, 대각의 값들이 0이 되면 안된다.
대각 행렬의 역행렬은 각각의 대각의 값들을 뒤집어 주면 된다.

행렬곱의 역행렬

행렬곱의 역행렬을 구해주면, 곱하는 순서를 뒤집어 주어야 한다.
$(ABC)^{-1} = C^{-1}B^{-1}A^{-1}$

N x N행렬의 역행렬, 가우스-조단 방법
가우스 조단 방법은 아래 두가지를 기반으로 한다.
$Ax = b$를 가우스 소거법으로 푼다.
행렬 A와 B를 곱할 때, A는 B의 각각의 열벡터를 곱한 값이다.
$AB = A[b_1, b_2, … b_n]$
$= [Ab_1, Ab_2, … Ab_n]$

$ AA^{-1} = I$ 를 구하고자 할 때, $A^{-1}$를 다음과 같은 열벡터로 표현한다:
[x_1, x_2, … x_n]

그리고 A와 A^{-1}를 곱하면 다음과 같은 수식이 나온다:
$[Ax_1, Ax_2, …, Ax_n] = \begin{bmatrix} 1 \quad 0 \quad ... \quad 0 \\ 0 \quad 1 \quad ... \quad 0 \\ . \quad . \quad . \quad . \\ 0 \quad 0 \quad ... \quad 1\end{bmatrix}$

그리고 이는 다음과 같이 표현될 수 있다.
$Ax_1 = \begin{bmatrix} 1 \\ 0 \\ ... \\ 0 \end{bmatrix}$, $Ax_2 \begin{bmatrix} 0 \\ 1 \\ ... \\ 0 \end{bmatrix}$ ...

여기에 가우스 소거법을 적용한다면, N개의 연립방정식을 푸는것이 된다.

역행렬과 가우스 소거법

가우스 소거법으로 역행렬을 구하는 방법은 다음과 같다.
행렬 $A$와 곱하여져 $I$가 되는 역행렬 $A^{-1}$이 있다:
$A \cdot A^{-1} = I$

행렬 $A$에 가우스 소거법을 진행하게 되면 다음과 같은 수식이 된다:
($A$를 $LU$로 분해한 다음 오른쪽 양쪽에 $L^{-1}$을 곱해준 결과)
$U \cdot A^{-1} = L^{-1}$

마지막으로 $A^{-1}$는 다음과 같이 정의될 수 있다:
$A^{-1} = U^{-1}L^{-1}$

따라서 역행렬을 구할때는 가우스 소거법을 사용할 수 있다.

예제)

행렬 A의 역행렬을 가우스 소거법을 사용해 구해본다.

$A = \begin{bmatrix} 2 \quad 1 \quad 1 \\ 4 \quad -6 \quad 0 \\ -2 \quad 7 \quad 2 \end{bmatrix} \begin{bmatrix} 1 \quad 0 \quad 0 \\ 0 \quad 1 \quad 0 \\ 0 \quad 0 \quad 1 \end{bmatrix} $

[2] - 2 * [1] =>
$ \begin{bmatrix} 2 \quad 1 \quad 1 \\ 0 \quad -8 \quad -2 \\ -2 \quad 7 \quad 2 \end{bmatrix} \begin{bmatrix} 1 \quad 0 \quad 0 \\ -2 \quad 1 \quad 0 \\ 0 \quad 0 \quad 1 \end{bmatrix} $

[3] - (-1 * [1]) =>
$ \begin{bmatrix} 2 \quad 1 \quad 1 \\ 0 \quad -8 \quad -2 \\ 0 \quad 8 \quad 3 \end{bmatrix} \begin{bmatrix} 1 \quad 0 \quad 0 \\ -2 \quad 1 \quad 0 \\ 1 \quad 0 \quad 1 \end{bmatrix} $

위 까지가 $U \cdot A^{-1} = L^{-1}$ 이다.
아래부터는 왼쪽의 행렬 U를 I로 만들어 주어야 한다.

[2] - (-2 [3]) & [1] - (-2 [3]) =>
$ \begin{bmatrix} 2 \quad 1 \quad 0 \\ 0 \quad -8 \quad 0 \\ 0 \quad 0 \quad 1 \end{bmatrix} \begin{bmatrix} 2 \quad -1 \quad -1 \\ -4 \quad 3 \quad 2 \\ -1 \quad 1 \quad 1 \end{bmatrix} $

[1] - ($\frac{1}{8}$ * [2]) =>
$ \begin{bmatrix}2 \quad 0 \quad 0 \\ 0 \quad -8 \quad 0 \\ 0 \quad 0 \quad 1 \end{bmatrix} \begin{bmatrix} \frac{3}{2} \quad -\frac{5}{8} \quad -\frac{3}{4} \\ -4 \quad 3 \quad 2 \\ -1 \quad 1 \quad 1 \end{bmatrix} $

마지막으로 pivot의 값들이 1이 되게 만들어 준다.

$ \begin{bmatrix}1 \quad 0 \quad 0 \\ 0 \quad 1 \quad 0 \\ 0 \quad 0 \quad 1 \end{bmatrix} \begin{bmatrix} \frac{3}{4} \quad -\frac{5}{16} \quad -\frac{3}{8} \\ \frac{1}{2} \quad -\frac{3}{8} \quad -\frac{1}{4} \\ -1 \quad 1 \quad 1 \end{bmatrix} $

최후의 행렬이 곧 A의 역행렬이 된다.
만약 왼쪽의 I를 만들 수 없다면 수 없다면, 역행렬이 존재하지 않는 것이다.

전치행렬 (Transpose)

행렬 전치는 다음과 같이 표기한다: $A^{T}$
전치를 한다는 것은 각각의 원소에 대해 다음을 수행하는 것이다:
$a_{ij} \rightarrow a_{ji}$

즉, 행과 열이 바뀌는 것이다.

행렬의 전치를 구하기 위해서는 꼭 Square Matrix일 필요는 없다.
어떠한 N x M 행렬이든지 구할 수 있다.

행렬 전치 예제)

다음 행렬의 전치행렬을 구한다면,

$ \begin{bmatrix} 1 \quad 2 \quad 3 \\ 4 \quad 5 \quad 6 \\ 7 \quad 8 \quad 9 \end{bmatrix} $

다음과 같은 행렬이 된다.

$ \begin{bmatrix} 1 \quad 4 \quad 7 \\ 2 \quad 5 \quad 8 \\ 3 \quad 6 \quad 9 \end{bmatrix} $

만약 Square Matrix가 아닐 경우는 다음과 같다:

$ \begin{bmatrix} a \quad b \quad c \\ d \quad e \quad f \end{bmatrix} \rightarrow \begin{bmatrix} a \quad d \\ b \quad e \\ c \quad f \end{bmatrix} $

행렬 전치의 속성

  1. 행렬을 더한 것을 전치하는 것과, 각각을 전치한 뒤 더한것은 같다.
    $(A + B)^{T} = A^{T} + B^{T}$

  2. 행렬을 곱한 것을 전치하는 것과, 각각을 전치한 뒤 곱한것은 같다
    $(AB)^{T} = A^{T}B^{T}$

  3. 행렬에 Inverse를 한것에 전치는, 전치를 한 뒤 Inverse를 취한것과 같다.
    $(A^{-1})^T = (A^T)^{-1}$

대칭행렬

대칭행렬이란 전치를 한 행렬이 원래의 행렬과 같은 행렬을 말한다:
$A^T = A$
$a_{ij} = a_{ji}$

A가 대칭행렬이고 Inverse를 가지고 있는 행렬이라면, A^{-1} 역시 대칭행렬이다.

가우스 소거법의 관점에서 보면 대칭행렬은 다음을 만족한다:
$LDU = U^TDL^T$
(D는 D의 대칭행렬과 같다)

상관계수 행렬 (Correlation Matrix)

상관 계수 행렬은 다음과 같이 구한다:
$R = A^TA$
이 때 R은 R이나 R^T나 같은 행렬이 된다.

728x90
반응형