再探矩阵树定理

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

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

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

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

线性空间 对于一个向量 w 如果w可以表示为 \(w=\sum_{v_i\in 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}\) 所以存在 \(A\cdot 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_{s\in 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

就这么多。

原文地址:https://www.cnblogs.com/chdy/p/12337529.html

时间: 2024-11-03 03:30:49

再探矩阵树定理的相关文章

CSU 1805 Three Capitals(矩阵树定理+Best定理)

http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1805 题意: A和B之间有a条边,A和G之间有b条边,B和G之间有c条边.现在从A点出发走遍所有的边,然后再回到A点,问一共有多少种方法. 思路: 16年湖南省赛题目,这道题目是求欧拉回路的个数,和生成树的计数有一定的联系. 首先给出神奇的Best定理,这是什么鬼定理,反正查不到什么有关该定理的文章... $ec(G)=t_s(G)\cdot deg(s)! \cdot \prod_{v\i

@算法 - [email protected] matrix - tree 定理(矩阵树定理)

目录 @0 - 参考资料@ @0.5 - 你所需要了解的线性代数知识@ @1 - 定理主体@ @证明 part - [email protected] @证明 part - [email protected] @证明 part - [email protected] @证明 part - 4@ @2 - 一些简单的推广@ @3 - 例题与应用@ @0 - 参考资料@ MoebiusMeow 的讲解(超喜欢这个博主的!) 网上找的另外一篇讲解 @0.5 - 你所需要了解的线性代数知识@ 什么是矩阵

浅谈矩阵树定理

1 作用:对于一张图求生成树数量 矩阵树定理可解决. 2 实现方式 A为邻接矩阵表示两点之间的连接关系 D为度数矩阵存放每个点的度数 根据矩阵的初等变换 基尔霍夫矩阵=D-A; 当然基尔霍夫矩阵就是拉普拉斯矩阵. 有如下几个性质:拉普拉斯矩阵的行列式为0. 拉普拉斯矩阵的任意一个余子式的行列式相等. 不连通的无向图的拉普拉斯的任意一个余子式的行列式为0. 本人行列式都不知道是什么...(很弱的 其实行列式就是一个矩阵经过规定的计算方法从而得到的一个数字,有未知数的话其实就是一个多项式,本质上是一

「不会」矩阵树定理

定理不会证,也不会用 「小z的房间」 暴力建图 「重建」 矩阵树求的是$\sum\limits_{T} \prod\limits_{e\in T} w(e)$ 而要求的是$\sum\limits_{T} \prod\limits_{e\in T}p(e)*\prod\limits_{e isnot\in T} 1-p(e)$ 即$\prod\limits_e 1-p(e) \sum\limits_{T} \prod\limits_{e\in T}p(e)/(1-p(e))$ 设$w(e)=p(e

矩阵树定理速证

凯莱公式: spanning_trees_num( G ) = spanning_trees_num( G - e ) + spanning_trees_num( G · e ) 矩阵树定理: G 相应的拉普拉斯矩阵(度矩阵 - 邻接矩阵)L( G )   删除随意一行一列得到的行列式的值det( L*( G ) ) 即生成树的个数,即spanning_trees_num( G ) = det( L*( G ) ) 证: 归纳如果 spanning_trees_num( G - e ) = de

[spoj104][Highways] (生成树计数+矩阵树定理+高斯消元)

In some countries building highways takes a lot of time... Maybe that's because there are many possiblities to construct a network of highways and engineers can't make up their minds which one to choose. Suppose we have a list of cities that can be c

【BZOJ4031】[HEOI2015]小Z的房间 矩阵树定理

[BZOJ4031][HEOI2015]小Z的房间 Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子是一个房间或者是一个柱子.在一开始的时候,相邻的格子之间都有墙隔着. 你想要打通一些相邻房间的墙,使得所有房间能够互相到达.在此过程中,你不能把房子给打穿,或者打通柱子(以及柱子旁边的墙).同时,你不希望在房子中有小偷的时候会很难抓,所以你希望任意两个房间之间都只有一条通路.现在,你希望统计一共有多少种可行的方案.

【bzoj2467】[中山市选2010]生成树 矩阵树定理

题目描述 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成的圈.在中心的这个n边圈的每一条边同时也是某一个五角形的一条边,一共有n个不同的五角形.这些五角形只在五角形圈的中心的圈上有公共的顶点.如图0所示是一个4-五角形圈. 现在给定一个n五角形圈,你的任务就是求出n五角形圈的不同生成树的数目.还记得什么是图的生成树吗?一个图的生成树是保留原图的所有顶点以及顶点的数目减去一这么多条边,从而生成的一棵树. 注意:在给定的n五角形圈中所有顶点均视为不同的顶点. 输入 输入包含多

【bzoj4894】天赋 矩阵树定理

题目描述 小明有许多潜在的天赋,他希望学习这些天赋来变得更强.正如许多游戏中一样,小明也有n种潜在的天赋,但有一些天赋必须是要有前置天赋才能够学习得到的.也就是说,有一些天赋必须是要在学习了另一个天赋的条件下才能学习的.比如,要想学会"开炮",必须先学会"开枪".一项天赋可能有多个前置天赋,但只需习得其中一个就可以学习这一项天赋.上帝不想为难小明,于是小明天生就已经习得了1号天赋-----"打架".于是小明想知道学习完这n种天赋的方案数,答案对1