【学习笔记】行列式

记录一些基础的行列式知识


排列

奇排列: 逆序对数量为奇数的排列
偶排列: 逆序对数量为偶数的排列
对换: 交换一个排列中的两个数, 其它的数不变, 得到另一个排列, 叫做对换

性质: 对换改变排列奇偶性 $\left( \text{证明参考同济大学《线性代数》} \right)$


行列式

行列式在数学中是一个函数, 其定义域为 $n \times n$ 的矩阵 $A$,取值为一个标量, 写作 $\operatorname{det}(A)$ 或 $|A|$.

$n$ 阶行列式由 $n^2$ 个数通过下式确定一个数:

其中 $S$ 为 $1 \sim n$ 的所有排列构成的集合,

大概就是每行取一个数, 每列取一个数, 共 $n$ 个数, 再乘 $\operatorname{sgn}$.

显然, 按照定义求这个式子是 $\mathcal{O}(n!n)$ 的.


行列式的转置

对于一个矩阵 $A$, 将其行列互换后得到的矩阵称为其转置, 记作 $A^{T}$.

举个列子: 若记

则行列互换后变成


行列式的线性性

用一个数去乘某个矩阵的行列式等于用这个数去乘此矩阵的某一行(列)所得到的矩阵的行列式.

简证:

如果矩阵的某一行(列)是两组数之和, 则这个矩阵的行列式等于分别以这两组数为该行(列), 其余行(列)与这个矩阵相同的矩阵的行列式之和.

即 :

同上, 类似可证.


行列式的其它性质

交换行列式的两行, 行列式变为相反数

交换两行, 对于行列式定义式中的每个单项, 改变的只有 $\operatorname{sgn}(\sigma)$, 相当于给这种排列做一次对换, 奇偶性改变, 则其正负改变, 所以变号.

如果矩阵的两行(列)对应成比例, 则其行列式的值等于 $0$.

考虑下面这个行列式

这可以化为

又由于交换的两行形式相同, 行列式形式不变, 所以行列式的值不变, 但交换两行后行列式的值又应变为相反数, 相反数等于自己的只有 $0$.

把某一行(列)的某个倍数加到另一行(列),值不变

把第 $i$ 行的 $k$ 倍加到第 $j$ 行 :


特殊的矩阵的行列式

显然它的值是 $\prod\limits_{i = 1}^{n}{a_{i,i}}$


行列式的求值

用 $Gauss$ 消元, 将行列式变成下三角, 对角线乘积及为行列式的值.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
inline double Gauss(int n) {
double det = 1;bool flg = true;
for (register int i = 0;i < n;++i) {
int k = i;
for (register int j = i+1;j < n;++j)
if (fabs(f[j][i]) > fabs(f[k][i]))k = j;
if (k ^ i)swap(f[k],f[i]),flg ^= 1;
if (fabs(f[i][i]) < eps)exit(puts("-1")&0);
double div = f[i][i];
del *= f[i][i];
for (register int j = i;j <= n;++j)f[i][j] /= div;
for (register int j = i+1;j < n;++j) {
div = f[j][i];
for (register int k = i;k <= n;++k)f[j][k] -= f[i][k]*div;
}
}
return flg ? det : -det;
}