关键词:线性代数 / 矩阵 / 行列式
矩阵作为绝大多数算法的算子,当矩阵里的数字被赋予了意义,例如每个 row 表示了一个线性方程式,那么如果把这些线性方程用向量的形式在 xyz 空间坐标中表示,从几何角度解释的话,行列式值就可以是这些向量所夹出的一个平行四边形面积,或者平行六面体的体积,甚至是一些更高维度没办法具体表但又类似前两者的一个抽象概念。这回小编要用 Python 的视角重新帮大家复习一下行列式的基本定义,并且用代码来证明行列式计算过程中的重要性质!
import numpy as np
如果还没安装过numpy,可以使用下面指令在终端快速安装。
pip install numpy
行列式 Determinant
若 A 为 n 阶方阵,如下定义:
A 的行列式值则为:
A = np.random.randint(0, 9, 9)
A = A.reshape(3, 3)
print(A)
print(np.linalg.det(A))
输出 (1):
[[2, 3, 1],
[0, 5, 6],
[5, 5, 4]]
输出 (2):
44.99999999999999
p.s. 注意只有方阵才能计算行列式值,否则程序报错。
B = np.random.randint(0, 6, 12)
B = B.reshape(4, 3)
print(B)
print(np.linalg.det(B))
输出 (1):
[[4, 2, 4],
[3, 0, 0],
[2, 0, 2],
[4, 3, 2]]
1. 子行列式 – Minor
若将 A 方阵中的第 i 列与第 j 行删除,所剩下的 n-1 阶方阵的行列式,称为元素
的子行列式,以