计算机通过主元来计算行列式,但还有另外两种方法,一种是大公式,由 n ! n! n! 项置换矩阵组成;另一种是代数余子式公式。
-
主元的乘积为 2 ∗ 3 2 ∗ 4 3 ∗ 5 4 = 5 2 * \frac{3}{2}* \frac{4}{3}* \frac{5}{4} = 5 2∗23∗34∗45=5。
-
大公式有 4 ! = 24 4!=24 4!=24 项,但只有 5 个非零项。
d e t A = 16 − 4 − 4 − 4 + 1 = 5 det A = 16-4-4-4+1 = 5 detA=16−4−4−4+1=5
16 来自于对角线上 4 个 2 的乘积,其余的通过公式我们也都可以找到。
- 代数余子式公式用第一行的数字 2,-1,0, 0分别乘以它们的代数余子式 4, 3, 2, 1,得到 8-3 = 5。
1. 主元公式
消元过程会让主元 d 1 , ⋯   , d n d_1,\cdots,d_n d1,⋯,dn 最后出现在矩阵 U U U 的对角线上,如果没有行交换,那么有:
d e t A = ( d e t L ) ( d e t U ) = ( 1 ) ( d 1 d 2 ⋯ d n ) det A = (det L)(det U) = (1)(d_1d_2\cdots d_n) detA=(detL)(detU)=(1)(d1d2⋯dn)
如果有行交换,那么有 P A = L U PA=LU PA=LU 而且有 ∣ P ∣ = ± 1 |P| = \pm1 ∣P∣=±1,所以
d e t A = ± ( d 1 d 2 ⋯ d n ) det A = \pm(d_1d_2\cdots d_n) detA=±(d1d2⋯dn)
如果主元的个数少于 n n n,那么 d e t A = 0 det A=0 detA=0,矩阵是不可逆的。
- 例 1
- 例 2
d e t A = 2 ∗ 3 2 ∗ 4 3 ∗ 5 4 ⋯ ∗ n + 1 n = n + 1 det A = 2 * \frac{3}{2}* \frac{4}{3}* \frac{5}{4} \cdots *\frac{n+1}{n} = n+1 detA=2∗23∗34∗45⋯∗nn+1=n+1
而且,我们可以看到,前 k k k 个主元来自于矩阵 A A A 左上角大小为 k × k k×k k×k 的矩阵 A k A_k Ak。
d e t A k = d 1 d 2 ⋯ d k det A_k = d_1d_2\cdots d_k detAk=d1d2⋯dk
假设没有行交换,那在我们消元的过程中,有 A k = L k U k A_k = L_kU_k Ak=LkUk,因此
d e t A k d e t A k − 1 = d e t U k d e t U k − 1 → d k = d 1 d 2 ⋯ d k − 1 d k d 1 d 2 ⋯ d k − 1 \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}} det Ak−1det Ak=det Uk−1det Uk→dk=d1d2⋯dk−1d1d2⋯dk−1dk
2. 大公式
大公式直接利用矩阵中的每一个元素来计算行列式,一个 3 × 3 3×3 3×3 矩阵的计算公式如下所示。
注意到,每一项乘积的三个元素都分别来自于矩阵中的三行和三列,而其前面的符号其实是由置换矩阵来决定的。
由行列式的线性性质我们可以将一个 2 × 2 2×2 2×2 矩阵的行列式分成四项:
其中,第一个和第四个行列式为 0,因为它们有全零列。因此,只余下 2 ! = 2 2!=2 2!=2 项需要计算。
对于一个 3 × 3 3×3 3×3 的矩阵,其行列式可以分成 27 项,但只有 6 个非零项。
前面三个置换矩阵有偶数次行交换,因此其行列式为 1;而后面三个置换矩阵有奇数次行交换,因此其行列式为 -1。
因此,矩阵 A A A 的行列式是 n ! n! n! 项简单行列式的和,每一项的系数是 1 或者 -1,其中简单的行列式是从每一行每一列中选取一个元素组成。
3. 代数余子式公式
利用行列式的线性性质,我们将第一行的三个元素分别提取出来,可以得到。
其中,括号里面的项称为代数余子式(cofactor),它们是 2 × 2 2×2 2×2 矩阵的行列式。第一行贡献出因子 a 11 , a 12 , a 13 a_{11},a_{12},a_{13} a11,a12,a13,余下的行贡献出代数余子式 C 11 , C 12 , C 13 C_{11},C_{12},C_{13} C11,C12,C13,然后行列式的值就是 a 11 C 11 + a 12 C 12 + a 13 C 13 a_{11}C_{11}+a_{12}C_{12}+a_{13}C_{13} a11C11+a12C12+a13C13。
接下来,我们需要注意符号。要计算 C 1 j C_{1j} C1j,我们划掉第 1 1 1 行第 j j j 列来产生一个大小为 n − 1 n-1 n−1 的子矩阵 M 1 j M_{1j} M1j,然后
C 1 j = ( − 1 ) 1 + j d e t M 1 j C_{1j} = (-1)^{1+j} det \space M_{1j} C1j=(−1)1+jdet M1j
d e t A = a 11 C 11 + a 12 C 12 + ⋯ + a 1 n C 1 n det \space A = a_{11}C_{11}+a_{12}C_{12}+\cdots +a_{1n}C_{1n} det A=a11C11+a12C12+⋯+a1nC1n
注意,对其它行来说,也有同样的情况。对 C i j C_{ij} Cij 来说,我们划掉第 i i i 行第 j j j 列来产生一个大小为 n − 1 n-1 n−1 的子矩阵 M i j M_{ij} Mij。
C i j = ( − 1 ) i + j d e t M i j C_{ij} = (-1)^{i+j} det \space M_{ij} Cij=(−1)i+jdet Mij
d e t A = a i 1 C i 1 + a i 2 C i 2 + ⋯ + a i n C i n det \space A = a_{i1}C_{i1}+a_{i2}C_{i2}+\cdots +a_{in}C_{in} det A=ai1Ci1+ai2Ci2+⋯+ainCin
同时,行列式也可以沿着某一列进行计算。
d e t A = a 1 j C 1 j + a 2 j C 2 j + ⋯ + a n j C n j det \space A = a_{1j}C_{1j}+a_{2j}C_{2j}+\cdots +a_{nj}C_{nj} det A=a1jC1j+a2jC2j+⋯+anjCnj
代数余子式公式在矩阵中有许多零时是非常有用的。
获取更多精彩,请关注「seniusen」!