计算行列式,说白了就是把一个方块形状的数字阵列(也就是方阵)算出一个具体的数值。这个数值很有用,能告诉我们很多关于这个方阵的信息,比如它是否可逆。计算方法有不少,有的简单直接,有的更适合处理复杂的大家伙。下面聊聊几种常见的方法和技巧。
从最简单的二阶行列式开始
二阶行列式就长这样:
| a b |
| c d |
它只有两行两列,计算起来最省事,就是主对角线上的元素相乘,减去副对角线上的元素相乘。
计算步骤:
1. 找到主对角线元素 a 和 d,把它俩乘起来得到 ad。
2. 找到副对角线元素 b 和 c,把它俩乘起来得到 bc。
3. 用第一个结果减去第二个结果,ad - bc 就是这个行列式的值。
举个例子,计算下面这个行列式:
| 2 1 |
| 4 3 |
就是 2 3 - 1 4 = 6 - 4 = 2。这很简单,基本不会出错。
三阶行列式和那个好记的“对角线法则”
对于三阶行列式,情况稍微复杂一点,但有一个很直观的方法叫“对角线法则”,也叫“沙路法” (Sarrus’ rule)。 这个方法只适用于三阶行列式,更高阶的就不能用了。
这是一个三阶行列式:
| a1 b1 c1 |
| a2 b2 c2 |
| a3 b3 c3 |
计算步骤:
1. 把行列式的前两列复制到它的右边,形成一个 3×5 的数字阵列。
| a1 b1 c1 | a1 b1
| a2 b2 c2 | a2 b2
| a3 b3 c3 | a3 b3
2. 画出三条从左上到右下的主对角线,把每条线上的三个数乘起来,然后把这三个乘积加起来。
P1 = a1b2c3 + b1c2a3 + c1a2b3
3. 再画出三条从右上到左下的副对角线,同样把每条线上的三个数乘起来,然后也把这三个乘积加起来。
P2 = c1b2a3 + a1c2b3 + b1a2c3
4. 最后,用主对角线的和减去副对角线的和,P1 - P2 就是结果。
举个例子:
| 1 2 3 |
| 0 4 5 |
| 1 0 6 |
第一步,在右边补上两列:
| 1 2 3 | 1 2
| 0 4 5 | 0 4
| 1 0 6 | 1 0
第二步,计算主对角线之和:
(146) + (251) + (300) = 24 + 10 + 0 = 34
第三步,计算副对角线之和:
(341) + (150) + (206) = 12 + 0 + 0 = 12
第四步,相减:
34 - 12 = 22。
这个行列式的值就是 22。这个方法虽然直观,但写起来步骤多,只适合三阶。
通用大法:按行(或列)展开
当行列式的阶数超过三阶,或者三阶行列式里有很多零的时候,用“按行(或列)展开”的方法就更有效率了。这个方法的核心思想是把一个高阶的行列式,降阶成几个低阶的行列式来计算。
这个方法要用到两个概念:“余子式”和“代数余子式”。
余子式 (Mij):在一个 n 阶行列式里,把第 i 行和第 j 列的元素都划掉,剩下的元素组成一个新的 n-1 阶行列式,这个新的行列式就叫元素 aij 的余子式。
代数余子式 (Aij):它和余子式就差一个正负号。Aij = (-1)^(i+j) Mij。 也就是说,当 i+j 是偶数时,代数余子式就等于余子式;当 i+j 是奇数时,代数余子式就是余子式的相反数。这个 (-1)^(i+j) 的正负号分布很有规律,就像一个棋盘:
+ - + - ...
- + - + ...
+ - + - ...
...
计算步骤:
1. 选择行列式中的任意一行或者任意一列。经验上,我们通常选择包含最多零的那一行或那一列,因为这样可以省掉很多计算。
2. 将这一行(或列)中的每个元素,乘以它自己的“代数余子式”。
3. 把上面得到的所有乘积加起来,总和就是行列式的值。
公式写出来就是(以按第 i 行展开为例):
Det(A) = a_i1A_i1 + a_i2A_i2 + ... + a_inA_in
还用刚才那个三阶行列式的例子:
| 1 2 3 |
| 0 4 5 |
| 1 0 6 |
我们选第二行来展开,因为里面有个 0。
Det(A) = 0A_21 + 4A_22 + 5A_23
A_21不用算了,因为它要乘以 0。- 计算
A_22:- 它的符号位是
(-1)^(2+2) = +1。 - 它的余子式
M_22是划掉第二行第二列后剩下的行列式:| 1 3 | / | 1 6 |,值为16 - 31 = 3。 - 所以
A_22 = +3。
- 它的符号位是
- 计算
A_23:- 它的符号位是
(-1)^(2+3) = -1。 - 它的余子式
M_23是划掉第二行第三列后剩下的行列式:| 1 2 | / | 1 0 |,值为10 - 21 = -2。 - 所以
A_23 = -(-2) = 2。
- 它的符号位是
把这些结果代回去:
Det(A) = 0 A_21 + 4 3 + 5 2 = 0 + 12 + 10 = 22。
结果和对角线法算出来的一样。这个方法对于更高阶的行列式同样适用,只是需要一层一层地降阶,直到降到二阶为止。
更高效的策略:利用初等行变换
手动计算高阶行列式时,最强大的方法其实是利用行列式的性质,通过初等行变换把行列式变得更简单。 我们的目标通常是把它变成一个上三角或下三角行列式,因为三角行列式的值就等于它主对角线上所有元素的乘积。
有三类初等行变换,它们对行列式的值有不同的影响:
1. 交换两行:行列式的值要变号。
2. 用一个非零数 k 乘以某一行:行列式的值也乘以 k。所以为了保持值不变,可以先从某一行里提出一个公因子 k。
3. 把某一行的 k 倍加到另一行上:这是最有用的一个性质,因为行列式的值完全不变。
计算步骤:
1. 运用第三种行变换,把某一行(通常是第一行)的倍数加到其他行上,目标是让某一列(通常是第一列)除了第一个元素外,其他都变成 0。这个过程叫作“消元”。
2. 反复进行这个操作,把行列式逐步变成一个上三角行列式。
3. 最终,行列式的值就是主对角线上所有元素的乘积。如果在过程中做过行交换,就要记得把符号变回来。
再来看这个例子:
| 1 2 3 |
| 0 4 5 |
| 1 0 6 |
第一列已经有一个 0 了,我们只需要把第三行的第一个 1 消掉。
把第一行乘以 -1 加到第三行上 (R3 = R3 – R1),行列式的值不变:
| 1 2 3 |
| 0 4 5 |
| 1-1 0-2 6-3 |
得到:
| 1 2 3 |
| 0 4 5 |
| 0 -2 3 |
这已经是一个上三角行列式了(主对角线左下方的元素都是0)。所以,它的值就是主对角线元素的乘积:
1 4 (3) 这里有个小错误,应该是 1 4 (3 - (-25/4)) 这样计算下去就复杂了。
我们换个思路,继续消元。目标是把 -2 也变成 0。
把第二行乘以 1/2 加到第三行上 (R3 = R3 + 0.5R2),行列式的值不变:
| 1 2 3 |
| 0 4 5 |
| 0 -2+2 3+2.5 |
得到:
| 1 2 3 |
| 0 4 5 |
| 0 0 5.5 |
现在这是一个标准的上三角行列式了。它的值就是对角线元素的乘积:
1 4 5.5 = 22。
这个方法在面对高阶、数字又很乱的行列式时,比按行展开要快得多,因为它可以系统地减少计算量。关键是熟练运用第三条性质,让行列式的值在变换过程中保持不变。

七点爱学
评论前必须登录!
立即登录 注册