선형대수학에서 가역 행렬(可逆行列, 영어: invertible matrix) 또는 정칙 행렬(正則行列, 영어: regular matrix) 또는 비특이 행렬(非特異行列, 영어: non-singular matrix)은 그와 곱한 결과가 단위 행렬인 행렬을 갖는 행렬이다. 이를 그 행렬의 역행렬(逆行列, 영어: inverse matrix)이라고 한다.
체 위에서 정의된 행렬 에 대하여, 다음 세 조건이 서로 동치이다. 이 조건이 성립할 경우 를 의 역행렬이라고 하며, 를 와 같이 표기한다.
체 위에서 정의된 행렬 에 대하여, 다음 조건들이 서로 동치이며, 이를 만족시키는 를 가역 행렬이라고 한다.
- 역행렬을 갖는다.
- 유일한 역행렬을 갖는다.
- 유한 개의 기본 행렬의 곱이다.
- 단위 행렬과 행동치이다.
- 단위 행렬과 열동치이다.
- 단위 행렬과 동치이다.
- 방정식 의 해는 뿐이다. 즉 이다.
- 방정식 의 해는 의 값과 무관하게 항상 유일하다.
- 의 열이 의 기저를 이룬다.
- (여기서 는 행렬식이다.)
- (여기서 는 계수이다.)
- (여기서 이다.)
- 0을 고윳값으로 가지지 않는다.
체 위에서 정의된 행렬 에 대하여, 다음 조건들이 서로 동치이다.
- 는 가역 행렬이다.
- 는 가역 행렬이다.
- 는 가역 행렬이다.
체 위에서 정의된 행렬 에 및 스칼라 에 대하여, 다음과 같은 항등식들이 성립한다.
즉, 체 위의 가역 행렬의 집합은 군을 이루며, 이를 일반선형군 이라고 한다. 또한, 역행렬은 일반선형군의 자기 반대 동형을 정의한다.
가우스 소거법은 어떤 행렬이 가역행렬인지를 판단하고 그 행렬의 역행렬을 구할 수 있는 알고리즘이다. LU 분해를 이용해 두 개의 삼각행렬로 분해하면 가우스 소거법을 더 빨리 계산할 수 있다. 또는 행렬을 을 원소로 갖는 행렬로 나누어 재귀적으로 계산하면 행렬의 특성에 따라 더 빠른 계산이 가능하다.
행렬의 공통인자로 이루어진 행렬을 구해 계산하면 작은 크기의 행렬에 대해서는 더 빨리 계산할 수도 있다. (큰 행렬에 대해서는 적당치 않을수있다) 다음과 같이 공통인자 행렬을 구한다.
-
여기서 가 홀수일 때 이고() 가 짝수일 때 ()이다. 즉,이다.
여기서 는 의 행렬식을 가리키고 는 행렬의 공통인자,는 행렬의 소행렬식, 는 의 전치행렬을 가리킨다.
수치 해석에서 대부분의 경우 선형 시스템을 풀기 위해 역행렬을 구할 필요는 없기 때문에 이 방법으로 실제로 역행렬을 구하는 경우는 별로 없다.
위의 공통인자 방정식에서 이 2일 경우 다음과 같은 식을 유도할 수 있다.
2 × 2 행렬의 역행렬은 위 방법을 통해 빠르게 계산할 수 있다.
위의 공통인자 방정식에서 이 3일 경우 다음과 같은 식을 유도할 수 있다.
다음과 같은 식을 이용하면 행렬을 몇 개의 작은 블록 행렬로 나누어 계산할 수 있다.
는 행렬의 임의의 작은 블록이다. 이 방법은 가 대각행렬이고 의 슈어 보수행렬 이 작은 크기일 때 특히 유용하다. 두 개의 행렬에 대한 역행렬만 계산하면 되기 때문이다. 이 방법은 행렬을 더 빠르게 곱하는 슈트라센 알고리즘의 개발자 포커 슈트라센이 발견했다.
행렬 가 라는 변수에 따라 변한다고 하자. 이때 의 역행렬의 도함수는 다음과 같다.
행렬 와 에서,
- 이고, 이다.
- 이다.
스칼라 행렬는,
- 이고, 이다.
대각화행렬에서는
- 임의의 행렬 A를 예약하고 고윳값 행렬 P를 조사하고 P의 역행렬 P-1를 통해서,
대각화 행렬 AD를 얻을수있다. 여기서,
처럼 대각화행렬에서는 역행렬의 나눗셈 성질을 갖는다.