1. 方阵才有行列式
若 是 阶方阵,则它的行列式记作
必须分清: 是一个矩阵,而 是一个数。非方阵没有行列式。
2. 与转置、数乘、乘积有关的性质
设 为 阶方阵, 为常数, 为正整数,则
其中最常见的错误是把 写成 。原因是 阶矩阵共有 行,每行都提出一个 ,一共得到 。
3. 行列式不是普通绝对值
一般没有
也没有
能拆乘积,不能随意拆加减:
成立,但 通常必须另找结构或直接计算。
4. 三角矩阵
上三角或下三角矩阵的行列式等于主对角线元素之积。例如
5. Python 与数值计算经验
import numpy as np
A = np.array([[1., 2.], [3., 4.]])
det_A = np.linalg.det(A)
# 大矩阵或数值跨度大时更稳健
sign, logabsdet = np.linalg.slogdet(A)
PyTorch 对应 torch.linalg.det(A) 与 torch.linalg.slogdet(A)。
实践经验:
- 浮点行列式结果可能是
2.9999999997,判断是否为零应使用容差; - 解 时优先
np.linalg.solve(A, b)/torch.linalg.solve(A, b),不要先算逆矩阵; - 判断矩阵是否可逆时,数值计算更应关注奇异值或条件数,而不是只看
det == 0; - 需要精确整数/符号结果时,可使用 SymPy 的
Matrix(A).det()。
在大模型训练中,行列式本身不常作为主计算,但 logdet 会出现在高斯模型、协方差矩阵、正规化流与概率密度中。







