[行列式与矩阵树定理]【学习笔记】
为什么查基尔霍夫只能查到物理学家?
参考资料:
1.生成树的计数及其应用
2.http://blog.csdn.net/werkeytom_ftd/article/details/54914530
行列式
排列 Permutation
对换:相邻两项交换
对换会使逆序对的个数改变1
是逆序对的个数,可以将排列分为奇排列和偶排列
行列式 Determinant
阶行列式:
就是每行每列只选一个元素乘起来的所有情况的和
我不对打矩阵我不画了...长得和矩阵一样只不过用括起来
性质:
证明:考虑定义式...
这告诉我们行列式的行和列是平等的,行满足列也满足
两行互换,行列式变号
证明:两行互换后相当于排列中两个元素交换,逆序对必定改变奇数个,正负改变
证明:设交换的两个元素为,则相当于对换了次
推论:行列式两行相同时值为0
一行乘上,行列式乘上
推论:行列式两行成比例或一行全0,值为0
两个行列式只有一行不同,他们的行列式和等于不同的行相加后的行列式
证明:考虑定义式,把加的那一行展开
推论:将行列式的任意行乘以实数,再相应地加到另一行上去,行列式的值不变
证明推论:拆成两个行列式的和,一个有两行成比例...
这样就可以高斯消元
每行每列和均为0的矩阵行列式为0。
证明:
高斯消元过程中这一性质仍然存在。
最后消出来,最后一行前一定为,又因和为,所以最后一项也是,出现全行,行列式即为。
计算行列式的值
为转换为上三角形式
证明:显然上三角形式的行列式的值为对角线乘起来....考虑行列式就是每行每列选一个,第一列只有选有贡献并且这样就选了第一行剩下的不用选了,然后数学归纳法下去
阶子式
选了k行和k列组成的行列式
主子式
阶主子式,就是对于,第r行、第r列同时去掉后得到的新行列式
Binet-Cauchy公式
q中选p个然后1..p和j1...jp分别作为行和列A和B的p阶子式相乘
矩阵树定理 Kirchhoff Matrix-Tree
的度数矩阵D[G]是一个的矩阵当时,;当时,等于的度数;
的邻接矩阵A[G];
我们定义G的Kirchhoff矩阵(也称为拉普拉斯算子),则Matrix-Tree定理可以描述为:
G的所有不同的生成树的个数等于其Kirchhoff矩阵任何一个阶主子式的行列式的绝对值。
证明:
因为每行每列和都是0,由推论
不连通,任一主子式,证明考虑把每个连通块对角线排起来,每个连通分量是独立的图
是树,任一主子式,证明考虑构造一个对角线为1的上三角行列式(其实我没认真想构造感觉正确)
构造图关联矩阵,用上面那个公式变形
直接copy论文啦,感觉说的很清楚
如果存在环那么可以构造出一个行列和为的子式,所以。
显然,可以看成是仅由所有的顶点和属于x的边构成的新图的Kirchhoff矩阵的一个n-1阶主子式。
根据图的Kirchhoff矩阵的性质,如果将所有属于x的n-1条边加入图中后形成一颗树,那么;
而如果没有形成树,则必然存在一个环,那么 。
也就是说,我们考察边集所有大小为n-1的子集,如果这个子集中的边能够形成一颗树,那么我们的答案加1,否则不变。
这就恰好等于原图生成树的个数!
最后来自werkeytom_ftd的一个有趣的粟子
我们来常识用矩阵树定理解决一个简单问题。
求n个点组成的无根带标号树有多少个。
可以看做是无向完全图的生成树计数。
它的基尔霍夫矩阵主对角线都是n-1,其余全都是-1。
那余子式,也是一样,不过规模变成了
现在求它的行列式
让第一行加上每行,第一行变成全都是1。
用第一行去加其余行,每个其余行除了在主对角线上是n全都变成0。
于是最后显然变成了一个上三角矩阵,行列式为主对角线元素相乘。
因此是$n^{n-2}$
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具