跳转至

行列式

行列式,是方陣的一種運算。對於方陣 \(A\)\(\det A\) 表示方陣 \(A\) 的行列式。

本文介紹行列式的三種定義。可以證明,本文中的定義方法是等價的。

前置知識:置換、逆序數、初等變換。

全排列方法定義

手動計算較低階的行列式可以採用這種方法,它的時間複雜度為階乘量級。

使用記號 \(\pi(j_1j_2\cdots j_n)\) 表示排列 \(j_1j_2\cdots j_n\) 的逆序數。記號:

\[ \det A=\begin{vmatrix} a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21} & a_{22} & \cdots & a_{2n}\\ \vdots & \vdots & & \vdots\\ a_{n1} & a_{n2} & \cdots & a_{nn}\\ \end{vmatrix} \]

表示的 \(n\) 階行列式是指 \(n!\) 項的代數和,這些項是一切可能的取自方陣 \(A\) 中不同的行與不同的列上的 \(n\) 個元素的乘積 \(a_{1j_1}a_{2j_2}\cdots a_{nj_n}\)

\(a_{1j_1}a_{2j_2}\cdots a_{nj_n}\) 前面的符號是 \({(-1)}^{\pi(j_1j_2\cdots j_n)}\),也就是説,當 \(j_1j_2\cdots j_n\) 是偶排列時,符號為正,當 \(j_1j_2\cdots j_n\) 是奇排列時,符號為負。

對於二三階行列式的對角線法則,事實上就是採用了全排列定義。四階以上行列式不再適用於對角線法則,也是同樣的原因。特別地,一階行列式就是元素本身。

定理:從 \(n\) 階行列式的第 \(i_1,i_2,\cdots,i_n\) 行和第 \(j_1,j_2,\cdots,j_n\) 列取出元素做乘積

\[ a_{i_1j_1}a_{i_2j_2}\cdots a_{i_nj_n} \]

這裏 \(i_1,i_2,\cdots,i_n\)\(j_1,j_2,\cdots,j_n\) 都是 \(1,2,\cdots,n\)\(n\) 個數的排列。那麼這一項在行列式中的符號是 \({(-1)}^{s+t}\),其中

\[ s=\pi(i_1i_2\cdots i_n) \]
\[ t=\pi(j_1j_2\cdots j_n) \]

定理:行列式和它的轉置行列式相等。

定理:設行列式 \(\det A\) 的第 \(i\) 行的所有元素都可以表示成兩項的和:

\[ \begin{vmatrix} a_{11} & a_{12} & \cdots & a_{1n}\\ \vdots & \vdots & & \vdots\\ b_{i1}+c_{i1} & b_{i2}+c_{i2} & \cdots & b_{in}+c_{in}\\ \vdots & \vdots & & \vdots\\ a_{n1} & a_{n2} & \cdots & a_{nn}\\ \end{vmatrix} \]

那麼該行列式等於兩個行列式 \(\det A_1\)\(\det A_2\) 的和。其中 \(A_1\) 的第 \(i\) 行是 \(b_{i1},b_{i2},\cdots,b_{in}\)\(A_2\) 的第 \(i\) 行是 \(c_{i1},c_{i2},\cdots,c_{in}\)\(A_1\)\(A_2\) 的其餘各行都和 \(A\) 相同。同樣的性質對於列來説也成立。

歸納方法定義

這種方法只是描述了行列式的一種代數性質,時間複雜度也為階乘量級,不適合用於計算。

代數餘子式

\(n\) 階行列式 \(\det A\) 中,任意取定 \(k\) 行和 \(k\) 列。位於這些行列相交處的元素構成的 \(k\) 階行列式叫做該行列式的 \(k\) 階子式。

對於 \(n\) 階行列式 \(\det A\),某一元素 \(a_{ij}\) 的餘子式 \(M_{ij}\) 指的是該行列式中,劃去 \(a_{ij}\) 所在的行和列後,餘下的 \(n-1\) 階子式。

對於 \(n\) 階行列式 \(\det A\),元素 \(a_{ij}\) 的餘子式 \(M_{ij}\) 附以符號 \({(-1)}^{i+j}\) 之後,叫做元素 \(a_{ij}\) 的代數餘子式,用符號 \(A_{ij}\) 表示。

從上一節全排列方法的定義可以推出結論:

定理:若在一個 \(n\) 階行列式 \(\det A\) 中,第 \(i\) 行或第 \(j\) 列的元素除了 \(a_{ij}\) 都是 \(0\),那麼這個行列式等於 \(a_{ij}\) 和它的代數餘子式 \(A_{ij}\) 的乘積。

行列式展開

由於方陣轉置,行列式不變,只需介紹按行展開或按列展開之一即可。

行列式 \(\det A\) 定義為它任意一行(或一列)的所有元素與它們的對應代數餘子式乘積的和。

換句話説,行列式可以使用按行(或按列)的展開式遞歸定義:

\[ \det A=a_{i1}A_{i1}+a_{i2}A_{i2}+\cdots+a_{in}A_{in} \]
\[ \det A=a_{1j}A_{1j}+a_{2j}A_{2j}+\cdots+a_{nj}A_{nj} \]

於是有結論:

定理:行列式 \(\det A\) 的某一行(或某一列)的元素與另外一行(或另外一列)對應元素的代數餘子式的乘積之和等於 \(0\)

換句話説,當 \(i\neg j\) 時:

\[ a_{i1}A_{j1}+a_{i2}A_{j2}+\cdots+a_{in}A_{jn}=0 \]
\[ a_{1i}A_{1j}+a_{2i}A_{2j}+\cdots+a_{ni}A_{nj}=0 \]

代數方法定義

代數方法定義是説,滿足了某些性質的運算只能是行列式。

利用行列式有關初等變換的性質,可以方便手動計算更高階的行列式。後文的「高斯消元」方法計算行列式,也用到了這個性質,時間複雜度為 \(O(n^3)\)

對於一個 \(n\) 階矩陣 \(A\) 的運算,如果滿足以下三個性質,稱為行列式:

  • 把一個行列式的某一行或某一列的所有元素同時乘以一個數 \(k\),等於用 \(k\) 乘這個行列式。
  • 交換一個行列式的兩行或兩列,行列式改變符號。
  • 把行列式的某一行或某一列的元素乘以同一數後加到另一行或另一列的對應元素上,行列式不變。

上述性質也有若干推論:

  • 一個行列式中某一行或某一列的公因子可以提到行列式符號的外邊。
  • 如果一個行列式的某一行或某一列的元素全部是 \(0\),那麼這個行列式等於 \(0\)
  • 如果一個行列式有兩行或兩列的對應元素成比例,那麼這個行列式等於 \(0\)
  • 如果一個行列式有兩行或兩列完全相同,那麼這個行列式等於 \(0\)

這些推論在手算行列式的時候非常常用。