{{위키데이터 속성 추적}}
[[선형대수학]]에서 '''라플라스 전개'''(-展開, {{llang|en|Laplace expansion}}) 또는 '''여인자 전개'''(餘因子展開, {{llang|en|cofactor expansion}})는 [[행렬식]]을 더 작은 두 행렬식과 그에 맞는 부호를 곱한 것들의 합으로 전개하는 것이다.

== 내용 ==
=== 소행렬식과 여인자 ===
{{본문|소행렬식}}
{{수학|''n'' × ''n''}} [[정사각행렬]] {{수학|''A''}}의 {{수학|(''i'', ''j'')}} '''소행렬식''' {{수학|''M<sub>ij</sub>''}}는 {{수학|''A''}}의 {{수학|''i''}}행과 {{수학|''j''}}열을 지워서 얻어진 행렬식이다. {{수학|''A''}}의 '''여인자''' {{수학|''C<sub>ij</sub>''}}는 거기에 1 또는 -1을 값으로 하는 계수 {{수학|(-1)<sup>''i'' + ''j''</sup>}}를 곱한 것이다. 즉,

:<math>C_{ij} = (-1)^{i+j}M_{ij}</math>

예를 들어 행렬

:<math>A =
\begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{bmatrix}</math>

의 {{수학|(2, 3)}} 소행렬식과 여인자는 각각 다음과 같다.

:<math>M_{23} =
\begin{vmatrix}
1 & 2 & \Box \\
\Box & \Box & \blacksquare \\
7 & 8 & \Box
\end{vmatrix} = \begin{vmatrix}
1 & 2 \\
7 & 8
\end{vmatrix} = -6</math>

:<math>C_{23} = (-1)^{2+3}
\begin{vmatrix}
1 & 2 \\
7 & 8
\end{vmatrix}
= -\begin{vmatrix}
1 & 2 \\
7 & 8
\end{vmatrix} = 6</math>

=== 라플라스 전개 ===
{{수학|''n'' × ''n''}} 행렬 {{수학|1=''A'' = [''a<sub>ij</sub>'']}}의 행렬식은 고정된 {{mvar|i}}행의 각 항과 그의 여인자의 곱으로 전개할 수 있다.

:<math>|A| = \sum_{j=1}^n a_{ij}C_{ij}</math>

비슷하게, 고정된 {{mvar|j}}열에 대하여 전개할 수 있다.

:<math>|A| = \sum_{i=1}^n a_{ij}C_{ij}</math>

=== 고전적 수반 행렬 ===
서로 다른 행의 항과 여인자를 붙여 전개하면 0이 된다.

:<math>\sum_{j=1}^n a_{ij}C_{kj} = 0\qquad(i\ne k)</math>

비슷하게, 서로 다른 열의 항과 여인자를 붙여 전개하면 0이 된다.

:<math>\sum_{i=1}^n a_{ij}C_{ik} = 0\qquad(j\ne k)</math>

즉,

:<math>\sum_{j=1}^n a_{ij}C_{kj} = \delta_{ik}|A|</math>
:<math>\sum_{i=1}^n a_{ij}C_{ik} = \delta_{jk}|A|</math>

여기서 <math>\delta</math>는 [[크로네커 델타]]이다. 정리하면, 행렬과 그 [[고전적 수반 행렬]]의 곱은 다음과 같다.

:<math>A\operatorname{adj}A=(\operatorname{adj}A)A=|A|I</math>

=== 여러 행에 대한 전개 ===
라플라스 전개는 임의의 {{mvar|k}}개의 행에 대한 전개로 일반화할 수 있다. 즉, 다음과 같은 대상들이 주어졌다고 하자.

* {{mvar|I}}, {{mvar|J}}는 {{수학|{{mset|1, ..., ''n''}}}}의 {{mvar|k}}원소 부분 집합이다. 즉, {{mvar|k}}개의 행과 열을 뜻한다.
* {{수학|''A''<sub>''I'', ''J''</sub>}}는 {{mvar|A}}에서 행 첨수가 {{mvar|I}}에, 열 첨수가 {{mvar|J}}에 있는 원소만을 골라내어 얻는 행렬식이다.
* {{수학|''M''<sub>''I'', ''J''</sub>}}는 {{mvar|A}}에서 행 첨수가 {{mvar|I}}에, 열 첨수가 {{mvar|J}}에 있는 원소만을 제거하여 얻는 행렬식이다.

그렇다면, 행렬식은 고정된 {{mvar|k}}개의 행 {{mvar|I}}에 대하여 다음과 같이 전개된다.

:<math>|A| = \sum_{|J|=k} (-1)^{\sum I+\sum J} A_{I,J}M_{I,J}</math>

비슷하게, 행렬식은 고정된 {{mvar|k}}개의 열 {{mvar|J}}에 대하여 다음과 같이 전개된다.

:<math>|A| = \sum_{|I|=k} (-1)^{\sum I+\sum J} A_{I,J}M_{I,J}</math>

여러 행에 대한 라플라스 전개는 필산하기에 복잡하나, 이론적으로 유용하다.

== 예 ==
3 × 3 행렬

:<math>A = \begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9 \end{bmatrix}</math>

의 행렬식은 1행에 대한 라플라스 전개를 통해 다음과 같이 계산할 수 있다.

:<math>\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}</math>

2열에 대하여 전개해도 결과는 같다.

:<math>\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}</math>

물론, {{mvar|A}}는 1행과 3행의 합이 2행의 2배이므로, [[가역행렬|특이 행렬]]이다. 따라서, 행렬식은 당연히 위 계산대로 0이다.

4 × 4 행렬

:<math>A=\begin{bmatrix}
1 &  2 & 1 & 4 \\
0 & -1 & 2 & 1 \\
1 &  0 & 1 & 3 \\
0 &  1 & 3 & 1 \end{bmatrix}</math>

의 행렬식은 1행에 대한 전개를 통해 계산할 수 있다. 먼저 소행렬식 <math>M_{11}</math>, <math>M_{12}</math>, <math>M_{13}</math>, <math>M_{14}</math>는 모두 3 × 3 행렬식이므로 역시 다음과 같이 라플라스 전개를 통해 계산할 수 있다.

:<math>\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}</math>

:<math>\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}</math>

:<math>\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}</math>

:<math>\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}</math>

따라서, 행렬식은 다음과 같다.

:<math>|A| = 1M_{11} - 2M_{12} + 1M_{13} - 4M_{14} = 13 - 2 + 2 - 20 = -7</math>

=== 여러 행에 대한 전개 ===
위 4 × 4 행렬

:<math>A=\begin{bmatrix}
1 &  2 & 1 & 4 \\
0 & -1 & 2 & 1 \\
1 &  0 & 1 & 3 \\
0 &  1 & 3 & 1
\end{bmatrix}</math>

의 행렬식은 1행과 2행에 대한 라플라스 전개를 통해 다음과 같이 계산할 수 있다.

:<math>\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}</math>

== 증명 ==
<math>k\in\{1,\ldots,n\}</math>에 대하여, 다음과 같은 함수 <math>\mu_k</math>를 정의하자.
:<math>\mu_k\colon\{1,\ldots,n-1\}\to\{1,\ldots,n\}</math>
:<math>\mu_k\colon x\mapsto\begin{cases}x&x\in\{1,\ldots,k-1\}\\x+1&x\in\{k,\ldots,n-1\}\end{cases}</math>
즉, <math>\mu_k</math>는 <math>k</math> 이상의 원소들을 뒤로 한 칸 밀며, 나머지 원소들은 움직이지 않는다. 그렇다면, 함수
:<math>\{\sigma\in S_n\colon\sigma_i=j\}\to S_{n-1}</math>
:<math>\sigma\mapsto\mu_j^{-1}\sigma\mu_i</math>
는 [[일대일 대응]]이다.

[[행렬식#라이프니츠 공식을 통한 정의|행렬식의 라이프니츠 공식]] 속, <math>a_{ij}</math>를 포함하는 항
:<math>\sgn\sigma\,a_{1\sigma_1}\cdots a_{ij}\cdots a_{n\sigma_n}</math>
을 생각하자. 또한,
:<math>\tau=\mu_j^{-1}\sigma\mu_i\in S_{n-1}</math>
:<math>\tau'=\tau\mu_j^{-1}\sqcup\operatorname{id}_{\{j\}}\in S_n</math>
라고 하자. 그렇다면,
:<math>\sgn\tau=\sgn\tau'</math>
이며,
:<math>\sigma=\nu\tau'</math>
:<math>\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\\
(\sigma_j,\sigma_{j+1},\ldots,\sigma_{i-2},\sigma_{i-1},j)&i>j\end{cases}\in S_n</math>
이다. 또한, <math>\nu</math>는 <math>|i-j|</math>개의 [[호환 (군론)|호환]]으로 표현할 수 있으므로,
:<math>\sgn\sigma=(-1)^{|i-j|}\sgn\tau'=(-1)^{i+j}\sgn\tau</math>
이다. 따라서,
:<math>\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-1}}a_{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}</math>

=== 여러 행에 대한 전개 ===
위 증명과 비슷하게, 다음 대상들을 정의하자. (<math>[n]=\{1,\ldots,n\}</math>)
* <math>k</math>원소 집합 <math>K\subseteq[n]</math>에 대하여, <math>\mu_K\colon[n-k]\to[n]</math>은 의 원소들을 뒤로 밀어 <math>K</math>의 원소들에 공백이 생기도록 하는 함수이다.
* [[일대일 대응]]
*:<math>\{\sigma\in S_n\colon \sigma(I)=J\}\to S_k\times S_{n-k}</math>
*:<math>\sigma\mapsto(\mu_{\sigma([n]\setminus I)}^{-1}\sigma\mu_{[n]\setminus I},\mu_J^{-1}\sigma\mu_I)</math>
행렬식의 라이프니츠 공식에서, <math>\sigma(I)=J</math>인 항
:<math>\sgn\sigma\,a_{1\sigma_1}\cdots a_{n\sigma_n}</math>
을 생각하자. 또한,
:<math>\tau_1=\mu_{\sigma([n]\setminus I)}^{-1}\sigma\mu_{[n]\setminus I}\in S_k</math>
:<math>\tau_2=\mu_J^{-1}\sigma\mu_I\in S_{n-k}</math>
를 정의하자. 그렇다면, <math>\sigma</math>는 다음과 같이 <math>\operatorname{id}_n</math>으로 환원된다.
* <math>\sigma(I)</math>의 원소를 순서대로 돌려 놓는다. [[치환의 부호]]는 <math>\sgn\tau_1</math>과 같다.
* <math>\sigma([n]\setminus I)</math>의 원소를 순서대로 돌려 놓는다. 치환의 부호는 <math>\sgn\tau_2</math>와 같다.
* <math>i\in I</math>에 대하여, <math>\sigma(i)</math>를 <math>i</math>번째로 돌려 놓는다. 치환의 부호는 <math>(-1)^{\sum I+\sum J}</math>와 같다.
그러므로,
:<math>\sgn\sigma=(-1)^{\sum I+\sum J}\sgn\tau_1\sgn\tau_2</math><!-- \sgn\tau_1'\sgn\tau_2'=\sgn\tau_1\sgn\tau_2</math> -->
이며, 따라서
:<math>\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}</math>

== 역사 ==
[[알렉상드르테오필 방데르몽드]]는 행렬식의 두 행에 대한 전개를 제시하였다.<ref name="Kline">{{서적 인용
|성=Kline
|이름=Morris
|제목=Mathematical Thoughts from Ancient to Modern Times. Volume 2
|언어=en
|출판사=Oxford University Press
|위치=New York, New York
|날짜=1972
|isbn=0-19-506136-5
}}</ref>{{rp|606, §25.3}} [[피에르시몽 라플라스]]는 1772년 논문 《Recherches sur Ie calcul integral et sur Ie systeme
du monde,》에서 행렬식 전개를 임의 개수 행에 대한 전개로 일반화하였다.<ref name="Kline" />{{rp|607, §25.3}} [[오귀스탱 루이 코시]]는 라플라스의 전개 정리를 더 현대적인 용어로 서술·증명하였다.<ref name="Kline" />{{rp|796, §33.2}}

== 같이 보기 ==
* [[행렬식]]
* [[벡터곱]]

== 각주 ==
{{각주}}

== 참고 문헌 ==
* {{서적 인용
|url=https://archive.org/details/LinearAlgebraHoffmanAndKunze
|성=Hoffman
|이름=Kenneth
|제목=Linear Algebra
|언어=en
|판=2
|출판사=Prentice-Hall
|위치=Upper Saddle River, New Jersey
|날짜=1971
|isbn=0-13-536797-2
}}

[[분류:행렬론]]
[[분류:행렬식]]