행렬식

에 마지막으로 수정됐습니다.

[ 펼치기 · 접기 ]
선형대수학의 대수적 구조
선형대수학의 이론
기본 대상
선형 연산자
기본 개념
선형 시스템
주요 정리
기타
벡터공간의 분해
벡터의 연산
내적공간
다중선형대수
1. 개요2. 역사3. 표기법4. 특징5. 정의
5.1. 의미5.2. 교대 다중 선형형식으로부터의 유도5.3. 예시
6. 성질7. 선형변환에서의 행렬식8. 계산법
8.1. 사루스 법칙8.2. 여인수 전개8.3. 가우스 소거법8.4. LU 분해법
9. 기하학적 특징
9.1. 넓이, 부피, 초부피9.2. 방향 (orientation)

1. 개요[편집]

Determinant ·

정사각행렬에서만 정의되는 값으로, 행렬의 가역성을 판별해준다.

2. 역사[편집]

역사적으로 본다면 행렬연립 일차 방정식의 풀이를 어떻게 하면 될까라고 고민한 데서 시작했다. 아서 케일리가 연구하다가 (adbc)(ad-bc)의 값에 따라 연립 방정식의 해가 다르게 나오는 것을 보고 이 값이 해의 존재 여부(궁극적으로는 행렬의 가역 여부)를 '판별'한다는 뜻에서 determinant라는 용어가 탄생했고, 윌리엄 로원 해밀턴이 '그러면 연립 방정식의 계수랑 변수를 따로 떼어내서 쓰면 어떨까?'라는 생각에서 행렬이 탄생했다. 즉 교육과정에서 배우는 것과는 달리, 역사적으로 보면 행렬식이 행렬보다 먼저 탄생했다.

3. 표기법[편집]

행렬식의 표기법으로는, determinant의 약자인 det\det와 절댓값 기호(| \cdot |)를 쓰는 방법이 있다. A=(1234)A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}에 대해
  • det(1234)=2\det\begin{pmatrix}1 & 2 \\ 3 & 4 \end{pmatrix}=-2
  • 1234=2\begin{vmatrix} 1 & 2 \\ 3 & 4 \end{vmatrix}=-2
  • A=(1234)=2|A| = \left|\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}\right|=-2
등등

후자 두 식에서 절댓값 기호가 두 겹일 경우 행렬식을 구한 뒤 그 값의 절대값을 구하라는 의미이다. 다시 말해 안쪽 절댓값 기호는 '행렬식을 연산해라'라는 뜻이고, 바깥쪽 절댓값 기호는 '그 후에 절댓값을 취해라'라는 뜻이다. 자세한 내용은 노름 참조.
  • A=1234=2=2\| A \| = \begin{Vmatrix} 1 & 2 \\ 3 & 4\end{Vmatrix}=\left| -2 \right|=2

4. 특징[편집]

우선, 열벡터 각각을 하나의 인수로 보자. 그러면 다음과 같이 생각할 수 있다.
  • n=2n=2이면 det:(F2)2F\det :\left(F^2\right)^2\rightarrow F
이 관점에서 행렬식은 다중선형(multi-linear), 교대(alternating) 범함수(functional)[1]이다.
풀어쓰면 다음과 같다.
  • 다중 선형성[2]
    각 열벡터 vi\mathbf v_i, uFn\mathbf u \in F^n와 임의의 스칼라 aa에 대해
    det(v1avi+uvn)=adet(v1vivn)+det(v1uvn)\det \begin{pmatrix} \mathbf v_1 & \cdots\cdots & a\mathbf v_i + \mathbf u & \cdots\cdots & \mathbf v_n \end{pmatrix} = a \det \begin{pmatrix} \mathbf v_1 & \cdots\cdots & \mathbf v_i & \cdots\cdots \mathbf v_n \end{pmatrix} + \det \begin{pmatrix} \mathbf v_1 & \cdots\cdots & \mathbf u & \cdots\cdots & \mathbf v_n \end{pmatrix}[3]
  • 교대성[4][5]
    det(v1vivjvn)=det(v1vjvivn)\det \begin{pmatrix} \mathbf v_1 & \cdots\cdots & \mathbf v_i & \cdots\cdots & \mathbf v_j & \cdots\cdots & \mathbf v_n \end{pmatrix}= - \det \begin{pmatrix} \mathbf v_1 & \cdots\cdots & \mathbf v_j & \cdots\cdots & \mathbf v_i & \cdots\cdots & \mathbf v_n \end{pmatrix}[6]
  • 단위 행렬의 값
    detI=det(ej)=1\det I=\det \left(\mathbf e_j\right)=1

정의보다 특징을 먼저 논하는 이유는, 아래 정의 문단에 있는 식을 이해하기 위해서 행렬식과는 전혀 관계가 없어 보이는 대칭군이라는 개념을 알아야 44차 이상의 고차 행렬식도 계산을 할 수 있기 때문[7]이다. 사실 라이프니츠대칭군을 도입해서 행렬식을 정의하기 전까지는 위처럼 간단명료하지 않았기 때문에 처음 본 사람은, 복잡하게 느낄 수도 있다. 개론을 들었다면, 계산법만 배웠기에 무의미하게 느껴지기도 할 것이고. 어떤 위키러는, 위의 다중 선형성과 교대성을 행렬식의 성질이라 배웠는데, 왜 정의로 가져다 썼나 싶을 것이다. 그러나 다중 선형성과 교대성은 선형대수에서 아주 흔히 보이는 성질이라는 것을 생각하면 그렇지 않다. 그리고 지저분한 계산으로 정의하는 것보다는 (더 어렵긴 하지만) 자주 등장하는 성질로 정의하는 것이 본질에 더 가깝다는 것을 기억하자. 계산에 의한 정의보다 다른 성질들을 증명하기 훨씬 편하다.

5. 정의[편집]

(aij)n×n=σSnsgn(σ)i=1naiσ(i)\displaystyle \left| \left(a_{ij} \right)_{n\times n}\right|= \sum_{\sigma \in S_n} \mathrm{sgn} \left(\sigma\right) \prod_{i=1}^n a_{i\sigma\left(i\right)}
실제로 이 식이 상술한 다중 선형성과 교대성, 그리고 단위행렬의 행렬식이 11임을 보일 수 있다. 또한 저 세 성질을 만족하는 식은 위 식 하나뿐이다. 또한 위 식의 유일성 덕분에 행렬식을 계산할 때 쓰는 방식인 여인수 전개를 이용해 행렬식을 정의하기도 한다.

아예 정의를 위의 성질로 할 수도 있다. 이 경우 (nnVV의 차원이라 할 때) 단위행렬에서의 값이 11인 교대 nn-다중 선형형식(alternating nn-multilinear form)이라는 간단한 정의가 나온다.[8]

5.1. 의미[편집]

원활한 이해를 돕기 위해 대칭군치환 항목도 참조.

항등치환 ε=(123in123in)\varepsilon = \begin{pmatrix} 1 & 2 & 3 & \cdots\cdots & i & \cdots\cdots & n \\ 1 & 2 & 3 & \cdots\cdots & i & \cdots\cdots & n \end{pmatrix}에 대해 아래와 같은 대칭군 σ\sigma
σ=(123inσ(1)σ(2)σ(3)σ(i)σ(n))\sigma = \begin{pmatrix} 1 & 2 & 3 & \cdots\cdots & i & \cdots\cdots & n \\ \sigma \left( 1 \right) & \sigma \left( 2 \right) & \sigma \left( 3 \right) & \cdots\cdots & \sigma \left( i \right) & \cdots\cdots & \sigma \left( n \right) \end{pmatrix}
에 이르는데 필요한 치환의 조작 횟수를 N(σ)N \left( \sigma \right)이라고 하면, 부호(signature) sgn(σ)\mathrm{sgn} \left( \sigma \right)sgn(σ)=(1)N(σ)\mathrm{sgn} \left( \sigma \right) = \left( -1 \right)^{N \left( \sigma \right)}로 정의한다.
이 부호와 행렬의 (i, σ(i))(i, \ \sigma \left( i \right)) 성분 aiσ(i)a_{i \sigma \left( i \right)}계승 i=1naiσ(i)\displaystyle \prod_{i=1}^n a_{i \sigma \left( i \right)}을 곱하면 행렬식을 계산하기 위한 항 11개가 얻어진다. 대칭군의 경우의 수는 nn개의 숫자를 나열하는 방법의 수 n!n!과 같으므로 모든 대칭군의 경우의 수에 대해 위 계산을 해서 모두 더해주면(\displaystyle \sum) 구하고자 하는 행렬식의 값이 얻어진다.

5.2. 교대 다중 선형형식으로부터의 유도[편집]

정말로 위의 식이 교대 다중 선형형식으로부터 얻어지는지 확인해 보도록 하자. 이는 아래에 소개될 성질들을 증명하는데 있어서도 중요한 역할을 한다.

먼저 임의로 고른 벡터 v1,v2,,vn\mathbf{v}_1, \mathbf{v}_2, \cdots, \mathbf{v}_n을 생각해 보자. 그리고 어떤 스칼라들 aija_{ij} (i,j=1,2,,ni, j = 1, 2, \cdots, n)을 생각해 보자. 그러면 다중 선형성으로부터 다음을 얻는다.

det(j1a1j1vj1,j2a2j2vj2,jnanjnvjn)=j1,j2,,jna1j1a2j2anjndet(vj1,vj2,,vjn)\displaystyle \det\left( \sum_{j_1} a_{1j_1} \mathbf{v}_{j_1}, \sum_{j_2} a_{2j_2} \mathbf{v}_{j_2}, \cdots \sum_{j_n} a_{nj_n} \mathbf{v}_{j_n} \right) = \sum_{j_1, j_2, \cdots, j_n} a_{1j_1} a_{2j_2} \cdots a_{nj_n} \det\left( \mathbf{v}_{j_1}, \mathbf{v}_{j_2}, \cdots, \mathbf{v}_{j_n} \right).

그런데 교대성으로부터 만약 j1,j2,,jnj_1, j_2, \cdots, j_n들 중 어느 둘이라도 중복되는 경우 det(vj1,vj2,,vjn)\det\left( \mathbf{v}_{j_1}, \mathbf{v}_{j_2}, \cdots, \mathbf{v}_{j_n} \right)는 0이 되어 버린다. 따라서 위 식 우변에서 남는 항은 j1,j2,,jnj_1, j_2, \cdots, j_n들이 제각각 모두 다 다른 경우들에 대한 항들이어야 할 것이다. 이때 남은 항들의 j1,j2,,jnj_1, j_2, \cdots, j_n은 사실 1,2,,n1, 2, \cdots, n을 임의로 뒤섞은 것이다. 이를 치환의 언어로 쓴 게 바로 다음과 같다.

j1,j2,,jna1j1a2j2anjndet(vj1,vj2,,vjn)=σSna1σ(1)a2σ(2)anσ(n)det(vσ(1),vσ(2),,vσ(n))=σSn(i=1naiσ(i))det(vσ(1),vσ(2),,vσ(n))\displaystyle \sum_{j_1, j_2, \cdots, j_n} a_{1j_1} a_{2j_2} \cdots a_{nj_n} \det\left( \mathbf{v}_{j_1}, \mathbf{v}_{j_2}, \cdots, \mathbf{v}_{j_n} \right) = \sum_{\sigma \in S_n} a_{1\sigma(1)} a_{2\sigma(2)} \cdots a_{n\sigma(n)} \det\left( \mathbf{v}_{\sigma(1)}, \mathbf{v}_{\sigma(2)}, \cdots, \mathbf{v}_{\sigma(n)} \right) = \sum_{\sigma \in S_n} \left( \prod_{i = 1}^n a_{i \sigma(i)} \right) \det\left( \mathbf{v}_{\sigma(1)}, \mathbf{v}_{\sigma(2)}, \cdots, \mathbf{v}_{\sigma(n)} \right).

여기서 한 번 더 교대성을 쓰면 위에서 설명한 대로 det(vσ(1),vσ(2),,vσ(n))=sgn(σ)det(v1,v2,,vn)\det\left( \mathbf{v}_{\sigma(1)}, \mathbf{v}_{\sigma(2)}, \cdots, \mathbf{v}_{\sigma(n)} \right) = \mathrm{sgn}(\sigma) \det\left( \mathbf{v}_{1}, \mathbf{v}_{2}, \cdots, \mathbf{v}_{n} \right)과 같이 쓸 수 있다. 이것까지 대입하면 최종적으로 다음을 얻게 된다.
det(j1a1j1vj1,j2a2j2vj2,jnanjnvjn)=[σSnsgn(σ)(i=1naiσ(i))]det(v1,v2,,vn)\displaystyle \det\left( \sum_{j_1} a_{1j_1} \mathbf{v}_{j_1}, \sum_{j_2} a_{2j_2} \mathbf{v}_{j_2}, \cdots \sum_{j_n} a_{nj_n} \mathbf{v}_{j_n} \right) = \left[ \sum_{\sigma \in S_n} \mathrm{sgn}(\sigma) \left( \prod_{i = 1}^n a_{i \sigma(i)} \right) \right] \det\left( \mathbf{v}_{1}, \mathbf{v}_{2}, \cdots, \mathbf{v}_{n} \right)

맨 끝에 붙은 det(v1,v2,,vn)\det\left( \mathbf{v}_{1}, \mathbf{v}_{2}, \cdots, \mathbf{v}_{n} \right)을 빼면 정확하게 위의 정의 식과 일치한다. 실제로 vj\mathbf{v}_jej\mathbf{e}_j로 놓고 det(e1,e2,,en)=1\det\left( \mathbf{e}_{1}, \mathbf{e}_{2}, \cdots, \mathbf{e}_{n} \right) = 1로 정의하면 좌변은 그대로 행렬식이 되고[9] 우변은 그 정의 식이 된다.

이 식은 언급되었다시피 다양한 성질들을 증명하는데 많이 사용되는데, 여기서 한 가지 성질을 소개한다. 이번엔 vj\mathbf{v}_jej\mathbf{e}_j로 놓는 대신에 임의지만 이들이 선형독립(linearly independent)하다고 하자. 이들 개수가 nn개라는 것으로부터 이들이 기저(basis)를 이룬다는 것은 분명하며, 따라서 모든 벡터들을 이들의 선형결합(linear combination)으로 쓸 수 있다. 이는 ej\mathbf{e}_j들도 마찬가지이다. 즉, ei=jbijvj\mathbf{e}_i = \sum_{j} b_{ij} \mathbf{v}_j를 만족하는 스칼라들 bijb_{ij}가 존재함을 알 수 있다. 위 결과 식에 이걸 그대로 대입하면 다음을 얻을 수 있다.

det(e1,e2,,en)=[σSnsgn(σ)(i=1nbiσ(i))]det(v1,v2,,vn)\displaystyle \det\left( \mathbf{e}_{1}, \mathbf{e}_{2}, \cdots, \mathbf{e}_{n} \right) = \left[ \sum_{\sigma \in S_n} \mathrm{sgn}(\sigma) \left( \prod_{i = 1}^n b_{i \sigma(i)} \right) \right] \det\left( \mathbf{v}_{1}, \mathbf{v}_{2}, \cdots, \mathbf{v}_{n} \right) .

일단 σSnsgn(σ)(i=1nbiσ(i))\sum_{\sigma \in S_n} \mathrm{sgn}(\sigma) \left( \prod_{i = 1}^n b_{i \sigma(i)} \right) 이 녀석이 0인지 아닌지는 아직 모른다. 하지만 적어도 우리는 이미 det(e1,e2,,en)\det\left( \mathbf{e}_{1}, \mathbf{e}_{2}, \cdots, \mathbf{e}_{n} \right)가 1, 즉 0이 아님을 알고 있다. 따라서 σSnsgn(σ)(i=1nbiσ(i))\sum_{\sigma \in S_n} \mathrm{sgn}(\sigma) \left( \prod_{i = 1}^n b_{i \sigma(i)} \right)가 0이 아닌 것은 물론 det(v1,v2,,vn)\det\left( \mathbf{v}_{1}, \mathbf{v}_{2}, \cdots, \mathbf{v}_{n} \right) 가 0이 아니어야 한다는 것을 알 수 있다. 결국 다음을 알 수 있다.
선형독립인 v1,v2,,vn\mathbf{v}_1, \mathbf{v}_2, \cdots, \mathbf{v}_n에 대해 det(v1,v2,,vn)0\det\left( \mathbf{v}_{1}, \mathbf{v}_{2}, \cdots, \mathbf{v}_{n} \right) \ne 0 이다.

한편, 다중선형성과 교대성으로부터 다음을 쉽게 바로 보일 수 있다.
임의의 벡터 v1,v2,,vn\mathbf{v}_1, \mathbf{v}_2, \cdots, \mathbf{v}_ni=1,2,,ni = 1, 2, \cdots, n, 그리고 스칼라 a1,a2,,ana_1, a_2, \cdots, a_n에 대해 다음이 성립한다.
det(v1,v2,,vn)=det(v1,v2,,vi+jiajvj,,vn)\det\left( \mathbf{v}_{1}, \mathbf{v}_{2}, \cdots, \mathbf{v}_{n} \right) = \det\left( \mathbf{v}_{1}, \mathbf{v}_{2}, \cdots, \mathbf{v}_i + \sum_{j \ne i} a_j \mathbf{v}_j, \cdots, \mathbf{v}_{n} \right).

여기서 만약 v1,v2,,vn\mathbf{v}_1, \mathbf{v}_2, \cdots, \mathbf{v}_n가 선형종속(linearly dependent)이면 적당한 ii에 대하여 vi+jiajvj=0\mathbf{v}_i + \sum_{j \ne i} a_j \mathbf{v}_j = 0이도록 하는 스칼라 a1,a2,,ana_1, a_2, \cdots, a_n을 항상 찾을 수 있다. 이는 곧 det(v1,v2,,vn)=0\det\left( \mathbf{v}_{1}, \mathbf{v}_{2}, \cdots, \mathbf{v}_{n} \right) = 0임을 의미한다. 이 결과를 결합하여 다음을 얻을 수 있다.
벡터 v1,v2,,vn\mathbf{v}_1, \mathbf{v}_2, \cdots, \mathbf{v}_n가 선형독립일 필요충분조건은 det(v1,v2,,vn)0\det\left( \mathbf{v}_{1}, \mathbf{v}_{2}, \cdots, \mathbf{v}_{n} \right) \ne 0 인 것이다.

5.3. 예시[편집]

33차 행렬식 A=a11a12a13a21a22a23a31a32a33|A| = \begin{vmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{vmatrix}의 경우 n=3n=3이므로 다음과 같은 대칭군이 존재하며 부호는 다음과 같다.
ε=(123123), sgn(ε)=(1)0=1σ23=(123132), sgn(σ23)=(1)1=1σ12=(123213), sgn(σ12)=(1)1=1σ231=(123231), sgn(σ231)=(1)2=1σ13=(123321), sgn(σ13)=(1)1=1σ312=(123312), sgn(σ312)=(1)2=1\begin{aligned} \varepsilon &= \begin{pmatrix} 1 & 2 & 3 \\ 1 & 2 & 3 \end{pmatrix}, \ \mathrm{sgn} \left( \varepsilon \right) = \left( -1 \right)^0 = 1 \\ \sigma_{23} &= \begin{pmatrix} 1 & 2 & 3 \\ 1 & 3 & 2 \end{pmatrix}, \ \mathrm{sgn} \left( \sigma_{23} \right) = \left( -1 \right)^1 = -1 \\ \sigma_{12} &= \begin{pmatrix} 1 & 2 & 3 \\ 2 & 1 & 3 \end{pmatrix}, \ \mathrm{sgn} \left( \sigma_{12} \right) = \left( -1 \right)^1 = -1 \\ \sigma_{231} &= \begin{pmatrix} 1 & 2 & 3 \\ 2 & 3 & 1 \end{pmatrix}, \ \mathrm{sgn} \left( \sigma_{231} \right) = \left( -1 \right)^2 = 1 \\ \sigma_{13} &= \begin{pmatrix} 1 & 2 & 3 \\ 3 & 2 & 1 \end{pmatrix}, \ \mathrm{sgn} \left( \sigma_{13} \right) = \left( -1 \right)^1 = -1 \\ \sigma_{312} &= \begin{pmatrix} 1 & 2 & 3 \\ 3 & 1 & 2 \end{pmatrix}, \ \mathrm{sgn} \left( \sigma_{312} \right) = \left( -1 \right)^2 = 1 \end{aligned}
따라서
A=σSnsgn(σ)i=13aiσ(i)=a11a22a33+a12a23a31+a13a21a32a11a23a32a12a21a33a13a22a31\displaystyle |A| = \sum_{\sigma \in S_n} \mathrm{sgn} \left( \sigma \right) \prod_{i=1}^3 a_{i \sigma \left( i \right)} = a_{11}a_{22}a_{33} + a_{12}a_{23}a_{31} + a_{13}a_{21}a_{32} - a_{11}a_{23}a_{32} - a_{12}a_{21}a_{33} - a_{13}a_{22}a_{31}
이며 이는 33차 행렬식을 구하는 방법에 의한 결과와 정확히 일치한다.

6. 성질[편집]

  • det(kA)=kndetA\det{(kA)}=k^n \det{A}[10]
    • 행렬의 다중 선형성으로부터 바로 얻어진다.
  • ATA^\mathrm{T}AA의 전치행렬(transpose matrix)이라고 하면 detAT=detA\det {A^\mathrm{T}} = \det A.
    • 곱셈 순서를 치환의 반대가 되도록 뒤섞는 것으로 임의의 치환 σ\sigma에 대해 i=1naiσ(i)=i=1naσ1(i)i\prod_{i=1}^n a_{i\sigma\left(i\right)} = \prod_{i=1}^n a_{\sigma^{-1}\left(i\right) i}가 성립한다는 것을 바로 알 수 있다. 이로부터 detAT=σSnsgn(σ)i=1naσ(i)i\det{A^\mathrm{T}} = \sum_{\sigma \in S_n} \mathrm{sgn} \left(\sigma\right) \prod_{i=1}^n a_{\sigma\left(i\right) i}σSnsgn(σ)i=1naiσ1(i)=σSnsgn(σ1)i=1naiσ1(i)=detA\sum_{\sigma \in S_n} \mathrm{sgn} \left(\sigma\right) \prod_{i=1}^n a_{i \sigma^{-1}\left(i\right)} = \sum_{\sigma \in S_n} \mathrm{sgn} \left(\sigma^{-1}\right) \prod_{i=1}^n a_{i \sigma^{-1}\left(i\right)} = \det{A}와 같음을 알 수 있다.
  • detAB=detAdetB\det{AB} = \det{A} \det{B}
    • 다시 AAjj-번째 열벡터를 AjA^j라 표기하고 BB의 성분들을 bijb_{ij}라 표기하겠다. 사실 ABABjj-번째 열벡터는 다음과 같이 쓸 수 있다.
      (AB)j=r=1nbrjAr\displaystyle (AB)^j = \sum_{r = 1}^n b_{rj} A^r.
      이로부터 다음을 얻을 수 있다.
      detAB=det(r1br1jAr1,r2br2jAr2,,rnbrnjArn)\displaystyle \det{AB} = \det\left( \sum_{r_1} b_{r_1 j} A^{r_1}, \sum_{r_2} b_{r_2 j} A^{r_2}, \cdots, \sum_{r_n} b_{r_n j} A^{r_n} \right).
      여기서 위의 교대 다중 선형형식으로부터 얻은 결과를 통해 이를 다음과 같이 쓸 수 있다.
      detAB=[σSnsgn(σ)(r=1nbσ(r)r)]det(A1,A2,,An)\displaystyle \det{AB} = \left[ \sum_{\sigma \in S_n} \mathrm{sgn}(\sigma) \left( \prod_{r = 1}^n b_{\sigma(r) r} \right) \right] \det\left( A^1, A^2, \cdots, A^n \right) .
      여기서 det(A1,A2,,An)=detA\det\left( A^1, A^2, \cdots, A^n \right) = \det{A}임은 잘 알고 있다. 한편 우변의 나머지 파트가 다름 아닌 detBT\det{B^\mathrm{T}}임을 볼 수 있다. 따라서 detAB=detAdetBT\det{AB} = \det{A} \det{B^{\mathrm{T}}}임을 보였다. 이제 위에서 보인 대로 detBT=detB\det {B^\mathrm{T}} = \det B이기 때문에 결국 우리가 원하는 식을 얻었다.
  • detAB=detBA\det{AB} = \det{BA}
    • detAB=detAdetB\det{AB} = \det{A} \det{B}로 인해 당연하다.
  • AA가 가역행렬일 경우 detA1=(detA)1\det A^{-1}=\left(\det A \right)^{-1}
    • detAB=detAdetB\det{AB} = \det{A} \det{B}로부터 1=detI=detA1A=detAdetA11 = \det{I} = \det{A^{-1} A} = \det{A} \det{A^{-1}}임을 얻을 수 있다.
  • AABB가 서로 닮은행렬이면 detA=detB\det A=\det B
    • 이때 B=UAU1B = UAU^{-1}인 가역행렬 UU가 존재한다는 사실로부터 detB=detUAU1=detUdetAdetU1=detA\det{B} = \det{UAU^{-1}} = \det{U} \det{A} \det{U^{-1}} = \det{A}임을 얻게 된다.
    • (1) AA가 가역이다
    • (2) 모든 0vFn\mathbf{0}\neq \mathbf{v} \in F^{n}에 대해 Av0A \mathbf{v} \ne \mathbf{0}이다.
    • (3) AA의 열벡터들은 선형독립이다.
    • (4) detA0\det{A} \neq 0이다.
      • (1) → (2): 만약 Av0A \mathbf{v} \ne \mathbf{0}0vFn\mathbf{0} \neq \mathbf{v} \in F^{n}가 존재할 경우 v=A1(Av)=0\mathbf{v} = A^{-1} \left( A\mathbf{v} \right) = 0가 되는 모순이 발생한다는 것으로 보일 수 있다.
      • (2) → (3): AA의 열벡터들을 AiA^i라고 표기하겠다. 사실 Av=iviAiA\mathbf{v} = \sum_i v_i A^i (viv_iv\mathbf{v}ii-번째 성분)과 같은데, 만약 이 열벡터들이 선형종속이면 iviAi=0\sum_i v_i A^i = 0인 모두 0은 아닌 viv_i들이 존재한다는 것이며, 따라서 Av=0A\mathbf{v} = 0인 0이 아닌 v\mathbf{v}가 존재할텐데, 이는 (2)와 모순이다.
      • (3) → (1): 이때 AiA^i들이 기저를 이루는 걸 알 수 있다. 따라서 모든 벡터들은 AiA^i들의 선형결합으로 써질 수 있으며 그 꼴은 유일하다. 그런데 이 선형결합은 항상 AxA\mathbf{x} 꼴로 써질 수 있다. 즉, 모든 벡터 v\mathbf{v}에 대해 유일한 AxA\mathbf{x}가 존재하여 v=Ax\mathbf{v} = A\mathbf{x}인 것이다. 이는 선형 사상 (linear map) f:xAxf: \mathbf{x} \mapsto A\mathbf{x}가 단전사(bijective)함을 의미한다. 이제 선형대수의 기본정리를 사용하여 AA가 가역임을 알 수 있다.[11]
      • (3) ↔ (4): 저 위의 교대 다중 선형형식으로부터의 유도 항목에서 이를 설명하였다.
  • 블록행렬 AACC가 각각 정사각행렬일 때 det(ABOC)=detAdetC\det \begin{pmatrix} A & B \\ O & C \end{pmatrix}=\det A\det C[12]
    • 이건 여인수 전개(cofactor expansion)로 증명하는 것이 편하다. 저 블록행렬을 XX라고 표기하고 XX의 성분들을 xijx_{ij}라고 표기하자. 그리고 AA(m×m)(m \times m)-행렬이라고 두자. 만약 CC(1×1)(1 \times 1)-행렬이면 맨 마지막 행에 대한 여인수 전개를 통해 detM=i=1m+1(1)(m+1)+ixi,(m+1)Mi,(m+1)=(1)(m+1)+(m+1)c11Mm+1,m+1\det{M} = \sum_{i = 1}^{m + 1} (-1)^{(m + 1) + i} x_{i, (m + 1)} M_{i, (m + 1)} = (-1)^{(m + 1) + (m + 1)} c_{11} M_{m+1, m+1}임을 얻는다. (아래에 정의되어 있지만 MijM_{ij}는 행렬 XX에서 ii-번째 행과 jj-번째 열을 지워서 얻은 부분행렬(submatrix)의 행렬식이다.) (C=(c11)C = (c_{11}).) 그런데 Mm+1,m+1M_{m+1, m+1}은 다름 아닌 detA\det{A}와 같다. 따라서 detM=c11detA=detAdetB\det{M} = c_{11} \det{A} = \det{A} \det{B}를 얻는다.
      이번에는 어떤 nn에 대하여 만약 CC(n×n)(n \times n)-행렬이면 우리가 원하는 식이 항상 성립한다고 가정하자. 이제 CC(n+1)×(n+1)(n + 1) \times (n + 1)-행렬이라고 두도록 하자. 한편, CC(n+1)(n+1)-번째 열과 ii-번째 행을 지워서 얻은 부분행렬을 CiC_i라고 표기하자. 그러면 in+1i \le n + 1ii에 대하여 다음을 얻는다.
      Mi+m,m+n+1=det(ABOCi)\displaystyle M_{i + m, m + n + 1} = \det \begin{pmatrix} A & B \\ O & C_i \end{pmatrix}.
      여기서 CiC_i(n×n)(n \times n)-행렬임을 상기하자. 그러면 가정에 의하여 Mi+m,m+n+1=detAdetCiM_{i + m, m + n + 1} = \det{A} \det{C_i}임을 얻는다. 한편, CC의 성분들을 cijc_{ij}라고 표기하면 xi+m,j+m=cijx_{i + m, j + m} = c_{ij}임을 얻는다. 이제 맨 마지막 행에 대하여 detX\det{X}의 여인수 전개를 해 보자. 그러면 다음을 얻는다.
      detX=i=1m+n+1(1)i+(m+n+1)xi,(m+n+1)Mi,m+n+1=i=m+1m+n+1(1)i+(m+n+1)xi,(m+n+1)Mi,m+n+1\displaystyle \det{X} = \sum_{i = 1}^{m + n + 1} (-1)^{i + (m + n + 1)} x_{i, (m + n + 1)} M_{i, m + n + 1} = \sum_{i = m + 1}^{m + n + 1} (-1)^{i + (m + n + 1)} x_{i, (m + n + 1)} M_{i, m + n + 1}
      =i=1n+1(1)i+(n+1)xi+m,(m+n+1)Mi+m,m+n+1=i=1n+1(1)i+(n+1)ci,(n+1)detAdetCi=detAdetC = \sum_{i = 1}^{n + 1} (-1)^{i + (n + 1)} x_{i + m, (m + n + 1)} M_{i + m, m + n + 1} = \sum_{i = 1}^{n + 1} (-1)^{i + (n + 1)} c_{i, (n + 1)} \det{A} \det{C_i} = \det{A} \det{C}.
      따라서 CC(n+1)×(n+1)(n + 1) \times (n + 1)-행렬임에도 우리가 원하는 식이 성립함을 알 수 있다. 이제 nn에 대한 수학적 귀납법을 통해 위 식이 항상 성립함을 알 수 있다.
  • 삼각행렬의 행렬식은 주대각 성분의 곱과 같다.
    • 위 결과에서 CC1×11 \times 1인 경우에 대해 생각하고 행렬의 크기에 대해 수학적 귀납적을 사용하면 바로 얻어진다.

7. 선형변환에서의 행렬식[편집]

유한 차원 벡터 공간 VV의 선형변환 T:VVT:V\to V가 주어져 있을 때, 임의의 두 기저 β\betaβ\beta'에 대하여, 행렬표현 [T]ββ[T]_\beta^\beta[T]ββ[T]_{\beta'}^{\beta'}는 닮은행렬이다. 그런데, 행렬식은 닮음불변량이므로, 선형변환의 행렬식을 detT=det[T]ββ\det T=\det [T]_\beta^\beta로 자연스럽게 정의할 수 있다.

8. 계산법[편집]

8.1. 사루스 법칙[편집]

사루스 법칙은 3×33\times3 행렬식을 계산하는 공식 중 하나이다. 33차 정사각 행렬 이외에는 적용이 안 된다는 점에 주의하자.[13] 3×33\times3 행렬 AA가 다음과 같이 주어져있다고 하자.
(a11a12a13a21a22a23a31a32a33)\begin{pmatrix} a_{11}& a_{12}& a_{13} \\ a_{21}& a_{22}& a_{23} \\ a_{31}& a_{32}& a_{33} \end{pmatrix}
(1) 1열과 2열을 차례대로 4열과 5열에 한 번 더 쓴다.
(a11a12a13a11a12a21a22a23a21a22a31a32a33a31a32)\begin{pmatrix} a_{11}& a_{12}& a_{13}&a_{11}& a_{12} \\ a_{21}& a_{22}& a_{23}&a_{21}& a_{22} \\ a_{31}& a_{32}& a_{33}&a_{31}& a_{32} \end{pmatrix}
(2)다음과 같이 대각선을 긋는다.
파일:사루스공식.png
(3)같은 대각선에 위치한 성분끼리 곱해준다.
(4)↘ 방향의 결과는 더해주고, ↙방향의 결과는 빼준다. 즉,
detA=a11a22a33+a12a23a31+a13a21a32a13a22a31a11a23a32a12a21a33\det A=a_{11}a_{22}a_{33}+a_{12}a_{23}a_{31}+a_{13}a_{21}a_{32}-a_{13}a_{22}a_{31}-a_{11}a_{23}a_{32}-a_{12}a_{21}a_{33}
가 원하는 행렬식의 값이다.

사루스 법칙이 쓸모있는 곳은 3차원 벡터의 외적회전이다. 우리는 두 3차원 벡터의 외적을

a×b=det[x^y^z^a1a2a3b1b2b3]\bold{a} \times \bold{b}= \det \begin{bmatrix} \hat{\bold{x}} & \hat{\bold{y}} & \hat{\bold{z}} \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \end{bmatrix}

로 쓰는 것을 안다.

이를 위처럼

[x^y^z^x^y^a1a2a3a1a2b1b2b3b1b2]\begin{bmatrix} \hat{\bold{x}} & \hat{\bold{y}} & \hat{\bold{z}} & \hat{\bold{x}} & \hat{\bold{y}} \\ a_1 & a_2 & a_3 & a_1 & a_2 \\ b_1 & b_2 & b_3 & b_1 & b_2 \end{bmatrix}

로 만들어 계산할 수 있음을 얻는다. 회전 또한 같은 맥락으로

curl a[x^y^z^x^y^xyzxyaxayazaxay]\mathrm{curl}\ \bold{a} \Rightarrow \begin{bmatrix} \hat{\bold{x}} & \hat{\bold{y}} & \hat{\bold{z}} & \hat{\bold{x}} & \hat{\bold{y}} \\ \dfrac{\partial}{\partial x} & \dfrac{\partial}{\partial y} & \dfrac{\partial}{\partial z} & \dfrac{\partial}{\partial x} & \dfrac{\partial}{\partial y} \\ a_x & a_y & a_z & a_x & a_y \end{bmatrix}

로 바꿔 계산할 수 있다.

8.2. 여인수 전개[편집]

nn차 정사각행렬 AA(i, j)(i, \ j) 소행렬식 MijM_{ij}AA에서 ii행, jj열을 제거한 행렬의 행렬식이다. 또한, Cij=(1)i+jMijC_{ij}=\left(-1\right)^{i+j}M_{ij}AA의 여인수라고 한다. 이 때, AA의 한 행을 선택하고 (선택한 행을 ii행이라고 하자.) detA\det A를 다음과 같이 전개할수 있다.
detA=j=1naijCij=j=1n(1)i+jaijMij\displaystyle \det A=\sum_{j=1}^n a_{ij}C_{ij}=\sum_{j=1}^n \left(-1\right)^{i+j}a_{ij}M_{ij}
비슷하게, AA의 한 열을 선택하면
detA=i=1naijCij=i=1n(1)i+jaijMij\displaystyle \det A=\sum_{i=1}^n a_{ij}C_{ij}=\sum_{i=1}^n \left(-1\right)^{i+j}a_{ij}M_{ij}
이 된다. 행 아무거나 혹은 열 아무거나 선택해도 똑같은 결과가 나오는 게 희한할 수 있는데, 이는 행렬식의 몇 가지 성질로부터 간단하게 구할 수 있다. 먼저 행을 가지고 계산이 되는 성질이 증명됐다고 하자. 그러면 전치행렬(transpose matrix)의 행렬식이 동일하다는 것으로부터 열을 가지고도 계산이 된다는 성질이 만족된다는 것을 바로 알 수 있다. 한편, 예를 들어 맨 마지막 행, 즉 nn번째 행을 가지고 위 성질을 증명했다고 하자. 이제 다음과 같이 주어진 행렬 UU를 생각해 보자.

(1000000000000100100000001000000010000000100100000)\begin{pmatrix} \ddots & \vdots & \vdots & \vdots & \vdots & \cdots & \vdots & \vdots & \vdots \\ \cdots & 1 & 0 & 0 & 0 & \cdots & 0 & 0 & 0 \\ \cdots & 0 & 0 & 0 & 0 & \cdots & 0 & 0 & 1 \\ \cdots & 0 & 0 & 1 & 0 & \cdots & 0 & 0 & 0 \\ \cdots & 0 & 0 & 0 & 1 & \cdots & 0 & 0 & 0 \\ \cdots & 0 & 0 & 0 & 0 & \cdots & 1 & 0 & 0 \\ \cdots & 0 & 0 & 0 & 0 & \cdots & 0 & 1 & 0 \\ \cdots & 0 & 1 & 0 & 0 & \cdots & 0 & 0 & 0 \end{pmatrix}

즉, 단위행렬에서 (i, i)(i, \ i), (n, n)(n, \ n) 성분을 00으로 바꾸고 대신 (i, n)(i, \ n), (n, i)(n, \ i) 성분을 11로 둔 것이다. 그러면 UAUAAAii번째 행과 nn번째 행이 뒤바뀐 행렬이 된다. 이 행렬의 nn번째 행을 가지고 여인수 전개를 하면 det(UA)=j=1n(1)n+jaijMij\displaystyle \det \left(UA \right) = \sum_{j=1}^n \left(-1\right)^{n+j}a_{ij}M_{ij}가 된다는 것을 알 수 있다. (UAUAnn번째 행을 지우고 남은 행렬이 AAii번째 행을 지우고 남은 행렬과 같다는 것을 유념해 두자.) 그런데 사실 detU=(1)i+n\det U = \left(-1\right)^{i+n}이고 det(UA)=detUdetA\det \left(UA\right) = \det U \det A이므로 결국 우리가 원하는 ii번째 행에 대한 여인수 전개 결과를 얻을 수 있다.

한편, 하나 남은 nn-번째 행에 대한 여인수 전개가 성립한다는 것을 증명하는 것은 위 정의 문단에 소개된 식을 이용하면 어렵지 않게 할 수 있다. 그냥 각 jj에 대하여 anja_{nj}들이 포함된 항들을 묶으면 뭐가 나오는지 고민해 보면 금방 나온다. 다만 대칭군의 부분대칭군에서 부호가 어떻게 바뀌는지 고민을 좀 해 봐야 하는 게 사실 상 유일한 난관이겠다. 그래도 증명이 아주 간단하지는 않으므로 접어 두었으니, 관심 있는 위키러는 펼쳐서 읽어 보자.

[여인수 전개 증명]
언급한 대로, anja_{nj}들로 일단 묶어 보자. 그러면 다음을 얻는다. 여기서 ai,σ(i)a_{i, \sigma(i)}들 중에 anja_{nj}가 포함되어 있는 항에 대해 σ(n)=j\sigma(n) = j가 성립한다는 걸 유념에 두도록 하자. 즉, 실질적으로는 an,σ(n)a_{n, \sigma(n)}으로 묶는 것이다.

detA=j=1nanjσSn;jsgn(σ)r=1n1ar,σ(r)\displaystyle \det{A} = \sum_{j = 1}^{n} a_{nj} \sum_{\sigma \in S_{n; j}} \mathrm{sgn}(\sigma) \prod_{r = 1}^{n - 1} a_{r, \sigma(r)}.

여기서 Sn;jS_{n; j}σ(n)=j\sigma(n) = jσ\sigma들을 모아둔 집합이다. 이제 관건은 Sn;jS_{n; j}에 대한 저 합 부분이 CnjC_{nj}와 같다는 것을 보이는 것이다.

Sn;jS_{n; j}의 원소들을 보면 이들이 이미 njn \mapsto j 하나가 고정되어 있고 나머지는 임의로 섞는 식으로 되어 있음을 알 수 있다. 가만 보면 Sn1S_{n - 1}의 원소와 비슷해 보인다. 특히 j=nj = n인 경우면 (정의역과 공역이 조금 다른 거 빼면) 아예 똑같다고 봐도 무방하다. 그러면 Sn;jS_{n; j}의 원소들을 Sn1S_{n - 1}로 변환하는 방법을 생각해 보자.

방법은 간단하다. Sn;jS_{n; j}의 원소들은 {1,2,,n1}\{1, 2, \cdots, n - 1\}{1,2,,n}\{1, 2, \cdots, n\}에서 jj를 제외한 집합으로 일대일 대응시킨다. 두 집합의 차이점은 nn이 빠졌는가 jj가 빠졌는가 정도이다. 그러면 {1,2,,n}\{1, 2, \cdots, n\}에서 jj를 제외한 집합을 {1,2,,n1}\{1, 2, \cdots, n - 1\}로 보내는 적당한 SnS_{n}의 원소를 생각해 보는 것이 좋겠다. 이런 걸 생각해 보자.

τj(r)={r(r<j)r+1(jr<n)j(r=n)\displaystyle \tau_j(r) = \left\{ \begin{array}{ll} r & (r < j) \\ r + 1 & (j \le r < n) \\ j & (r = n) \end{array} \right..

그러면 (τj)1(\tau_j)^{-1}{1,2,,n}\{1, 2, \cdots, n\}에서 jj를 제외한 집합을 {1,2,,n1}\{1, 2, \cdots, n - 1\}로 보내는 (그리고 jjnn으로 보내는) 적당한 SnS_{n}의 원소이다. (τj\tau_j 말고 (τj)1(\tau_j)^{-1}가 이를 만족하도록 설정한 이유는 다음에 이어질 식들을 좀 더 간단하게 하도록 하기 위함이다.) 그러면 모든 Sn;jS_{n; j}의 원소 σ\sigma에 대해 (τj)1σ(\tau_j)^{-1} \sigma{1,2,,n1}\{1, 2, \cdots, n - 1\}{1,2,,n1}\{1, 2, \cdots, n - 1\}로 보낸다는 것을 알 수 있다. nnn \mapsto n이 추가된 것만 빼면 완전히 Sn1S_{n - 1}의 원소와 똑같이 군다. 그러면 역으로 이런 걸 생각할 수 있다. σSn1\sigma \in S_{n - 1}에 대해 σ+(r)=σ(r)\sigma^+(r) = \sigma(r) (r<n)(r < n), σ+(n)=n\sigma^+(n) = nσ+Sn\sigma^+ \in S_n을 찾을 수 있을 것이다. 그러면 조금 전에 확인한 바로부터 Sn;j={τjσ+    σSn1}S_{n; j} = \{ \tau_j \sigma^+ \; | \; \sigma \in S_{n - 1} \}임을 알 수 있다. 이를 이용해 detA\det{A}를 다음과 같이 쓸 수 있다.

detA=j=1nanjσSn1sgn(τjσ+)r=1n1ar,(τjσ+)(r)\displaystyle \det{A} = \sum_{j = 1}^{n} a_{nj} \sum_{\sigma \in S_{n - 1}} \mathrm{sgn}(\tau_j \sigma^+) \prod_{r = 1}^{n - 1} a_{r, (\tau_j \sigma^+)(r)}
=j=1nsgn(τj)anjσSn1sgn(σ)r=1n1ar,(τjσ+)(r)\displaystyle = \sum_{j = 1}^{n} \mathrm{sgn}(\tau_j) a_{nj} \sum_{\sigma \in S_{n - 1}} \mathrm{sgn}(\sigma) \prod_{r = 1}^{n - 1} a_{r, (\tau_j \sigma^+)(r)}.

이제 ar,(τjσ+)(r)a_{r, (\tau_j \sigma^+)(r)}이 뭔지 보도록 하자. 여기서 τj(r)\tau_j(r)1,2,,j1,j,j+1,,n11, 2, \cdots, j - 1, j, j + 1, \cdots, n - 1을 순서 대로 1,2,,j1,j+1,,n1,n1, 2, \cdots, j - 1, j + 1, \cdots, n - 1, n에 보낸다는 것을 상기하자. 마치 jj번째를 건너뛰고 가는 것 같은 모양이다. 혹은 jj번째를 지우고 뒤의 것들을 땡겨서 붙이는 모양으로도 볼 수 있다. 그런데 그러고 보면 MniM_{ni}를 만들기 위해 원래 행렬에서 (nn번째 행과) jj번째 열을 지우고 남은 걸 잘 땡겨서 (n1)×(n1)(n - 1) \times (n - 1)-행렬을 만들었다. 이제 이 행렬의 (r,  s)(r, \; s)-성분을 ars(j)a^{(j)}_{rs}라고 표기하면, 다음이 성립한다는 것을 방금 설명한 바에 입각했을 때 생각해 낼 수 있다.

ars(j)=ar,τj(s)\displaystyle a^{(j)}_{rs} = a_{r, \tau_j(s)}.

따라서 detA\det{A}를 다음과 같이 쓸 수 있다.

detA=j=1nsgn(τj)anjσSn1sgn(σ)r=1n1ar,σ(r)(j)\displaystyle \det{A} = \sum_{j = 1}^{n} \mathrm{sgn}(\tau_j) a_{nj} \sum_{\sigma \in S_{n - 1}} \mathrm{sgn}(\sigma) \prod_{r = 1}^{n - 1} a^{(j)}_{r, \sigma(r)}
=j=1nsgn(τj)anjdet(ars(j))=j=1nsgn(τj)anjMnj\displaystyle = \sum_{j = 1}^{n} \mathrm{sgn}(\tau_j) a_{nj} \det{(a^{(j)}_{rs})} = \sum_{j = 1}^{n} \mathrm{sgn}(\tau_j) a_{nj} M_{nj}.

원하는 식과 거의 비슷해졌다. 이제 남은 건 sgn(τj)\mathrm{sgn}(\tau_j)를 계산하는 것이다. 사실 τj\tau_j는 다음과 같은 호환들의 곱으로 쓸 수 있다.

τj=(j    j+1)(j+1    j+2)(n1    n)\displaystyle \tau_j = (j \;\; j + 1) (j + 1 \;\; j + 2) \cdots (n - 1 \;\; n).

보다시피 (nj)(n - j)-개의 호환들의 곱으로 표현된다. 따라서 sgn(τj)=(1)nj\mathrm{sgn}(\tau_j) = (-1)^{n - j}이다. 한편, (1)nj=(1)nj(1)2j=(1)n+j(-1)^{n - j} = (-1)^{n - j} (-1)^{2j} = (-1)^{n + j}이므로 결국 다음을 얻게 되는 것으로 증명을 끝낼 수 있다.

detA=j=1n(1)n+janjMnj=j=1nanjCnj\displaystyle \det{A} = \sum_{j = 1}^{n} (-1)^{n + j} a_{nj} M_{nj} = \sum_{j = 1}^{n} a_{nj} C_{nj}.

그리고 앞에서 지적했던 것처럼 nn번째 행 말고 다른 행을 택해도, 아니면 아예 행 말고 열을 택해도 행렬식의 성질 덕분에 여인수 전개가 잘 성립한다는 것을 알 수 있다.


여인수 전개의 의의는 nn차 정사각행렬의 행렬식을 (n1)(n-1)차 정사각행렬의 행렬식으로 쪼개어 계산할 수 있다는 점이다. 이를 계속 적용시켜서 계산이 비교적 쉬운 22차 정사각행렬이나 33차 정사각행렬을 여러 번 계산하는 방법으로 임의의 정사각행렬의 행렬식을 계산할 수 있다는 것이다. 혹은, 하나 더 작은 행렬식들로 쪼개진다는 점을 이용하여 어떤 성질을 수학적 귀납법으로 증명하고자 할 때 써먹을 수 있다. 실제로 위에서 소개된 성질들 중 하나인 det(ABOC)=detAdetC\det \begin{pmatrix} A & B \\ O & C \end{pmatrix}=\det A\det C라든가 삼각행렬의 행렬식에 대한 성질 같은 것들을 여인수 전개로 손쉽게 증명할 수 있음을 보였다.

하지만 증명 외에 실제 계산을 하기 위해서는 가급적 안 쓰는 게 좋은데, 여인수 전개를 이용해서 직접 nn차 정사각행렬의 행렬식을 구하려고 하면 계산량이 무려 n!\boldsymbol{n!}에 비례하게 된다!. 물론 연습문제들은 무식하게 큰 행렬을 계산하는 경우는 없고, 있더라도 00이 많은 경우 쉽게 풀리는 경우가 있다. 이 방법을 써서 컴퓨터로 계산한다면, 그리고 메모리를 많이 쓸 수 있다면, 작은 행렬식 계산이 반복된다는 점을 이용해 메모이제이션 기법으로 성능을 개선할 수 있다. 그리고 이렇게 하면 해당 매트릭스가 포함된 더 큰 매트릭스에서 다시 행렬식을 계산해야 할 경우 이미 계산된 행렬식을 캐시처럼 이용할 수 있다.

다만 아래에 서술된 LU분해법이 대부분의 상황에서 훨씬 더 효율적이다.

8.3. 가우스 소거법[편집]

행렬식의 근본적인 세가지 성질인 교대성, 다중선형성, detI=1\det I=1을 이용하면, 가우스소거법을 통해 행렬식을 계산하는 방법을 알 수 있다. 행렬 AA와 기본 행 연산이 적용된 행렬 EAEA간의 관계는 다음과 같다. (EE는 기본 행 연산에 대응 하는 기본행렬이다.)
  1. 두 행의 교환 : det(EA)=detA\det \left(EA \right)=-\det A
  2. 한 행에 다른 행의 kk배를 더함 : det(EA)=detA\det \left(EA\right)=\det A
  3. 한 행의 kk배: det(EA)=kdetA\det \left(EA\right)=k\det A
여기서 주목할점은, det(EA)=detEdetA\det \left(EA\right)=\det E\det A의 관계가 성립한다는 것이다. 가우스 소거법을 통해 A=E1E2EnRA = E_1 E_2 \cdots\cdots E_n R 이 성립하는 기본행렬 EiE_i와 기약 행 사다리꼴행렬 RR을 찾아낼 수 있고,
detA=detE1detEndetR\det A=\det E_1 \cdots\cdots \det E_n \det R
이 성립함을 알 수 있다.

8.4. LU 분해법[편집]

행렬을 LU분해하면, 행렬식 공식도 다음과 같이 나타낼 수 있는데
detA=det(LU)=detLdetU\det A = \det \left(LU\right) = \det L \det U
행렬 LLUU는 각각 삼각행렬이기 때문에, 주대각 성분들을 곱하는 것 만으로 행렬식을 쉽게 구할 수 있다.

위에 나온 여인수 전개 같은 알고리즘들은 비효율적이기 때문에, 보통 컴퓨터로 행렬식을 계산할 때는 이 방식을 자주 이용한다.
허나 일부 행렬은 단순 LU 분해로만 할 수 없는 경우에 대비하기 위해 NumPy같은 경우 일반적인 LU 분해법이 아닌 행교체를 수치화하는 순열행렬P를 첨가한 PLU 분해법을 대신 사용한다.

예시로
[015024653]\left[ \begin{array}{ccc} 0 & 1 & 5 \\ 0 & 2 & 4 \\ 6 & 5 & 3 \end{array} \right]는 가우스 소거법을 바로 사용할 수 없기 때문에
[001100010]\left[ \begin{array}{ccc} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{array} \right] [653015024]\left[ \begin{array}{ccc} 6 & 5 & 3 \\ 0 & 1 & 5 \\ 0 & 2 & 4 \end{array} \right], 왼쪽의 P 행렬을 통해 원 행렬의 행을 교환한 후에 LU 분해를 할 수 있게 한다.

9. 기하학적 특징[편집]

9.1. 넓이, 부피, 초부피[편집]

좌표평면 R2\mathbb{R}^{2}에서 두 벡터 (1,0),(0,1)(1,0), (0,1)을 두 변으로 하는 평행사변형의 넓이는 1이다. 이 값은 detI\text{det}I와 값이 같다. R2\mathbb{R}^{2}의 일차독립인 임의의 두 벡터 v1=(a,b)v_{1}=(a,b), v2=(c,d)v_{2}=(c,d)가 주어졌을 때, II에 기본행연산을 유한번 적용하면 행렬
(abcd)\begin{pmatrix}a&b\\c&d\end{pmatrix}
을 구할 수 있다. 이 때, 각 기본행연산을 적용하는 과정에서 변형된 평행사변형의 넓이가 다음과 같이 바뀐다.
  1. 두 행을 교환할 때 : 그대로
    파일:두 벡터의 교환.png
  2. 한 행에 다른 행의 상수배를 더해줄 때 : 그대로
    파일:한 행에 다른행의 상수배를 더함.png
  3. 한 행에 kk배 : k|k|
    파일:한 행에 상수배.png
행렬식의 교대성, 다중선형성과 비교해보면, 각 단계에서 변화된 행렬식에 절댓값을 취한것과 같다. 그러므로, 2차 정사각행렬 AA의 각 행벡터를 두 변으로 하는 평행사변형의 넓이는 detA|\text{det}A|이다.
이를 3차원으로 확장하면 3차원 좌표공간에서 3차 정사각행렬 AA의 행벡터에 의해 결정되는 평행육면체의 부피는 detA|\text{det}A|가 된다. n차원으로 확장하면, 초부피(hypervolume)도 detA|\text{det}A|라 할 수 있다.

9.2. 방향 (orientation)[편집]


[1] 범함수란 벡터 공간에서 스칼라로 가는 선형변환을 말한다. [2] 각 인수들에 대해 선형이다.[3] 짧게 쓰자면, det(aδijvj+δiju)=adet(vj)+det((1δij)vj+δiju)\det \left(a^{\delta_{ij}}\mathbf v_j+\delta_{ij}\mathbf u\right)=a\det \left(\mathbf v_j\right)+\det \left(\left(1-\delta_{ij}\right)\mathbf v_j+\delta_{ij}\mathbf u\right). 여기서 δij\delta_{ij}크로네커 델타이다.[4] 두 열벡터를 교환하면 부호가 바뀐다. 이 때 vi=vj\mathbf v_i = \mathbf v_j이면 det(vj)=det(vj)2det(vj)=0\det \left(\mathbf v_j\right) = -\det \left(\mathbf v_j \right) \Rightarrow 2\det \left(\mathbf v_j \right) = 0에서 det(vj)=0\det \left(\mathbf v_j \right)=0, 즉 두 열벡터가 같을 경우 그 행렬식의 값은 무조건 00이 된다. 행렬식은 전치를 해도 값이 같으므로 두 행벡터가 같은 경우에 대해서도 똑같이 적용할 수 있다.[5] 다만, 이것은 1+1=2가 0이 아닐때의 얘기이다. F의 표수(characteristic)가 2이면, 2로 나누는 것이 0으로 나누는 것이 되어버리기 때문이다. 이 경우에는 두 벡터가 같을때 행렬식이 0이라는 조건이 추가로 있어야 행렬식의 정의가 된다.[6] 짧게 쓰자면, 호환 σ=(ij)\sigma=\begin{pmatrix} i & j \end{pmatrix}에 대해, det(vj)=det(vσ(j))\det \left(\mathbf v_j\right)=-\det \left(\mathbf v_{\sigma\left(j\right)}\right)이다. 이것이 행렬식의 계산법에서 홀치환-짝치환을 따지는 이유이다.[7] 그런데 사실 이러한 고차 행렬식은 라플라스 전개를 이용하여 차수를 낮춰버리면 된다. 이 역시 행렬식의 특징을 이용해서 증명할 수 있다.[8] 참고로 좀 더 추상적으로 할 경우, 교대 다중 선형형식의 존재성을 텐서와 그 몫공간(quotient space) 중 하나로부터 유도할 수도 있다.[9] 여기서 각 ii에 대해 jiaijivji\sum_{j_i} a_{ij_i} \mathbf{v}_{j_i}는 행렬 (aij)(a_{ij})ii번째 열이 된다.[10] nn은 행렬의 크기[11] 선형대수의 기본정리에 의하여 어떤 (n×n)(n \times n)-행렬 BB가 존재해 모든 모든 벡터 v\mathbf{v}에 대하여 f1(v)=Bvf^{-1}(\mathbf{v}) = B\mathbf{v}임을 알 수 있다. 그리고 다시 기본정리에 의하여 (ff1)(v)=ABv(f \circ f^{-1})(\mathbf{v}) = AB\mathbf{v}, (f1f)(v)=BAv(f^{-1} \circ f)(\mathbf{v}) = BA\mathbf{v}가 성립함을 알 수 있다. 이는 AB=BA=IAB = BA = I임을 의미하며, 따라서 AA가 가역임을 보일 수 있다.[12] 이걸 선형 사상의 언어로 쓰면 다음과 같이 쓸 수 있다. 벡터 공간 VV와 부분 공간(subspace) WW