---
# System prepended metadata

title: 第 8 週 - 行列式
tags: [線性代數]

---

# 行列式定義

對一個方陣 $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$ 是標準基底。