가역행렬
위키백과 ― 우리 모두의 백과사전.
선형대수학에서 가역행렬(invertible matrix), 또는 비특이행렬(non-singular matrix)은 역행렬(inverse matrix)을 갖는 n×n 행렬을 가리킨다.
역행렬이란, 어떤 행렬 A에 대해 다음과 같은 성질을 만족하는 행렬 B를 일컫는다.
여기서 In은 n×n 단위행렬을 말한다.
이런 성질을 만족하는 B는 임의의 정사각행렬 A에 대해 존재하지 않거나, 단 하나만 존재한다. 이런 행렬을 역행렬이라 하고 A-1로 표기한다.
역행렬을 갖지 않는 행렬을 비가역행렬, 또는 특이행렬이라 한다. 대개 실수나 복소수 위에 정의된 행렬에 대해 역행렬을 정의하지만, 임의의 환 위에 정의된 행렬에 대해서도 마찬가지로 이 정의를 적용할 수 있다.
목차 |
[편집] 가역행렬의 성질
A가 체 K 위에서 정의된 n×n 행렬이라 하자. 그러면 다음의 모든 명제들은 서로 같은 의미를 지닌다.
- A는 가역행렬이다.
- AB = I를 만족하는 n×n 행렬 B가 존재한다.
- det
- rank A = n
- 방정식 Ax = 0의 해는 오직 x = 0 뿐이다.
- 방정식 Ax = b의 해가 임의의 b에 대해 유일하게 단 하나 존재한다.
- A의 열이 Kn의 기저를 이룬다.
- A의 전치행렬 AT가 가역행렬이다.
- 전치행렬과 행렬의 곱
가 가역행렬이다.
- A의 고유값이 0이 아니다.
또한, 역행렬은 다음과 같은 성질을 갖는다.
A의 역행렬에 다시 역행렬을 취하면 자기 자신이 된다:
A에 스칼라 k를 곱한 것에 역행렬을 취하면 A의 역행렬과 k의 역원의 곱이 된다.
두 가역행렬A와 B의 곱은 여전히 가역행렬이며, 그 역행렬은 각각의 역행렬을 반대로 곱한 것과 같다.
위 세 가지 성질에 의해 n×n 가역행렬의 집합은 하나의 군을 이룬다.
[편집] 역행렬을 구하는 법
[편집] 가우스 소거법
가우스 소거법은 어떤 행렬이 가역행렬인지를 판단하고 그 행렬의 역행렬을 구할 수 있는 알고리즘이다. LU 분해를 이용해 두 개의 삼각행렬로 분해하면 가우스 소거법을 더 빨리 계산할 수 있다. 또는 mn×mn 행렬을 n×n을 원소로 갖는 m×m 행렬로 나누어 재귀적으로 계산하면 행렬의 특성에 따라 더 빠른 계산이 가능하다.
[편집] 수치해석적 방법
행렬의 공통인자로 이루어진 행렬을 구해 계산하면 작은 크기의 행렬에 대해서는 더 빨리 계산할 수도 있다. (큰 행렬에 대해서는 적당치 않다.) 다음과 같이 공통인자 행렬을 구한다.
여기서 |A|는 A의 행렬식을 가리키고 Cij는 행렬의 공통인자, AT는 A의 전치행렬을 가리킨다.
수치 해석에서 대부분의 경우 선형 시스템을 풀기 위해 역행렬을 구할 필요는 없기 때문에 이 방법으로 실제로 역행렬을 구하는 경우는 별로 없다.
[편집] 2 × 2 행렬의 역행렬
위의 공통인자 방정식에서 n이 2일 경우 다음과 같은 식을 유도할 수 있다.
2 × 2 행렬의 역행렬은 위 방법을 통해 빠르게 계산할 수 있다.
[편집] 3 × 3 행렬의 역행렬
위의 공통인자 방정식에서 n이 3일 경우 다음과 같은 식을 유도할 수 있다.
3 × 3 행렬의 역행렬은 위 방법을 통해 빠르게 계산할 수 있다.
[편집] 작은 블록으로 나눠서 계산하는 법
다음과 같은 식을 이용하면 행렬을 몇개의 작을 행렬로 나누어 계산할 수 있다.
A, B, C, D는 행렬의 임의의 작은 블록이다. 이 방법은 A가 대각행렬이고 (D − CA − 1B)(슈어 보행렬)가 작은 크기일 때 특히 유용하다. 두 개의 행렬에 대한 역행렬만 계산하면 되기 때문이다. 이 방법은 행렬을 더 빠르게 곱하는 슈트라센 알고리즘의 개발자 포커 슈트라센이 발견했다.
[편집] 역행렬의 도함수
행렬 A가 t라는 변수에 따라 변한다고 하자. 이때 A의 역행렬의 도함수는 다음과 같다.