行列式计算



例1:化为上三角(就硬算)

计算下面行列式的值

【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_机器学习_02

解:①将第一行和第二行交换,值变号

②依次乘以2,2,3将除了第一行除外的第一列所有元素变成0

③先用第二行乘以-1加到第三行后,再将第二行的公因式5提出,最后将第四行的第二列对应的元素化为0

④将第三行的-7提到行列式外,然后将第四行第三列元素化为0

【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_数据挖掘_03

python中进行计算结果验证

import numpy as np 

data = np.reshape([2,1,7,-1,-1,2,4,3,2,1,0,-1,3,2,2,1],(4,4))
print(data) #行列式对应的数据内容
print(data.shape) #看一下维度
print(np.linalg.det(data)) #计算行列式的值

→ 输出的结果为:(python计算中存在不确定尾数,不影响最终的结果)

[[ 2  1  7 -1]
[-1 2 4 3]
[ 2 1 0 -1]
[ 3 2 2 1]]
(4, 4)
-70.00000000000003

例2:巧妙使用展开式

求解下列行列式的 M41​+M42​+M43​+M44​

【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_python_04

看到这种同行余子式相加,就想起上个博客中的异乘变零定理,首先将余子式转化为相应的代数余子式,则
【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_行列式_05

而最后的代数余子式与前面的系数相乘刚好又满足行列式展开的结果,实际上也就是求解下面的行列式的值(相当于将第4行的数据变成了代数余子式前面的系数,其余的不变)

【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_数据挖掘_06

求解过程如下:按照第三行进行展开即可

【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_python_07

python中进行计算结果验证

import numpy as np 

data = np.reshape([3,0,4,0,3,2,2,2,0,-7,0,0,-1,1,-1,1],(4,4))
print(data)
print(data.shape)
print(np.linalg.det(data))

→ 输出的结果为:(验证无误)

[[ 3  0  4  0]
[ 3 2 2 2]
[ 0 -7 0 0]
[-1 1 -1 1]]
(4, 4)
-56.00000000000002

例3:等和行列式

计算下面行列式的值:每行每列的和都是相等的

【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_数据挖掘_08

解:①将所有行都加到第一行,然后提取公因式到行列式外边
②然后第一列乘以-1,依次加到其余各列,就转化为了三角行列式

【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_机器学习_09

【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_线性代数_10

例4:加边法(三叉型行列式)

计算下面行列式的值:对角线元素不同,其余元素相等,【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_行列式_11

【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_数据挖掘_12

解题思路:加一行一列,行列式不变(按照第一列展开行列式值不变)

① 第一行乘以-1加到其余各行

②得到三叉型行列式,形似爪子

③将第一列中除第一行外将所有元素化为0,转化为三角形行列式(从第二列开始都乘以对角线元素的倒数,然后加到第一列)
【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_数据挖掘_13

【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_python_14

注意:加边法不能改变原行列式的值

例5:反对称行列式

反对称行列式描述: 主对角线全为0, 上下位置对应成相反数(【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_行列式_15
对称行列式描述:主对角线没有要求,上下位置相等(【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_数据挖掘_16

定理: 奇数阶的反对称行列式值为0,证明如下(假使为3阶):

【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_机器学习_17

定理:偶数阶的反对称行列式的值不变(哈哈哈,其实就是废话,一个行列式的值当然等于其本身)
【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证_线性代数_18

至此关于行列式计算有关的梳理就全部完毕了,下一部分将介绍范德蒙德行列式和克莱姆法则