가역행렬

선형대수학에서 가역 행렬(可逆行列, 영어: invertible matrix) 또는 정칙 행렬(正則行列, 영어: regular matrix) 또는 비특이 행렬(非特異行列, 영어: non-singular matrix)은 그와 곱한 결과가 단위 행렬인 행렬을 갖는 행렬이다. 이를 그 행렬의 역행렬(逆行列, 영어: inverse matrix)이라고 한다. 체 K {\displaystyle K} 위에서 정의된 n × n {\displaystyle n\times n} 행렬 A , B {\displaystyle A,B} 에 대하여, 다음 세 조건이 서로 동치이다. 이 조건이 성립할 경우 B {\displaystyle B} 를 A {\displaystyle A} 의 역행렬이라고 하며, B {\displaystyle B} 를 A − 1 {\displaystyle A^{-1}} 와 같이 표기한다. A B = I n {\displaystyle AB=I_{n}} B A = I n {\displaystyle BA=I_{n}} A B = B A = I n {\displaystyle AB=BA=I_{n}} 체 K {\displaystyle K} 위에서 정의된 n × n {\displaystyle n\times n} 행렬 A {\displaystyle A} 에 대하여, 다음 조건들이 서로 동치이며, 이를 만족시키는 A {\displaystyle A} 를 가역 행렬이라고 한다. 역행렬을 갖는다. 유일한 역행렬을 갖는다. 유한 개의 기본 행렬의 곱이다. 단위 행렬과 행동치이다. 단위 행렬과 열동치이다. 단위 행렬과 동치이다. 방정식 A x = 0 {\displaystyle Ax=0} 의 해는 x = 0 {\displaystyle x=\mathbf {0} } 뿐이다. 즉 ker ⁡ A = { 0 } {\displaystyle \ker A=\left\{\mathbf {0} \right\}} 이다. 방정식 A x = b {\displaystyle Ax=b} 의 해는 b {\displaystyle b} 의 값과 무관하게 항상 유일하다. A {\displaystyle A} 의 열이 K n {\displaystyle K^{n}} 의 기저를 이룬다. det A ≠ 0 {\displaystyle \det A\neq 0} (여기서 det {\displaystyle \det } 는 행렬식이다.) rank ⁡ A = n {\displaystyle \operatorname {rank} A=n} (여기서 rank {\displaystyle \operatorname {rank} } 는 계수이다.) null ⁡ A = 0 {\displaystyle \operatorname {null} A=0} (여기서 null ⁡ A := dim ⁡ ker ⁡ A {\displaystyle \operatorname {null} A:=\dim {\ker A}} 이다.) 0을 고윳값으로 가지지 않는다. 체 K {\displaystyle K} 위에서 정의된 n × n {\displaystyle n\times n} 행렬 A {\displaystyle A} 에 대하여, 다음 조건들이 서로 동치이다. A {\displaystyle A} 는 가역 행렬이다. A T {\displaystyle A^{\operatorname {T} }} 는 가역 행렬이다. A A T {\displaystyle AA^{\operatorname {T} }} 는 가역 행렬이다. 체 K {\displaystyle K} 위에서 정의된 n × n {\displaystyle n\times n} 행렬 A , B {\displaystyle A,B} 에 및 스칼라 k ∈ K {\displaystyle k\in K} 에 대하여, 다음과 같은 항등식들이 성립한다. ( A − 1 ) − 1 = A {\displaystyle (A^{-1})^{-1}=A} ( k A ) − 1 = k − 1 A − 1 {\displaystyle (kA)^{-1}=k^{-1}A^{-1}} ( A B ) − 1 = B − 1 A − 1 {\displaystyle (AB)^{-1}=B^{-1}A^{-1}} 즉, 체 K {\displaystyle K} 위의 n × n {\displaystyle n\times n} 가역 행렬의 집합은 군을 이루며, 이를 일반선형군 GL ⁡ ( n ; K ) {\displaystyle \operatorname {GL} (n;K)} 이라고 한다. 또한, 역행렬은 일반선형군의 자기 반대 동형을 정의한다. 가우스 소거법은 어떤 행렬이 가역행렬인지를 판단하고 그 행렬의 역행렬을 구할 수 있는 알고리즘이다. LU 분해를 이용해 두 개의 삼각행렬로 분해하면 가우스 소거법을 더 빨리 계산할 수 있다. 또는 m n × m n {\displaystyle mn\times mn} 행렬을 n × n {\displaystyle n\times n} 을 원소로 갖는 m × m {\displaystyle m\times m} 행렬로 나누어 재귀적으로 계산하면 행렬의 특성에 따라 더 빠른 계산이 가능하다. 행렬의 공통인자로 이루어진 행렬을 구해 계산하면 작은 크기의 행렬에 대해서는 더 빨리 계산할 수도 있다. (큰 행렬에 대해서는 적당치 않을수있다) 다음과 같이 공통인자 행렬을 구한다. A − 1 = 1 | A | ( C i j ) T = 1 | A | ( C 11 C 21 ⋯ C j 1 C 12 ⋱ C j 2 ⋮ ⋱ ⋮ C 1 i ⋯ ⋯ C j i ) {\displaystyle 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 {\displaystyle i+j} 가 홀수일 때 이고( C j i = − M j i {\displaystyle C_{ji}=-M_{ji}} ) i + j {\displaystyle i+j} 가 짝수일 때 ( C j i = M j i {\displaystyle C_{ji}=M_{ji}} )이다. 즉, C j i = ( − 1 ) i + j M j i {\displaystyle C_{ji}=(-1)^{i+j}M_{ji}} 이다. 여기서 | A | {\displaystyle |A|} 는 A {\displaystyle A} 의 행렬식을 가리키고 C i j {\displaystyle C_{ij}} 는 행렬의 공통인자, M i j {\displaystyle M_{ij}} 는 행렬의 소행렬식, A T {\displaystyle A^{T}} 는 A {\displaystyle A} 의 전치행렬을 가리킨다. 수치 해석에서 대부분의 경우 선형 시스템을 풀기 위해 역행렬을 구할 필요는 없기 때문에 이 방법으로 실제로 역행렬을 구하는 경우는 별로 없다. 위의 공통인자 방정식에서 n {\displaystyle n} 이 2일 경우 다음과 같은 식을 유도할 수 있다. A − 1 = [ a b c d ] − 1 = 1 a d − b c [ d − b − c a ] {\displaystyle 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 행렬의 역행렬은 위 방법을 통해 빠르게 계산할 수 있다. 위의 공통인자 방정식에서 n {\displaystyle n} 이 3일 경우 다음과 같은 식을 유도할 수 있다. A − 1 = [ a b c d e f g h i ] − 1 = 1 | A | [ e i − f h − ( b i − c h ) b f − c e − ( d i − f g ) a i − c g − ( a f − c d ) d h − e g − ( a h − b g ) a e − b d ] = 1 | A | [ e i − f h c h − b i b f − c e f g − d i a i − c g c d − a f d h − e g b g − a h a e − b d ] {\displaystyle A^{-1}={\begin{bmatrix}a&b&c\\d&e&f\\g&h&i\\\end{bmatrix}}^{-1}={\frac {1}{|A|}}{\begin{bmatrix}ei-fh&-(bi-ch)&bf-ce\\-(di-fg)&ai-cg&-(af-cd)\\dh-eg&-(ah-bg)&ae-bd\end{bmatrix}}={\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 ( e i − f h ) − b ( d i − f g ) + c ( d h − e g ) = − d ( b i − c h ) + e ( a i − c g ) − f ( a h − b g ) = g ( b f − c e ) − h ( a f − c d ) + i ( a e − b d )   {\displaystyle |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)\ } 다음과 같은 식을 이용하면 행렬을 몇 개의 작은 블록 행렬로 나누어 계산할 수 있다. [ A B C D ] − 1 = [ A − 1 + A − 1 B ( D − C A − 1 B ) − 1 C A − 1 − A − 1 B ( D − C A − 1 B ) − 1 − ( D − C A − 1 B ) − 1 C A − 1 ( D − C A − 1 B ) − 1 ] {\displaystyle {\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 {\displaystyle A,B,C,D} 는 행렬의 임의의 작은 블록이다. 이 방법은 A {\displaystyle A} 가 대각행렬이고 A {\displaystyle A} 의 슈어 보수행렬 ( D − C A − 1 B ) {\displaystyle (D-CA^{-1}B)} 이 작은 크기일 때 특히 유용하다. 두 개의 행렬에 대한 역행렬만 계산하면 되기 때문이다. 이 방법은 행렬을 더 빠르게 곱하는 슈트라센 알고리즘의 개발자 포커 슈트라센이 발견했다. 행렬 A {\displaystyle A} 가 t {\displaystyle t} 라는 변수에 따라 변한다고 하자. 이때 A {\displaystyle A} 의 역행렬의 도함수는 다음과 같다. d A − 1 d t = − A − 1 d A d t A − 1 . {\displaystyle {\frac {\mathrm {d} A^{-1}}{\mathrm {d} t}}=-A^{-1}{\frac {\mathrm {d} A}{\mathrm {d} t}}A^{-1}.} 행렬 A {\displaystyle A} 와 B {\displaystyle B} 에서, A B = A ⋅ B − 1 {\displaystyle {{A} \over {B}}=A\cdot B^{-1}} 이고, A ⋅ B − 1 ≠ B − 1 ⋅ A {\displaystyle A\cdot B^{-1}\neq B^{-1}\cdot A} 이다. A B − 1 = A ⋅ B {\displaystyle {{A} \over {B^{-1}}}=A\cdot B} 이다. 스칼라 행렬 k {\displaystyle k} 는, A k = A ⋅ k − 1 {\displaystyle {{A} \over {k}}=A\cdot k^{-1}} 이고, A ⋅ k − 1 = k − 1 ⋅ A {\displaystyle A\cdot k^{-1}=k^{-1}\cdot A} 이다. 대각화행렬에서는 임의의 행렬 A를 예약하고 고윳값 행렬 P를 조사하고 P의 역행렬 P-1를 통해서, P − 1 A P = A D {\displaystyle P^{-1}AP=A^{D}} 대각화 행렬 AD를 얻을수있다. 여기서, A P = A D P − 1 {\displaystyle AP={{A^{D}} \over {P^{-1}}}} A P = P A D {\displaystyle AP={P}{A^{D}}} 처럼 대각화행렬에서는 역행렬의 나눗셈 성질을 갖는다. 크라메르 공식 전치행렬 대칭행렬 사다리꼴행렬 특이값 분해 QR 분해 치환행렬 역행렬 계산기