再探矩阵树定理

Posted chdy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了再探矩阵树定理相关的知识,希望对你有一定的参考价值。

坚定不移的向前奔跑 才是我应该做的事情吧. 多思考一下 你会发现不一样的世界。

所谓矩阵树定理 用于一张无向图之上求出该图的所有生成树的个数。

在探究其之前我们先再次回顾一番 矩阵的基本定义 和一些比较基本的操作。

矩阵 有行有列 不过有两个定义 行向量 和 列向量 分别指某一行或某一列所形成的向量。(高维空间

线性空间 对于一个向量 w 如果w可以表示为 (w=sum_{v_iin S}a_iv_i) 那么我们认为w是可以被S中的向量线性组合出来的。

线性无关:如果一个向量空间中的每个向量偶不能表示成其他向量的组合,那么这个向量空间就是线性无关的。

基底:对于一个线性空间V来说 他的基底是其最大的一个线性无关子集。这句话三个重点:V的子集 最大 且线性无关。

我们不难推出 对于一个线性空间V来说其基底可能有不同 但是大小一定相同,可以尝试证明。

我们定义矩阵的加法:两个长宽相等的矩阵相加 即各个对应的位置上的元素相加。

定义 数乘 即一个数字和这个矩阵的各个位置上的数字相乘。

定义 转置 即矩阵的元素 沿其对角线对应翻转。

矩阵的乘法,这个不再赘述 大体上是第一个矩阵的所有行向量和 另外一个矩阵的列向量相乘。

其具有分配率:A(B+C)=AB+AC (B+C)A=BA+CA 结合律:ABC=A(BC)

显然不具有交换律

单位矩阵 I 一个n阶的单位矩阵为(n*n)的矩阵 (A_{i,j}=[i=j])

单位矩阵 有用的地方就是 IA=AI=A;

逆矩阵 对于一个n阶的矩阵A 定义其逆矩阵为(A^{-1}) 所以存在 (Acdot A^{-1}=I)

注意 :一个矩阵存在逆矩阵当且仅当其行向量所组成的向量空间是无关的。通俗一点任意一个行向量不能被其他的行向量所拼出来。

但是具体的细节我也并不是很清楚,所以这个结论还是先记下来比较好。

矩阵怎么求逆?我们知道 平常我们使用矩阵要不就是高斯消元 要不就是 矩阵快速幂。(十分老套的套路

矩阵有三种初等变换 我们发现 将一个矩阵初等变换成I矩阵并不难 但是此时相当于成上了 一个 (A^{-1})

我们有 对应的矩阵 做相同的初等变换 意味着也乘上了一个 (A^{-1})那么显然如果用I乘上这个矩阵我们就求出矩阵的逆啦。

最后我们的做法是 将A矩阵和I矩阵绑一块 对A进行初等变换形成I矩阵 此时也对I进行初等变换那么就形成(A^{-1})这个逆矩阵了。

下面 到了重点了 矩阵的行列式:

一个矩阵A的行列式通常表示为 det(A) 或者 |A|.

首先我们定义一个集合 (S_n)表示所有长度为n的排列所构成的集合。

然后再定义一个 f(s) 表示排列s内的逆序对的数量,(s_i)表示排列s的第i个数。

sgn(s)=f(s)%2?1:-1 这里我写一个问号表达式。。大体上表达的意思是 这个排列的逆序对为奇数个的话就是sgn(s)为1 反正为-1

那么此时我们就可以给一个矩阵A的行列式下达定义了 其为 (|A|=det(A)=sum_{sin S}sgn(s)Pi_{i=1}^{n}a_{i,s_i})

注意这里的s还是还是1~n的一个排列。继续往下 是和行列式有关的东西 不过今天的主体是矩阵树定理这里不再过多赘述。。

矩阵树定理:

对于n个点m条边的无向图 该图同时没有自环 令一个n阶的方阵D为该图的度数矩阵,对于D来说 满足:(d_{i,j}=i==j?deg(i):0)

其中deg(i)表示连向点i的边的数量。即i点的入度。

同时对于一张n个点m条边额无向图无自环,令一个n阶方阵A为该图的邻接矩阵 对于A来说满足:(a_{i,j}=[(i,j)in E])

令一张n个点m条边的无自环无向图的n阶拉普拉斯方阵为L 有 L=D-A.

定理:对于一张n个点m条边的无自环无向图来说 其拉普拉斯矩阵为L 我们将n阶方阵L去掉任意一行及一列得到了一个n-1阶的方阵(L_T)

这张图的生成树数量为det(L). 证明:自证很难,不再赘述。

如何求解行列式 按照我们上述的定义来看 行列式的求解需要搞排列 计算逆序对什么的 实际上求解行列式快速的方法还是高斯消元。

我们把L 进行初等变换 变成上三角矩阵 然后此时对角线的乘积即为生成树的数量 在消的时候避免掉精一般采用辗转相除法进行消元。

注意 交换两行的时候 行列式的值注意变号。

这里 再次说明一下 求出行列式时的一些小细节:(暂时还不知道为啥,也不想研究为啥。因为 因为 我真的搞不懂是为啥

首先再次定义一下一个方阵 注意是方阵的行列式 存在一个上三角/下三角的方阵的行列式是其对角线之积。

特别的 单位方阵的行列式为1

对于一方阵其一行/一列乘以k 行列式乘k 对于进行初等变换的话 行列式不变。

对于一个矩阵交换其两行/两列 行列式变号

推论 一个矩阵两行或两列成比例行列式为0 这也就是我们所说的 此时不是线性无关的了。

最后有可能的是 一个对角线上的值为0 此时说明不是线性无关的了 那么 行列式的值为0

就这么多。

以上是关于再探矩阵树定理的主要内容,如果未能解决你的问题,请参考以下文章

「矩阵树定理」

初学矩阵树定理

算法Matrix - Tree 矩阵树定理 & 题目总结

矩阵树定理

浅谈矩阵树定理

Matrix-Tree 定理(基尔霍夫矩阵树定理)