# 行列式定義
對一個方陣 $A\in F^{n\times n}$
$$
\displaylines{
\Large
\text{det}(A)\overset{\text{def}}{=}\sum_{\sigma\in S_{n}}\text{sgn}(\sigma)\cdot\prod_{j=1}^{n}A_{\sigma(j),j}
}
$$
## $\sigma$ 函數
「一個 $\sigma$」是一個函數,他會把 1 到 $n$ 的正整數,對回 1 到 $n$ 的正整數,**並且是雙射**:
$$
\sigma:\{1,2,...,n\}\rightarrow\{1,2,...,n\}
$$
例如 $n=3$ 的時候,我們可以定義:
$$
\displaylines{
\sigma(1)=2\\
\sigma(2)=3\\
\sigma(3)=1\\
}
$$
這樣就是一個由我們定義的 $\sigma$ 函數。而如果我們把全部可能的 $\sigma$ 函數蒐集起來,構成的集合就是熟悉的「**排列 permutation**」,通常記作「$S_n$」。
$$
\Large
\sum_{\sigma\in S_{n}}
$$
$\Sigma$ 就是把這 $n!$ 種 $\sigma$ 函數 一個一個叫出來。
$$
\Large
\prod_{j=1}^{n}A_{\sigma(j),j}
$$
$\prod$ 就是用一個被拿出來的 $\sigma$ 函數,從 $n$ 個 column 中,挑選出 $n$ 個 row 不相同的 $A_{i,j}$ 乘在一起。
通常會將一個 $\sigma$ 函數得到的排列寫成有序 tuple,例如上面的例子:
$$
\langle \sigma(1),\sigma(2),\sigma(3)\rangle = \langle 2,3,1\rangle\\
$$
## $\text{sgn}(\sigma)$
我們先來探討一個在計算「反序個數」的函數,**$\rho$ 函數**。所謂的反序是:
$$
\displaylines{
i<j\\
\sigma(i)>\sigma(j)
}
$$
所以上面的例子中
$$
\rho(\sigma)=\rho(\langle 2,3,1\rangle)=2
$$
而我們的 $\text{sgn}(\sigma)$ 函數則是:
$$
\text{sgn}(\sigma)=-1^{\rho(\sigma)}
$$
也就是看反序對是奇數還是偶數個。
## 單位方陣
$$
\text{det}(I_n)=1
$$
因為**只有一個 $\sigma$ 函數**會在第 $j$ 個 column 挑選第 $j$ 個 row 的 $A_{i,j}$ 出來相乘,也就是對角線上的值。
而就只有對角線上的值相乘才不等於 0,其他的 $\sigma$ 函數因為都會選到 0,會導致 $\prod$ 的部分變成 0。
而挑選對角線的那個 $\sigma$ 函數的反序對個數是 0,因此可以知道行列式值就是 1。
## 三角方陣
分別「上三角」跟「下三角」;首先左上到右下是對角線所在位置。
上三角是指對角線左下的區塊都是 0 的方陣;下三角則是右上的區塊都是 0。
而這種方陣的行列式值有個特性是:
$$
\text{det}(A)=\prod_{i=1}^{n}A_{i,i}
$$
也就是說行列式值就是對角線的元素通通乘起來。
原理很簡單,就是因為選對角線以外的 $\sigma$ 會選到 0。
## 幾何意義
$n$ 方陣的行列式絕對值,是把方陣的每個 column 當作向量,在 $n$ 維空間所張出的 $n$ 維多面體的體積。
---
# 轉置保式
$$
\large
\text{det}(A)=\text{det}(A^T)
$$
要證明這個,首先要觀察到一件事:
$$
\rho(\sigma^{-1})=\rho(\sigma)
$$
舉例來說:
$$
\displaylines{
\langle \sigma(1),\sigma(2),\sigma(3)\rangle = \langle 2,3,1\rangle\\
\langle \sigma^{-1}(1),\sigma^{-1}(2),\sigma^{-1}(3)\rangle = \langle 3,1,2\rangle\\
}
$$
- $\sigma^{-1}$ 他其實也是個 $\sigma$ 函數,而原本的 $\sigma$ 函數得到的值,是 $\sigma^{-1}$ 的輸入
- 當我們要表示 $\sigma^{-1}$ 的有序對輸出時,要將原本 $\sigma$ 函數得到的值依照大小排好
- 如果 $i<j$ 是反序對,代表 $\sigma(i)>\sigma(j)$,所以照大小排好會變成:
$$
\displaylines{
...\sigma(j),...,\sigma(i)...\\
...\sigma^{-1}(\sigma(j)),...,\sigma^{-1}(\sigma(i))...\\
\Rightarrow ...j,...,i...\\
}
$$
因此可以知道
- 如果 $i,j$ 在 $\sigma$ 中是反序對,可知 $\sigma(i)>\sigma(j)$
- 並且可以知道 $\sigma(i),\sigma(j)$ 在 $\sigma^{-1}$ 中也是反序對
也就證明了 $\rho(\sigma^{-1})=\rho(\sigma)$。
所以就可以開始我們的表演了:
$$
\Large
\begin{align}
\text{det}(A^{T})&=
\sum_{\sigma\in S_{n}}\text{sgn}(\sigma)\cdot\prod_{j=1}^{n}(A^T)_{\sigma(j),j}\\
&=\sum_{\sigma\in S_{n}}\text{sgn}(\sigma)\cdot\prod_{j=1}^{n}(A^T)_{j,\sigma^{-1}(j)}
\end{align}
$$
$\sigma$ 可以這樣調換是因為,我們原本是「看第 $j$ 個 col 選 $\sigma(j)$ row」,換個角度看就是「看第 $j$ 個 row 選 $\sigma^{-1}(j)$ col」。
接著會得到:
$$
\Large
\begin{align}
&\sum_{\sigma\in S_{n}}\text{sgn}(\sigma)\cdot\prod_{j=1}^{n}(A^T)_{j,\sigma^{-1}(j)}\\
=&\sum_{\sigma\in S_{n}}\text{sgn}(\sigma^{-1})\cdot\prod_{j=1}^{n}A_{\sigma^{-1}(j),j}\\
=&\sum_{\sigma\in S_{n}}\text{sgn}(\sigma)\cdot\prod_{j=1}^{n}A_{\sigma(j),j}\\
=&\text{det}(A)
\end{align}
$$
第二個等號是轉置的緣故;第三個只是單純改寫符號,因為 $\sigma^{-1}$ 也是 $S_n$ 的一員。
# 換行變號
對於原本的方陣 $A$,如果我們交換其中兩個 col 後得到 $B$,則:
$$
\large
\text{det}(A)=-\text{det}(B)
$$
要證明這個,我們先產生一個特殊的 $\sigma_{i,j}$ 函數
$$
\displaylines{
\sigma_{i,j}(k)
\left\{\begin{matrix}
\sigma(j) &k=i \\
\sigma(i) &k=j \\
\sigma(k) &\text{other}
\end{matrix}\right.\\
}
$$
>不失一般性,令 $i<j$
此時我們要注意到:
$$
\text{sgn}(\sigma_{i,j})=-\text{sgn}(\sigma)
$$
原因是因為交換兩 col 之後反序對個數只會相差「奇數個」。
這個其實不難推導,令以下情形:
$$
\sigma = \langle \sigma(1),...,\sigma(i-1),\color{red}{\sigma(i)},\sigma(i+1),...,\sigma(j-1),\color{blue}{\sigma(j)},\sigma(j+1),...,\sigma(n)\rangle
$$
$$
\sigma_{i,j} =\langle \sigma(1),...,\sigma(i-1),\color{blue}{\sigma(j)},\sigma(i+1),...,\sigma(j-1),\color{red}{\sigma(i)},\sigma(j+1),...,\sigma(n)
\rangle
$$
我們可以發現:
- 對於 $1\sim i-1$ 跟 $j+1 \sim n$,就算交換之後,**不會影響與他們相關的反序對個數**
- 對於 $i+1\sim j-1$ 的人,我們知道有四種可能的情形,令 $i<k<j$
- 如果 $\sigma(i)<\sigma(k)<\sigma(j)$,跟 $k$ 有關的反序對是 0 個
- 交換之後會變成 $\sigma(j)>\sigma(k)>\sigma(i)$,跟 $k$ 有關的反序對變成 2 個
- 如果 $\sigma(i)>\sigma(k)>\sigma(j)$,跟 $k$ 有關的反序對是 2 個
- 交換之後會變成 $\sigma(j)<\sigma(k)<\sigma(i)$,跟 $k$ 有關的反序對變成 0 個
- 如果 $\sigma(i)<\sigma(k)>,\ \ \sigma(k)>\sigma(j)$,跟 $k$ 有關的反序對是 1 個
- 交換之後會變成 $\sigma(j)<\sigma(k)>,\ \ \sigma(k)>\sigma(i)$,跟 $k$ 有關的反序對還是 1 個,沒有變動
- 如果 $\sigma(i)>\sigma(k),\ \ \sigma(k)<\sigma(j)$,跟 $k$ 有關的反序對是 1 個
- 交換之後會變成 $\sigma(j)>\sigma(k),\ \ \sigma(k)<\sigma(i)$,跟 $k$ 有關的反序對還是 1 個,沒有變動
- 也就是說,對位於 $i+1\sim j-1$ 的人來說,交換之後的反序對,要嘛相差 2 個或 0 個
最後是 $i,j$ 這兩個人本身:
- 如果 $\sigma(i)<\sigma(j)$,交換後 $\sigma(j)>\sigma(i)$,也就是新增了一組反序對
- 如果 $\sigma(i)>\sigma(j)$,交換後 $\sigma(j)<\sigma(i)$,也就是減少了一組反序對
因此我們就知道反序對個數一定是相差奇數個,也因此 $\text{sgn}(\sigma_{i,j})=-\text{sgn}(\sigma)$
## 證明
有了上面的觀察後,令 $B$ 是交換兩行後的方陣,$A$ 是原本的方陣:
$$
\Large
\begin{align}
\text{det}(B)&=
\sum_{\sigma\in S_{n}}\text{sgn}(\sigma)\cdot\prod_{k=1}^{n}B_{\sigma(k),k}\\
&=-\sum_{\sigma\in S_{n}}\text{sgn}(\sigma_{i,j})\cdot\prod_{k=1}^{n}A_{\sigma_{i,j}(k),k}\\
&=-\sum_{\sigma\in S_{n}}\text{sgn}(\sigma)\cdot\prod_{k=1}^{n}A_{\sigma(k),k}\\
&=-\text{det}(A)
\end{align}
$$
倒數第二行單純是因為 $\sigma_{i,j}$ 也是一種 $\sigma$ 函數,所以只是換個記號表示而已。
所以我們成功的證明
$$
\large \text{det}(B)=-\text{det}(A)
$$
而上面是說交換 col,但我們已經證明了轉置保式,所以可以知道如果是交換 row,也會差一個負號
$$
\large \text{det}(B)=\text{det}(B^{T})=-\text{det}(A^{T})=-\text{det}(A)
$$
## 同行式零
可以輕鬆地從交換變號得出,如果 $A$ 當中有兩 row / col 是相同的,交換那兩 row/col 後依舊是原矩陣,因此:
$$
\text{det}(A)=-\text{det}(A)\\
\Rightarrow \text{det}(A)=0
$$
---
# 多重線轉
再繼續往下介紹前,要先介紹一個酷東西,「多重線轉 multi-linear transformation」。
$$
T:F^{n\times n}\rightarrow F
$$
多重線轉的樣子如上,把一個方陣投射到純量。
但是這個東西不是線轉,他必須要給 input 做一些限制後才會有線轉的性質。
令 $A,B,C$ 是三個方陣,並且這 $B,C$ 這兩個方陣都是從 $A$「**修改第 $j$ 個 col**」而得到。
也就是說他們三個只差在第 $j$ 個 col,其他地方都一樣。
此時如果他們具有下列的**線性關係**:
$$
A_j=aB_j+C_j
$$
則這個多重線轉在此時才會在投射出的純量上展現他的線轉特性:
$$
T(A)=aT(B)+T(C)
$$
# 改行方陣
此時我們在引進一個酷函數,改行方陣函數:
$$
M_{A,j}(x)=B
$$
其中 $A\in F^{n\times n}$ 是我們的方陣,$x\in F^{n}$ 就是我們要替換成的 col;顧名思義 $M_{A,j}$ 就是把 A 的第 $j$ 個 col 換成 $x$:
$$
B_j=
\left\{\begin{matrix}
x & \text{if }i=j\\
A_j & \text{otherwise}\\
\end{matrix}\right.
$$
而我們可以知道改行方陣函數並不是線性轉換:
$$
M_{A,j}(ax+y)\ne aM_{A,j}(x) + M_{A,j}(y)
$$
# 多重線轉 + 改行方陣
但是當我們把這兩個東西結合在一起,我們就湊出一個線轉了,所以下面是多重線轉的另一個定義:
$$
\displaylines{
T:F^{n\times n}\rightarrow F\\
\text{T is multi-linear, if}\\
T\ \circ\ M_{A,j}\in \mathbb{L}(F^{n},F)\\
\text{hold for any }A\in F^{n\times n}\text{ and }j=\{1,2,...,n\}
}
$$
因為線性轉換要滿足:
$$
T(M_{A,j}(ax+y))=aT(M_{A,j}(x))+T(M_{A,j}(y))
$$
而恰好 $M_{A,j}(ax+y)$ 跟 $M_{A,j}(x)$ 和 $M_{A,j}(y)$ 這三個從 $A$ 修改來的方陣確實只有第 $j$ 個 col 不一樣,其他都相同,並且:
$$
M_{A,j}(ax+y)_j=aM_{A,j}(x)_j+M_{A,j}(y)_j
$$
>畢竟是改行方陣
所以根據上上面原本多重線轉的定義,我們就可以知道:
$$
T(M_{A,j}(ax+y))=aT(M_{A,j}(x))+T(M_{A,j}(y))
$$
:::warning
並且我們還可以注意到 $T(aA)=a^nT(A)$,因為 $aA$ 是一次性的把全部 col 都乘以 a,不過也等同一個一個的將 col 乘以 a 後再帶入 $T$。
:::
# 行列式函數是多重線轉
我們的行列式也是把一個方陣投射到一個純量,下面我們來證明他是個多重線轉:
$$
A\in F^{n\times n},a \in F, x,y\in F^n\ ,j=\{1,2,...,n\}\\
$$
$$
\begin{align}
\text{det}(M_{A,j}(ax+y))&=
\sum_{\sigma\in S_{n}}\text{sgn}(\sigma)\cdot(ax_{\sigma(j)}+y_{\sigma(j)})\prod_{i\in\{1,..,n\}\setminus\{j\}}^{n}A_{\sigma(i),i}\\
&=
a\sum_{\sigma\in S_{n}}\text{sgn}(\sigma)\cdot x_{\sigma(j)} \cdot \prod_{i\in\{1,..,n\}\setminus\{j\}}^{n}A_{\sigma(i),i}
+
\sum_{\sigma\in S_{n}}\text{sgn}(\sigma)\cdot y_{\sigma(j)}\cdot\prod_{i\in\{1,..,n\}\setminus\{j\}}^{n}A_{\sigma(i),i}\\
&= a\cdot \text{det}(M_{A,j}(x)) + \text{det}(M_{A,j}(y))
\end{align}
$$
所以我們知道 $\text{det}(M_{A,j})$ 是線性轉換,也就是說 $\text{det}$ 是多重轉換。
---
# 拉普拉斯降階法
這個東西似乎國中或高中就教過了。
$$
\displaylines{
\text{det}(A)=\sum_{i=1}^{n}A_{i,j}\cdot (-1)^{i+j}\cdot \text{det}(\tilde{A}_{i,j})\text{ for each j=1,2,...,n}\\
\text{det}(A)=\sum_{j=1}^{n}A_{i,j}\cdot (-1)^{i+j}\cdot \text{det}(\tilde{A}_{i,j})\text{ for each i=1,2,...,n}
}
$$
:::info
第二個等式可以由第一個等式加轉置保式得到
:::
## 餘子式 / 餘因子 / cofactor
上面公式中的 $\tilde{A}_{i,j}$,意思是把 $A$ 的第 $i$ row 跟第 $j$ col 刪除後剩餘的部分:
$$
\tilde{A}_{i,j}\in F^{(n-1)\times(n-1)}
$$
例如:
$$
A=
\begin{pmatrix}
1 & 2 & 3\\
4 & 5 & 6\\
7 & 8 & 9\\
\end{pmatrix}\\
\tilde{A}_{1,1}=
\begin{pmatrix}
5 & 6\\
8 & 9\\
\end{pmatrix},
\tilde{A}_{2,3}=
\begin{pmatrix}
1 & 2\\
7 & 8\\
\end{pmatrix},
\tilde{A}_{2,2}=
\begin{pmatrix}
1 & 3\\
7 & 9\\
\end{pmatrix},
$$
## 證明
首先我們可以神奇的觀察出一件事情:
$$
\displaylines{
\text{det}(A)=\text{det}(M_{A,j}(A_j))=\text{det}\left(M_{A,j}\left(\sum_{i=1}^{n}A_{i,j}\beta_i\right)\right)
}
$$
我們把 $A_j$ 換成了 $A_j$ ...,沒錯,壓根形同沒換,但是我們可以得到右邊的 $\Sigma$;$\beta_i$ 是 $F^n$ 的標準基底的成員,別忘記 $\beta_i\in F^{n}$,而 $A_{i,j}\in F$。
由於行列式 + 改行函數會產生出線性轉換,因此:
$$
\text{det}\left(M_{A,j}\left(\sum_{i=1}^{n}A_{i,j}\beta_i\right)\right)=
\sum_{i=1}^{n}A_{i,j}\cdot\text{det}\left(M_{A,j}\left(\beta_i\right)\right)
$$
是不是逐漸看出降解法的雛型了。
所以接著就是處理 $\text{det}(M_{A,j}(\beta_i))$;如果我們以上面的例子舉例:
$$
\displaylines{
A=
\begin{pmatrix}
1 & 2 & 3\\
4 & 5 & 6\\
7 & 8 & 9\\
\end{pmatrix}\\
M_{A,2}(\beta_3)=
\begin{pmatrix}
1 & 0 & 3\\
4 & 0 & 6\\
7 & 1 & 9\\
\end{pmatrix}\\
}
$$
我們可以把這個方陣稍微挪動一下,把剛剛替換上去的 $\beta_3$ 從第 2 行移動到第 1 行:
$$
\begin{pmatrix}
0 & 1 & 3\\
0 & 4 & 6\\
1 & 7 & 9\\
\end{pmatrix}\\
$$
接著再將 $\beta_3$ 唯一的那個 1 從他原本所在的第 3 列,移動到第 1 列:
$$
\large
\begin{pmatrix}
1 & 7 & 9\\
0 & 1 & 3\\
0 & 4 & 6\\
\end{pmatrix}=
\begin{pmatrix}
1 & (7,9)\in F^{(3-1)} \\
0_{F^{(3-1)}} & \tilde{A}_{3,2}\\
\end{pmatrix}
$$
這個是我們最終想要形成的樣子。對任何 $M_{A,j}(\beta_i)$,我們都可以透過上面的步驟,將他修改成:
$$
\Large
B=
\begin{pmatrix}
1 & R\in F^{n-1}\\
0_{F^{n-1}} & \tilde{A}_{i,j} \\
\end{pmatrix}\\
$$
但是別忘記交換的過程中需要付出的變號:
$$
\large
(-1)^{(i-1)+(j-1)}=(-1)^{i+j}
$$
所以現在問題是 $B$ 這個東西要怎麼算行列式。
## 分解觀察
$$
\Large
\color{red}A=
\begin{pmatrix}
\overbrace{\color{red}B}^{F^{m\times m}} & \overbrace{\color{blue}D}^{F^{m\times n}} \\
\overbrace{\color{green}E}^{F^{n\times m}} & \overbrace{\color{red}C}^{F^{n\times n}} \\
\end{pmatrix}\in F^{(m+n)\times(m+n)}\\
$$
如果 **$D$ 或 $E$ 有一個矩陣的內容全都是 0**,則:
$$
\large
\text{det}(\color{red}A)=\text{det}(\color{red}B)\cdot \text{det}(\color{red}C)
$$
也就是說,剛剛上面的結論中:
$$
\displaylines{
B=
\begin{pmatrix}
1 & R\in F^{n-1}\\
0_{F^{n-1}} & \tilde{A}_{i,j} \\
\end{pmatrix}\\
\begin{align}
\text{det}(M_{A,j}(\beta_i))&=(-1)^{i+j}\cdot\text{det}(B)\\
&=(-1)^{i+j}\cdot\text{det}(\tilde{A}_{i,j})
\end{align}
}
$$
這樣就證明完成拉普拉斯降解法了。所以我們最後只要證明分解觀察就好。
證明其實也不難。首先我們可以觀察到一件事:
$$
\sigma\text{ 選不到 E}\Leftrightarrow \sigma\text{ 選不到 D}
$$
我們討論兩種情形:
- 當 $m<n$,如果 $\sigma$ 在 $1\sim m$ 行中,只選 $1\sim m$ 列
- 也就是說只選在 $B$ 這個區域,不選 $E$ 這個區域
- 此時不難發現,因為不可以選到重複的列,所以區域 $D$ 也因此不會被選到了
- 當 $m>n$,如果 $\sigma$ 在 $m+1\sim m+n$ 行中,只選 $m+1\sim m+n$ 列
- 也就是說只選在 $C$ 這個區域,不選 $D$ 這個區域
- 此時不難發現,因為不可以選到重複的列,所以區域 $E$ 也因此不會被選到了
所以確實選不到 $D$ 就選不到 $E$。
而我們對於這種只選 $B$ 跟 $C$ 兩個區域的 $\sigma$ 函數,我們把他拆成兩個 $\sigma$ 函數
:
$$
\displaylines{
\sigma_B(j)=\sigma(j),\ j=\{1,...,m\}\\
\sigma_C(j)=\sigma(j+m)-m,\ j=\{m+1,...,m+n\}\\
}
$$
>$\sigma_C(j)$ 會需要減掉 $m$ 是因為我們要得到的是 $C$ 這個子區域的 index,他是 $1\sim n$ 的範圍
並且我們可以發現:
$$
\rho(\sigma)=\rho(\sigma_B)+\rho(\sigma_{C})
$$
也就是說 $B$ 區域的反序對 + $C$ 區域的反序對,等於原本的反序對數量。
這個也不難推導,因為 $C$ 區域在 $B$ 的右下方,$\sigma$ 選在 $C$ 的列 index 一定都大於 $\sigma$ 選在 $B$ 的列 index,所以可以拆成兩部分的反序列數量相加。
## 表演時間
$$
\Large
\begin{align}
\text{det}(\color{red}A)&=
\sum_{\sigma\in S_{m+n}}\text{sgn}(\sigma)\cdot\prod_{i=1}^{m+n}\color{red}A_{\sigma(i),i}\\
&=
\sum_{\sigma\in S_{m+n}:\text{只選 B 跟 C}}\text{sgn}(\sigma)\cdot\prod_{i=1}^{m+n}\color{red}A_{\sigma(i),i}\\
\end{align}
$$
因為如果選到 $D$ 就一定會選到 $E$,這樣就一定會選到 0,就會通通都不見。
$$
\large
\begin{align}
&=
\sum_{\sigma\in S_{m+n}:\text{只選 B 跟 C}}\text{sgn}(\sigma_B)\cdot\text{sgn}(\sigma_C)\cdot\prod_{i=1}^{m}\color{red}A_{\sigma(i),i}\cdot\prod_{i=m+1}^{m+n}\color{red}A_{\sigma(i),i}\\
&=
\left(
\sum_{\sigma_B\in S_{m}}\text{sgn}(\sigma_B)\cdot\prod_{i=1}^{m}\color{red}B_{\sigma(i),i}\right)
\cdot
\left(
\sum_{\sigma_C\in S_{n}}\text{sgn}(\sigma_C)\cdot\prod_{i=1}^{n}\color{red}C_{\sigma(i),i}\right)\\
&=\text{det}(\color{red}B)\cdot\text{det}(\color{red}C)
\end{align}
$$
---
# 行列式互乘
接著我們想要證明,對任意的方陣 $A,B\in F^{n\times n}$:
$$
\text{det}(A\times B)=\text{det}(A)\cdot\text{det}(B)
$$
因為如果用拉普拉斯降解去算行列式,依舊需要 $\Omega(n!)$ 的時間,下面會介紹高斯消去這個快速的方法,只需要多項式時間。
# 互乘基本款
$$
\displaylines{
\text{for any }C\in F^{n\times n}\\
\text{det}(A\times C)=\text{det}(A)\cdot\text{det}(C),\ A\in F^{n\times n}\text{ 是標準列運算}\\
\text{det}(C\times B)=\text{det}(C)\cdot\text{det}(B),\ B\in F^{n\times n}\text{ 是標準行運算}\\
}
$$
我們循序漸進,先討論其中一者是標準列/行運算的情形;下面只證標準行運算,因為可以使用轉置保式。
- 如果 $B$ 是「交換」
- $\text{det}(C\times B)=-\text{det}(C)$,因為交換差負號
- 而剛好 $\text{det}(B)=-1$,因為只要 $B$ 交換後剛好是 $I_n$
- 如果 $B$ 是「伸縮」
- $\text{det}(C\times B)=c\cdot\text{det}(C)$,因為行列式是多重線轉
- 而剛好 $\text{det}(B)=c$,可以回顧對角線乘積的那部分
- 如果 $B$ 是「跳加」
- 還是一樣因為行列式是多重線轉:
$$
\begin{align}
\text{det}(C\times B)&=\text{det}(M_{C,j}(c\cdot C_i+C_j))\\
&=c\cdot \text{det}(M_{C,j}(C_i))+\text{det}(M_{C,j}(C_j))\\
&=0+\text{det}(M_{C,j}(C_j))\\
&=\text{det}(C)\\
\end{align}
$$
所以我們成功證明基本款確實成立。
## 高斯消去法算行列式
因為我們可以根據基本列運算將 $C$ 方陣轉成上三角矩陣 $D$:
$$
\displaylines{
A_{(1)}\times A_{(2)}\times ... \times A_{(p)}\times C = D\\
\text{det}(A_{(1)})\cdot \text{det}(A_{(2)})\cdot ... \cdot \text{det}(A_{(p)})\cdot \text{det}(C) = \text{det}(D)\\
\Rightarrow \text{det}(C) = \frac{\text{det}(D)}{\text{det}(A_{(1)})\cdot \text{det}(A_{(2)})\cdot ... \cdot \text{det}(A_{(p)})}
}
$$
- 可以回顧那三種基本運算的行列式值因為都不是 0
- $D$ 如果是滿階矩陣,由於對角線都是 1,因此可之行列式值就是 1
- 但如果不是滿階,行列式值就會是 0
## 可逆式非零
一個可逆方陣 $A$,之前有證明他經過高斯消去後必定得到 $I_n$,也就是滿階的意思;而上面也發現如果滿階則行列式值就不會是 0,反之就會是 0。
$$
可逆\Leftrightarrow 滿階 \Leftrightarrow 式非零
$$
# 互乘普遍款
對任意的 $A,B\in F^{n\times n}$
$$
\text{det}(A\times B)=\text{det}(A)\cdot\text{det}(B)
$$
下面我們分段討論。
## 任一非滿階
根據上周的不升階觀察,一旦兩者之一有人不滿階,則可以知道:
$$
rank(A\times B)\le min(rank(A),rank(B)) < n
$$
因此就可以根據非滿階而知道行列式值等於 0;不失一般性,令 $B$ 就是那個不滿階的傢伙:
$$
\text{det}(A\times B) = 0 = \text{det}(A)\cdot \text{det}(B)=\text{det}(A)\cdot 0 = 0
$$
所以確實滿足互乘定理。
## 均滿階
由於 $B$ 滿階,一樣還是上週,我們有說明 $B$ 經過高斯消去後會得到一個 $I_n$,所以其實可以將 $B$ 表示為:
$$
B=B_{(1)}\times B_{(2)}\times ... \times B_{(p)}
$$
這樣一來就可以用基本款的互乘定理了:
$$
\begin{align}
\text{det}(A\times B)&=\text{det}(A\times B_{(1)}\times B_{(2)}\times ... \times B_{(p)})\\
&=\text{det}(A)\cdot \text{det}(B_{(1)})\cdot \text{det}(B_{(2)})\cdot ... \cdot \text{det}(B_{(p)})\\
&=\text{det}(A)\cdot\text{det}(B)
\end{align}
$$
>要注意上面是用了兩次互乘定理。
:::warning
其實推論的過程也不一定要知道 $A$ 的情況到底如何,只需要知道 $B$ 的情況就好,因為我們有轉置保式這個強力的工具可以用。
:::
---
# 冪零則式零
當我們說一個方陣 $A$ 是「冪零 nilpotent」,意思是說存在一個正整數 $k$,滿足:
$$
\Large
A^{k}=0_{F^{n\times n}}
$$
而我們可以根據熱騰騰的互乘定理,知道:
$$
\text{det}(A)=0
$$
# 反矩陣的行列式
一樣根據熱騰騰的互乘定理,知道:
$$
A\times A^{-1}=I_n\\
\Rightarrow \text{det}(A)\cdot \text{det}(A^{-1}) = 1
\Rightarrow \text{det}(A^{-1}) = \frac{1}{\text{det}(A)}
$$
# 相似方陣
所謂的相似方陣,是說對於兩個方陣 $A,B$,如果存在一個可逆的方陣 $Q$,滿足:
$$
B=Q\times A \times Q^{-1}
$$
此時記作:
$$
A \sim B
$$
例如 $V$ 的任兩個基底 $\beta$ 跟 $\gamma$,對於一個線運 $T\in \mathbb{L}(V)$,在這兩個基底的線轉矩陣就是相似矩陣:
$$
[T]_{\beta}^{\beta}\sim [T]_{\gamma}^{\gamma}
$$
因為我們可以找到 $Q=[I_V]_{\beta}^{\gamma},\ Q^{-1}=[I_V]_{\gamma}^{\beta}$,這裡請回顧 [反線轉的線轉矩陣](https://hackmd.io/QuO8LVnhTt-YGwyxm0dROA#%E5%8F%8D%E7%9F%A9%E9%99%A3%E8%88%87%E5%8F%AF%E9%80%86%E7%9F%A9%E9%99%A3)
>$T$ 可逆,若且唯若,$T$ 的線轉矩陣可逆。
>並且 $T$ 的線轉矩陣的反矩陣,就是 $T^{-1}$ 的線轉矩陣。
>$[I_V]_{\beta}^{\gamma}\times [I_V]_{\gamma}^{\beta}=[I_V]_{\gamma}^{\gamma}=I_n$
$$
[T]_{\gamma}^{\gamma}=[I_V]_{\beta}^{\gamma}\times [T]_{\beta}^{\beta}\times [I_V]_{\gamma}^{\beta}
$$
## 居易推論
名稱 By 老師。
>同是天涯淪落人,相逢何必曾相識 -- 白居易 琵琶行
>相逢何必曾相似 by 老師
如果 $A$ 相似於 $B$,則 $\text{det}(A)=\text{det}(B)$
這個用大腦快速推論就可以了,因為 $Q$ 跟 $Q^{-1}$ 的行列式值乘起來是 1。
---
# 克拉瑪公式 Cramer’s Rule
大名鼎鼎的克拉瑪。
對於某個線性系統:
$$
E:A\times x = b
$$
之前我們有證明,如果 $A$ 可逆,[則 $|S(E)|=1$,也就是說有唯一解](https://hackmd.io/3EZeA7jjS7yjT5v-_P7BQw#%E4%BF%82%E6%95%B8%E6%96%B9%E9%99%A3%E8%A7%80%E5%AF%9F)。
則對於那個唯一的解 $s$,我們知道:
$$
s=A^{-1}\times b
$$
克拉瑪公式告訴我們:
$$
s_i=\frac{\text{det}(M_{A,i}(b))}{\text{det}(A)}
$$
也就是說,$s$ 的第 $i$ 個元素的值,就是去算出把 $A$ 的第 $i$ 行換成 $b$ 後的行列式值再除以 $A$ 的行列式。
## 證明
要證明克拉瑪公式,要先通靈出一個觀察:
$$
\displaylines{
A\times I_n = A\\
A\times M_{I_n,i}(s) = M_{A,i}(b)\\
}
$$
這個事實確實合理,但是要想的到用這個來證明,屬實頗難。
總之我們可以繼續根據分解觀察:
$$
\text{det}(M_{I_n,i}(s))\\
=\text{det}
\begin{pmatrix}
1 & 0 & \dots & s_1 & \dots & 0 \\
0 & 1 & \dots & s_2 & \dots & 0 \\
\vdots & \vdots & \ddots & \vdots & & \vdots \\
0 & 0 & \dots & s_i & \dots & 0 \\
\vdots & \vdots & & \vdots & \ddots & \vdots \\
0 & 0 & \dots & s_n & \dots & 1 \\
\end{pmatrix}=s_i
$$
因為可以切出右下角那個區塊的下三角矩陣:
$$
\text{det}
\begin{pmatrix}
s_i & \dots & 0 \\
\vdots & \ddots & \vdots \\
s_n & \dots & 1 \\
\end{pmatrix}=s_i
$$
左上角是個單位方陣 $I_i$;左下角是全都是 0 的區域 $0_{F^{(n-i)\times i}}$。
所以再使用互乘定理就可以知道:
$$
\displaylines{
\text{det}(A)\cdot \text{det}(M_{I_n,i}(s)) = \text{det}(M_{A,i}(b))\\
\text{det}(M_{I_n,i}(s))=s_i=\frac{\text{det}(M_{A,i}(b))}{\text{det}(A)}
}
$$
# 反矩陣公式
我們可以馬上從克拉瑪公式的思路推出反矩陣公式。
因為反矩陣滿足:
$$
A\times A^{-1} = I_n
$$
所以我們可以巧妙的拆一部份出來看:
$$
A\times (A^{-1})_i = e_i
$$
此時其實就可以看做是一個線性系統,並且 $(A^{-1})_i$ 就是那個唯一的解 $s$:
$$
\displaylines{
E:A\times x = b\\
s = (A^{-1})_i,\ \ \ b = e_i
}
$$
所以一樣用上面的通靈絲路,可以得到:
$$
\displaylines{
\text{det}(M_{I_n,j}(s))
=\text{det}(M_{I_n,j}((A^{-1})_i))\\
=(A^{-1})_{j,i}
=\frac{\text{det}(M_{A,j}(e_i))}{\text{det}(A)}
}
$$
>別忘記 $A_{i,j}$ 跟 $A_i$ 兩種表示法的差異
所以如果把上面的代號換一下,可以得到:
$$
(A^{-1})_{i,j}=\frac{\text{det}(M_{A,i}(\beta_j))}{\text{det}(A)}
$$
接著再使用拉普拉斯降解時用到的中間結果:
$$
\frac{\text{det}(M_{A,i}(\beta_j))}{\text{det}(A)}=(-1)^{i+j}\cdot\frac{\text{det}(\tilde{A}_{j,i})}{\text{det}(A)}
$$
$\beta$ 是標準基底。