1. 程式人生 > >線性代數之——行列式公式及代數餘子式

線性代數之——行列式公式及代數餘子式

計算機通過主元來計算行列式,但還有另外兩種方法,一種是大公式,由 \(n!\) 項置換矩陣組成;另一種是代數餘子式公式。

  • 主元的乘積為 \(2 * \frac{3}{2}* \frac{4}{3}* \frac{5}{4} = 5\)

  • 大公式有 \(4!=24\) 項,但只有 5 個非零項。

\[det A = 16-4-4-4+1 = 5\]

16 來自於對角線上 4 個 2 的乘積,其餘的通過公式我們也都可以找到。

  • 代數餘子式公式用第一行的數字 2,-1,0, 0分別乘以它們的代數餘子式 4, 3, 2, 1,得到 8-3 = 5。

1. 主元公式

消元過程會讓主元 \(d_1,\cdots,d_n\)

最後出現在矩陣 \(U\) 的對角線上,如果沒有行交換,那麼有:

\[det A = (det L)(det U) = (1)(d_1d_2\cdots d_n)\]

如果有行交換,那麼有 \(PA=LU\) 而且有 \(|P| = \pm1\),所以

\[det A = \pm(d_1d_2\cdots d_n)\]

如果主元的個數少於 \(n\),那麼 \(det A=0\),矩陣是不可逆的。

  • 例 1

  • 例 2

\[det A = 2 * \frac{3}{2}* \frac{4}{3}* \frac{5}{4} \cdots *\frac{n+1}{n} = n+1\]

而且,我們可以看到,前 \(k\) 個主元來自於矩陣 \(A\) 左上角大小為 \(k×k\) 的矩陣 \(A_k\)

\[det A_k = d_1d_2\cdots d_k\]

假設沒有行交換,那在我們消元的過程中,有 \(A_k = L_kU_k\),因此

\[\frac{det\space A_k}{det \space A_{k-1}}=\frac{det\space U_k}{det \space U_{k-1}} \to d_k=\frac{d_1d_2\cdots d_{k-1}d_k}{d_1d_2\cdots d_{k-1}}\]

2. 大公式

大公式直接利用矩陣中的每一個元素來計算行列式,一個 \(3×3\)

矩陣的計算公式如下所示。

注意到,每一項乘積的三個元素都分別來自於矩陣中的三行和三列,而其前面的符號其實是由置換矩陣來決定的。

由行列式的線性性質我們可以將一個 \(2×2\) 矩陣的行列式分成四項:

其中,第一個和第四個行列式為 0,因為它們有全零列。因此,只餘下 \(2!=2\) 項需要計算。

對於一個 \(3×3\) 的矩陣,其行列式可以分成 27 項,但只有 6 個非零項。

前面三個置換矩陣有偶數次行交換,因此其行列式為 1;而後面三個置換矩陣有奇數次行交換,因此其行列式為 -1。

因此,矩陣 \(A\) 的行列式是 \(n!\) 項簡單行列式的和,每一項的係數是 1 或者 -1,其中簡單的行列式是從每一行每一列中選取一個元素組成。

3. 代數餘子式公式

利用行列式的線性性質,我們將第一行的三個元素分別提取出來,可以得到。

其中,括號裡面的項稱為代數餘子式(cofactor),它們是 \(2×2\) 矩陣的行列式。第一行貢獻出因子 \(a_{11},a_{12},a_{13}\),餘下的行貢獻出代數餘子式 \(C_{11},C_{12},C_{13}\),然後行列式的值就是 \(a_{11}C_{11}+a_{12}C_{12}+a_{13}C_{13}\)

接下來,我們需要注意符號。要計算 \(C_{1j}\),我們劃掉第 \(1\) 行第 \(j\) 列來產生一個大小為 \(n-1\) 的子矩陣 \(M_{1j}\),然後

\[C_{1j} = (-1)^{1+j} det \space M_{1j}\]

\[det \space A = a_{11}C_{11}+a_{12}C_{12}+\cdots +a_{1n}C_{1n}\]

注意,對其它行來說,也有同樣的情況。對 \(C_{ij}\) 來說,我們劃掉第 \(i\) 行第 \(j\) 列來產生一個大小為 \(n-1\) 的子矩陣 \(M_{ij}\)

\[C_{ij} = (-1)^{i+j} det \space M_{ij}\]

\[det \space A = a_{i1}C_{i1}+a_{i2}C_{i2}+\cdots +a_{in}C_{in}\]

同時,行列式也可以沿著某一列進行計算。

\[det \space A = a_{1j}C_{1j}+a_{2j}C_{2j}+\cdots +a_{nj}C_{nj}\]

代數餘子式公式在矩陣中有許多零時是非常有用的。

獲取更多精彩,請關注「seniusen」!