가역행렬

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

선형대수학에서 가역행렬(invertible matrix),정칙행렬(正則行列,regular matrix) 또는 비특이행렬(non-singular matrix)은 역행렬(inverse matrix)을 갖는 n \times n 행렬을 가리킨다.

역행렬이란, 어떤 행렬 A에 대해 다음과 같은 성질을 만족하는 행렬 B를 일컫는다.

AB = BA = I_n \

여기서 I_nn \times n 단위행렬을 말한다.

이런 성질을 만족하는 B는 임의의 정사각행렬 A에 대해 존재하지 않거나, 단 하나만 존재한다. 이런 행렬을 역행렬이라 하고 A^{-1}로 표기한다.

역행렬을 갖지 않는 행렬을 비가역행렬, 또는 특이행렬이라 한다. 대개 실수복소수 위에 정의된 행렬에 대해 역행렬을 정의하지만, 임의의 위에 정의된 행렬에 대해서도 마찬가지로 이 정의를 적용할 수 있다.

가역행렬의 성질[편집]

A K 위에서 정의된 n \times n 행렬이라 하자. 그러면 다음의 모든 명제들은 서로 같은 의미를 지닌다.

  • A기약 행 사다리꼴I_n이다.
  • A기본행렬의 곱으로 표현가능하다.
  • A는 가역행렬이다.
  • AB = I를 만족하는 n \times n 행렬 B가 존재한다.
  • 방정식 Ax = 0의 해는 오직 x = 0 뿐이다.
  • 방정식 Ax = b의 해가 임의의 b에 대해 유일하게 단 하나 존재한다.
  • A완전한 열계수를 가지고 있다.
  • 전치행렬과 행렬의 곱 A^\mathrm{T}A가 가역행렬이다.
  • A의 열이 K^n기저를 이룬다.
  • A전치행렬 A^\mathrm{T}가 가역행렬이다.
  • {\color{Blue}\det}(A) \neq 0
  • 0은 A고윳값이 아니다.
  • {\color{Blue}\operatorname{rank}}\ A = n

또한, 역행렬은 다음과 같은 성질을 갖는다.

A의 역행렬에 다시 역행렬을 취하면 자기 자신이 된다:

{(A^{-1})}^{-1} = A

A스칼라 k를 곱한 것에 역행렬을 취하면 A의 역행렬과 k역원의 곱이 된다.

{(kA)}^{-1} = k^{-1}A^{-1} \

두 가역행렬AB의 곱은 여전히 가역행렬이며, 그 역행렬은 각각의 역행렬을 반대로 곱한 것과 같다.

{(AB)}^{-1} = B^{-1}A^{-1} \

위 세 가지 성질에 의해 n \times n 가역행렬의 집합은 하나의 을 이룬다.

역행렬을 구하는 법[편집]

가우스 소거법[편집]

가우스 소거법은 어떤 행렬이 가역행렬인지를 판단하고 그 행렬의 역행렬을 구할 수 있는 알고리즘이다. LU 분해를 이용해 두 개의 삼각행렬로 분해하면 가우스 소거법을 더 빨리 계산할 수 있다. 또는 mn \times mn 행렬을 n \times n을 원소로 갖는 m \times m 행렬로 나누어 재귀적으로 계산하면 행렬의 특성에 따라 더 빠른 계산이 가능하다.

수치해석적 방법[편집]

행렬의 공통인자로 이루어진 행렬을 구해 계산하면 작은 크기의 행렬에 대해서는 더 빨리 계산할 수도 있다. (큰 행렬에 대해서는 적당치 않다.) 다음과 같이 공통인자 행렬을 구한다.

A^{-1}={1 \over \begin{vmatrix}A\end{vmatrix}}\left(C_{ij}\right)^{T}={1 \over \begin{vmatrix}A\end{vmatrix}}
\begin{pmatrix}
C_{11} & C_{21} & \cdots & C_{j1} \\
C_{12} & \ddots & & C_{j2} \\
\vdots & & \ddots & \vdots \\
C_{1i} & \cdots & \cdots & C_{ji} \\
\end{pmatrix}
단 i+j가 홀수일 때 ( -C_{ji})

여기서 |A|A행렬식을 가리키고 C_{ij}는 행렬의 공통인자, A^TA전치행렬을 가리킨다.

수치 해석에서 대부분의 경우 선형 시스템을 풀기 위해 역행렬을 구할 필요는 없기 때문에 이 방법으로 실제로 역행렬을 구하는 경우는 별로 없다.

2 × 2 행렬의 역행렬[편집]

위의 공통인자 방정식에서 n이 2일 경우 다음과 같은 식을 유도할 수 있다.

A^{-1} = \begin{bmatrix}
a & b \\ c & d \\
\end{bmatrix}^{-1} =
\frac{1}{ad - bc} \begin{bmatrix}
d & -b \\ -c & a \\
\end{bmatrix}

2 × 2 행렬의 역행렬은 위 방법을 통해 빠르게 계산할 수 있다.

3 × 3 행렬의 역행렬[편집]

위의 공통인자 방정식에서 n이 3일 경우 다음과 같은 식을 유도할 수 있다.

A^{-1} = \begin{bmatrix}
a & b & c\\ d & e & f \\ g & h & i \\
\end{bmatrix}^{-1} =
\frac{1}{|A|} \begin{bmatrix}
ei - fh & ch - bi & bf - ce \\
fg - di & ai - cg & cd - af \\
dh - eg & bg - ah & ae - bd
\end{bmatrix}
|A| = a(ei-fh) - b(di-fg) + c(dh-eg) \

3 × 3 행렬의 역행렬은 위 방법을 통해 빠르게 계산할 수 있다.

작은 블록으로 나눠서 계산하는 법[편집]

다음과 같은 식을 이용하면 행렬을 몇 개의 작을 행렬로 나누어 계산할 수 있다.

\begin{bmatrix} A & B \\ C & D \end{bmatrix}^{-1} = \begin{bmatrix} A^{-1}+A^{-1}B(D-CA^{-1}B)^{-1}CA^{-1} & -A^{-1}B(D-CA^{-1}B)^{-1} \\ -(D-CA^{-1}B)^{-1}CA^{-1} & (D-CA^{-1}B)^{-1} \end{bmatrix}

A, B, C, D는 행렬의 임의의 작은 블록이다. 이 방법은 A가 대각행렬이고 (D-CA^{-1}B)(슈어 보행렬)가 작은 크기일 때 특히 유용하다. 두 개의 행렬에 대한 역행렬만 계산하면 되기 때문이다. 이 방법은 행렬을 더 빠르게 곱하는 슈트라센 알고리즘의 개발자 포커 슈트라센이 발견했다.

역행렬의 도함수[편집]

행렬 At라는 변수에 따라 변한다고 하자. 이때 A의 역행렬의 도함수는 다음과 같다.

 \frac{\mathrm{d}A^{-1}}{\mathrm{d}t} = - A^{-1} \frac{\mathrm{d}A}{\mathrm{d}t} A^{-1}.

바깥 고리[편집]