가역행렬

선형대수학에서 **가역 행렬**(可逆行列, ) 또는 **정칙 행렬**(正則行列, ) 또는 **비특이 행렬**(非特異行列, )은 그와 곱한 결과가 단위 행렬인 행렬을 갖는 행렬이다. 이를 그 행렬의 **역행렬**(逆行列, )이라고 한다.

## 정의
체 K 위에서 정의된 n\times n 행렬 A,B에 대하여, 다음 세 조건이 서로 동치이다. 이 조건이 성립할 경우 B를 A의 **역행렬**이라고 하며, B를 A^{-1}와 같이 표기한다.
*AB=I_{n}
*BA=I_{n}
*AB=BA=I_{n}
체 K 위에서 정의된 n \times n 행렬 A에 대하여, 다음 조건들이 서로 동치이며, 이를 만족시키는 A를 **가역 행렬**이라고 한다.
* 역행렬을 갖는다.
* 유일한 역행렬을 갖는다.
* 유한 개의 기본 행렬의 곱이다.
* 단위 행렬과 행동치이다.
* 단위 행렬과 열동치이다.
* 단위 행렬과 동치이다.
* 방정식 Ax=0의 해는 x=\mathbf{0}뿐이다. 즉 \ker A = \left\{ \mathbf{0} \right\}이다.
* 방정식 Ax=b의 해는 b의 값과 무관하게 항상 유일하다.
* A의 열이 K^n의 기저를 이룬다.
* \det A\ne0 (여기서 \det는 행렬식이다.)
* \operatorname{rank}A=n (여기서 \operatorname{rank}는 계수이다.)
* \operatorname{null} A = 0 (여기서 \operatorname{null} A:=\dim {\ker A}이다.)
* 0을 고윳값으로 가지지 않는다.

## 성질
### 전치 행렬과의 관계
체 K 위에서 정의된 n\times n 행렬 A에 대하여, 다음 조건들이 서로 동치이다.
* A는 가역 행렬이다.
* A^\operatorname T는 가역 행렬이다.
* AA^\operatorname T는 가역 행렬이다.

### 항등식
체 K 위에서 정의된 n\times n 행렬 A,B에 및 스칼라 k\in K에 대하여, 다음과 같은 항등식들이 성립한다.
* (A^{-1})^{-1}=A
* (kA)^{-1}=k^{-1}A^{-1}
* (AB)^{-1}=B^{-1}A^{-1}
즉, 체 K 위의 n\times n 가역 행렬의 집합은 군을 이루며, 이를 일반선형군 \operatorname{GL}(n;K)이라고 한다. 또한, 역행렬은 일반선형군의 자기 반대 동형을 정의한다.

## 계산
### 가우스 소거법
가우스 소거법은 어떤 행렬이 가역행렬인지를 판단하고 그 행렬의 역행렬을 구할 수 있는 알고리즘이다. 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}= -M_{ji}) i + j가 짝수일 때 (C_{ji}= M_{ji})이다. 즉,C_{ji}=(-1)^{i+j}M_{ji}이다.
여기서 |A|는 A의 행렬식을 가리키고 C_{ij}는 행렬의 공통인자,M_{ij}는 행렬의 소행렬식, A^T는 A의 전치행렬을 가리킨다.

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

### 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} \begin{bmatrix}
ei - fh   & -(bi-ch) & bf - ce \\
-(di - fg)& ai - cg & -(af-cd) \\
dh - eg   & -(ah-bg) & ae - bd
\end{bmatrix}
 =
\frac{1} \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) = - d(bi-ch) + e(ai - cg) - f(ah-bg) = g(bf-ce) - h(af-cd) + i(ae-bd) \ 

### 작은 블록으로 나눠서 계산하는 법
다음과 같은 식을 이용하면 행렬을 몇 개의 작은 블록 행렬로 나누어 계산할 수 있다.

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

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

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

## 역행렬과 행렬의 나눗셈
행렬A 와 B에서,
:= A \cdot B^{-1} 이고, A \cdot B^{-1}  \neq  B^{-1}  \cdot A이다.
:}= A \cdot B이다.
스칼라 행렬k는,
:= A \cdot k^{-1} 이고, A \cdot k^{-1} = k^{-1}  \cdot A이다.

대각화행렬에서는
:임의의 행렬 A를 예약하고 고윳값 행렬 P를 조사하고  P의 역행렬 P-1를 통해서,
:P^{-1}AP = A^{D}
대각화 행렬 AD를 얻을수있다. 여기서,
:AP =  \over {P^{-1}}}
:AP = {P} { A^{D}}
처럼 대각화행렬에서는 역행렬의 나눗셈 성질을 갖는다.

## 같이 보기
* 크라메르 공식
* 전치행렬
* 대칭행렬
* 사다리꼴행렬
* 특이값 분해
* QR 분해
* 치환행렬

## 외부 링크
* 역행렬 계산기

분류:선형대수학
분류:행렬
분류:행렬식
분류:행렬론