라플라스 전개

선형대수학에서 **라플라스 전개**(-展開, Laplace expansion) 또는 **여인자 전개**(餘因子展開, cofactor expansion)는 행렬식을 더 작은 두 행렬식과 그에 맞는 부호를 곱한 것들의 합으로 전개하는 것이다.
# 내용

## 소행렬식과 여인자
소행렬식 *n* × *n* 정사각행렬 *A*의 (*i*, *j*) **소행렬식** *Mij*는 *A*의 *i*행과 *j*열을 지워서 얻어진 행렬식이다. *A*의 **여인자** *Cij*는 거기에 1 또는 -1을 값으로 하는 계수 (-1)*i* + *j*를 곱한 것이다. 즉, :C_{ij} = (-1)^{i+j}M_{ij} 예를 들어 행렬 :A = \begin{bmatrix} 1 & 2 & 3 \\\ 4 & 5 & 6 \\\ 7 & 8 & 9 \end{bmatrix} 의 (2, 3) 소행렬식과 여인자는 각각 다음과 같다. :M_{23} = \begin{vmatrix} 1 & 2 & \Box \\\ \Box & \Box & \blacksquare \\\ 7 & 8 & \Box \end{vmatrix} = \begin{vmatrix} 1 & 2 \\\ 7 & 8 \end{vmatrix} = -6 :C_{23} = (-1)^{2+3} \begin{vmatrix} 1 & 2 \\\ 7 & 8 \end{vmatrix} = -\begin{vmatrix} 1 & 2 \\\ 7 & 8 \end{vmatrix} = 6
## 라플라스 전개
*n* × *n* 행렬 1=*A* = [*aij*]의 행렬식은 고정된 i행의 각 항과 그의 여인자의 곱으로 전개할 수 있다. :|A| = \sum_{j=1}^n a_{ij}C_{ij} 비슷하게, 고정된 j열에 대하여 전개할 수 있다. :|A| = \sum_{i=1}^n a_{ij}C_{ij}
## 고전적 수반 행렬
서로 다른 행의 항과 여인자를 붙여 전개하면 0이 된다. :\sum_{j=1}^n a_{ij}C_{kj} = 0\qquad(i\ne k) 비슷하게, 서로 다른 열의 항과 여인자를 붙여 전개하면 0이 된다. :\sum_{i=1}^n a_{ij}C_{ik} = 0\qquad(j\ne k) 즉, :\sum_{j=1}^n a_{ij}C_{kj} = \delta_{ik}|A| :\sum_{i=1}^n a_{ij}C_{ik} = \delta_{jk}|A| 여기서 \delta는 크로네커 델타이다. 정리하면, 행렬과 그 고전적 수반 행렬의 곱은 다음과 같다. :A\operatorname{adj}A=(\operatorname{adj}A)A=|A|I
## 여러 행에 대한 전개
라플라스 전개는 임의의 k개의 행에 대한 전개로 일반화할 수 있다. 즉, 다음과 같은 대상들이 주어졌다고 하자. * I, J는 1, ..., *n*의 k원소 부분 집합이다. 즉, k개의 행과 열을 뜻한다. * *A**'I*, *J*는 A에서 행 첨수가 I에, 열 첨수가 J에 있는 원소만을 골라내어 얻는 행렬식이다. * *M**'I*, *J*는 A에서 행 첨수가 I에, 열 첨수가 J에 있는 원소만을 제거하여 얻는 행렬식이다. 그렇다면, 행렬식은 고정된 k개의 행 I에 대하여 다음과 같이 전개된다. :|A| = \sum_{|J|=k} (-1)^{\sum I+\sum J} A_{I,J}M_{I,J} 비슷하게, 행렬식은 고정된 k개의 열 J에 대하여 다음과 같이 전개된다. :|A| = \sum_{|I|=k} (-1)^{\sum I+\sum J} A_{I,J}M_{I,J} 여러 행에 대한 라플라스 전개는 필산하기에 복잡하나, 이론적으로 유용하다.
# 예
3 × 3 행렬 :A = \begin{bmatrix} 1 & 2 & 3 \\\ 4 & 5 & 6 \\\ 7 & 8 & 9 \end{bmatrix} 의 행렬식은 1행에 대한 라플라스 전개를 통해 다음과 같이 계산할 수 있다. :\begin{align}|A| &= (-1)^{1+1}1\begin{vmatrix} 5 & 6 \\\ 8 & 9 \end{vmatrix}+(-1)^{1+2}2\begin{vmatrix} 4 & 6 \\\ 7 & 9 \end{vmatrix}+(-1)^{1+3}3\begin{vmatrix} 4 & 5 \\\ 7 & 8 \end{vmatrix} \\\ &= 1(-3) - 2(-6) + 3(-3) \\\ &= 0\end{align} 2열에 대하여 전개해도 결과는 같다. :\begin{align}|A| &= (-1)^{2+1}2\begin{vmatrix} 4 & 6 \\\ 7 & 9 \end{vmatrix}+(-1)^{2+2}5\begin{vmatrix} 1 & 3 \\\ 7 & 9 \end{vmatrix}+(-1)^{2+3}8\begin{vmatrix} 1 & 3 \\\ 4 & 6 \end{vmatrix} \\\ &= - 2(-6) + 5(-12) - 8(-6) \\\ &= 0\end{align} 물론, A는 1행과 3행의 합이 2행의 2배이므로, 특이 행렬이다. 따라서, 행렬식은 당연히 위 계산대로 0이다. 4 × 4 행렬 :A=\begin{bmatrix} 1 & 2 & 1 & 4 \\\ 0 & -1 & 2 & 1 \\\ 1 & 0 & 1 & 3 \\\ 0 & 1 & 3 & 1 \end{bmatrix} 의 행렬식은 1행에 대한 전개를 통해 계산할 수 있다. 먼저 소행렬식 M_{11}, M_{12}, M_{13}, M_{14}는 모두 3 × 3 행렬식이므로 역시 다음과 같이 라플라스 전개를 통해 계산할 수 있다. :\begin{align}M_{11}&=\begin{vmatrix} -1 & 2 & 1 \\\ 0 & 1 & 3 \\\ 1 & 3 & 1 \end{vmatrix}=-1\begin{vmatrix} 1 & 3 \\\ 3 & 1 \end{vmatrix} -2\begin{vmatrix} 0 & 3 \\\ 1 & 1 \end{vmatrix} +1\begin{vmatrix} 0 & 1 \\\ 1 & 3 \end{vmatrix}\\\ &=-1(1-9)-2(0-3)+1(0-1)=13\end{align} :\begin{align}M_{12}&=\begin{vmatrix} 0 & 2 & 1 \\\ 1 & 1 & 3 \\\ 0 & 3 & 1 \end{vmatrix}=0\begin{vmatrix} 1 & 3 \\\ 3 & 1 \end{vmatrix} -2\begin{vmatrix} 1 & 3 \\\ 0 & 1 \end{vmatrix} +1\begin{vmatrix} 1 & 1 \\\ 0 & 3 \end{vmatrix}\\\ &=-2(1-0)+1(3-0)=1\end{align} :\begin{align}M_{13}&=\begin{vmatrix} 0 & -1 & 1 \\\ 1 & 0 & 3 \\\ 0 & 1 & 1 \end{vmatrix}=0\begin{vmatrix} 0 & 3 \\\ 1 & 1 \end{vmatrix}-(-1)\begin{vmatrix} 1 & 3 \\\ 0 & 1 \end{vmatrix}+1\begin{vmatrix} 1 & 0 \\\ 0 & 1 \end{vmatrix}\\\ &=1(1-0)+1(1-0)=2\end{align} :\begin{align}M_{14}&=\begin{vmatrix} 0 & -1 & 2 \\\ 1 & 0 & 1 \\\ 0 & 1 & 3 \end{vmatrix}=0\begin{vmatrix} 0 & 1 \\\ 1 & 3 \end{vmatrix}-(-1)\begin{vmatrix} 1 & 1 \\\ 0 & 3 \end{vmatrix}+2\begin{vmatrix} 1 & 0 \\\ 0 & 1 \end{vmatrix}\\\ &=1(3-0)+2(1-0)=5\end{align} 따라서, 행렬식은 다음과 같다. :|A| = 1M_{11} - 2M_{12} + 1M_{13} - 4M_{14} = 13 - 2 + 2 - 20 = -7
## 여러 행에 대한 전개
위 4 × 4 행렬 :A=\begin{bmatrix} 1 & 2 & 1 & 4 \\\ 0 & -1 & 2 & 1 \\\ 1 & 0 & 1 & 3 \\\ 0 & 1 & 3 & 1 \end{bmatrix} 의 행렬식은 1행과 2행에 대한 라플라스 전개를 통해 다음과 같이 계산할 수 있다. :\begin{array}{rcl}|A| &=&(-1)^{1+2+1+2}\begin{vmatrix}1 & 2 \\\ 0 & -1 \end{vmatrix}\begin{vmatrix}1 & 3 \\\ 3 & 1 \end{vmatrix} +(-1)^{1+2+1+3}\begin{vmatrix}1 & 1 \\\ 0 & 2 \end{vmatrix}\begin{vmatrix}0 & 3 \\\ 1 & 1 \end{vmatrix} +(-1)^{1+2+1+4}\begin{vmatrix}1 & 4 \\\ 0 & 1 \end{vmatrix}\begin{vmatrix}0 & 1 \\\ 1 & 3 \end{vmatrix} \\\ & &{}+(-1)^{1+2+2+3}\begin{vmatrix}2 & 1 \\\ -1 & 2 \end{vmatrix}\begin{vmatrix}1 & 3 \\\ 0 & 1 \end{vmatrix} +(-1)^{1+2+2+4}\begin{vmatrix}2 & 4 \\\ -1 & 1 \end{vmatrix}\begin{vmatrix}1 & 1 \\\ 0 & 3 \end{vmatrix} +(-1)^{1+2+3+4}\begin{vmatrix}1 & 4 \\\ 2 & 1 \end{vmatrix}\begin{vmatrix}1 & 0 \\\ 0 & 1 \end{vmatrix} \\\ &=&(-1)(-8) - 2(-3) + 1(-1) + 51 -63 + (-7)1\\\ &=&-7 \end{array}
# 증명
k\in\\{1,\ldots,n\\}에 대하여, 다음과 같은 함수 \mu_k를 정의하자. :\mu_k\colon\\{1,\ldots,n-1\\}\to\\{1,\ldots,n\\} :\mu_k\colon x\mapsto\begin{cases}x&x;\in\\{1,\ldots,k-1\\}\\\x+1&x;\in\\{k,\ldots,n-1\\}\end{cases} 즉, \mu_k는 k 이상의 원소들을 뒤로 한 칸 밀며, 나머지 원소들은 움직이지 않는다. 그렇다면, 함수 :\\{\sigma\in S_n\colon\sigma_i=j\\}\to S_{n-1} :\sigma\mapsto\mu_j^{-1}\sigma\mu_i 는 일대일 대응이다. 행렬식의 라이프니츠 공식 속, a_{ij}를 포함하는 항 :\sgn\sigma\,a_{1\sigma_1}\cdots a_{ij}\cdots a_{n\sigma_n} 을 생각하자. 또한, :\tau=\mu_j^{-1}\sigma\mu_i\in S_{n-1} :\tau'=\tau\mu_j^{-1}\sqcup\operatorname{id}_{\\{j\\\in S_n 라고 하자. 그렇다면, :\sgn\tau=\sgn\tau' 이며, :\sigma=\nu\tau' :\nu=\begin{cases}\operatorname{id}_{\\{1,\ldots,n\\& i=j\\\ (\sigma_j,\sigma_{j-1},\ldots,\sigma_{i+2},\sigma_{i+1},j)&i;j\end{cases}\in S_n 이다. 또한, \nu는 |i-j|개의 호환으로 표현할 수 있으므로, :\sgn\sigma=(-1)^{|i-j|}\sgn\tau'=(-1)^{i+j}\sgn\tau 이다. 따라서, :\begin{align}|A| &=\sum_{\sigma\in S_n}\sgn\sigma\,a_{1\sigma_1}\cdots a_{n\sigma_n}\\\ &=\sum_{j=1}^n\sum_{\sigma_i=j}\sgn\sigma\,a_{i\sigma_1}\cdots a_{ij}\cdots a_{n\sigma_n}\\\ &=\sum_{j=1}^n\sum_{\tau\in S_{n-1(-1)^{i+j}\sgn\tau\,a_{i\sigma_1}\cdots a_{ij}\cdots a_{n\sigma_n}\\\ &=\sum_{j=1}^n(-1)^{i+j}a_{ij}\sum_{\tau\in S_{n-1\sgn\tau\,a_{i\sigma_1}\cdots a_{i-1,\sigma_{i-1a_{i+1,\sigma_{i+1\cdots a_{n\sigma_n}\\\ &=\sum_{j=1}^n(-1)^{i+j}a_{ij}M_{ij}\\\ &=\sum_{j=1}^na_{ij}C_{ij}\end{align}
## 여러 행에 대한 전개
위 증명과 비슷하게, 다음 대상들을 정의하자. ([n]=\\{1,\ldots,n\\}) * k원소 집합 K\subseteq[n]에 대하여, \mu_K\colon[n-k]\to[n]은 의 원소들을 뒤로 밀어 K의 원소들에 공백이 생기도록 하는 함수이다. * 일대일 대응 *:\\{\sigma\in S_n\colon \sigma(I)=J\\}\to S_k\times S_{n-k} *:\sigma\mapsto(\mu_{\sigma([n]\setminus I)}^{-1}\sigma\mu_{[n]\setminus I},\mu_J^{-1}\sigma\mu_I) 행렬식의 라이프니츠 공식에서, \sigma(I)=J인 항 :\sgn\sigma\,a_{1\sigma_1}\cdots a_{n\sigma_n} 을 생각하자. 또한, :\tau_1=\mu_{\sigma([n]\setminus I)}^{-1}\sigma\mu_{[n]\setminus I}\in S_k :\tau_2=\mu_J^{-1}\sigma\mu_I\in S_{n-k} 를 정의하자. 그렇다면, \sigma는 다음과 같이 \operatorname{id}_n으로 환원된다. * \sigma(I)의 원소를 순서대로 돌려 놓는다. 치환의 부호는 \sgn\tau_1과 같다. * \sigma([n]\setminus I)의 원소를 순서대로 돌려 놓는다. 치환의 부호는 \sgn\tau_2와 같다. * i\in I에 대하여, \sigma(i)를 i번째로 돌려 놓는다. 치환의 부호는 (-1)^{\sum I+\sum J}와 같다. 그러므로, :\sgn\sigma=(-1)^{\sum I+\sum J}\sgn\tau_1\sgn\tau_2 이며, 따라서 :\begin{align}|A| &=\sum_{\sigma\in S_n}\sgn\sigma\,a_{1\sigma_1}\cdots a_{n\sigma_n}\\\ &=\sum_{|J|=k}\sum_{\sigma(I)=J}\sgn\sigma\,a_{1\sigma_1}\cdots a_{n\sigma_n}\\\ &=\sum_{|J|=k}\sum_{\sigma(I)=J}(-1)^{\sum I+\sum J}\sgn\tau_1\sgn\tau_2\,a_{1\sigma_1}\cdots a_{n\sigma_n}\\\ &=\sum_{|J|=k}(-1)^{\sum I+\sum J}\left(\sum_{\sigma(I)=J}\sgn\tau_1\prod_{i\in I}a_{i\sigma_i}\right)\left(\sum_{\sigma(I)=J}\sgn\tau_2\prod_{i\in[n]\setminus I}a_{i\sigma_i}\right)\\\ &=\sum_{|J|=k}(-1)^{\sum I+\sum J}\left(\sum_{\tau_1\in S_k}\sgn\tau_1\prod_{i\in I}a_{i\sigma_i}\right)\left(\sum_{\tau_2\in S_{n-k\sgn\tau_2\prod_{i\in[n]\setminus I}a_{i\sigma_i}\right)\\\ &=\sum_{|J|=k}(-1)^{\sum I+\sum J}A_{I,J}M_{I,J}\end{align}
# 역사
알렉상드르테오필 방데르몽드는 행렬식의 두 행에 대한 전개를 제시하였다.isbn=0-19-506136-5606, §25.3 피에르시몽 라플라스는 1772년 논문 《Recherches sur Ie calcul integral et sur Ie systeme du monde,》에서 행렬식 전개를 임의 개수 행에 대한 전개로 일반화하였다.607, §25.3 오귀스탱 루이 코시는 라플라스의 전개 정리를 더 현대적인 용어로 서술·증명하였다.796, §33.2