矩阵树定理的一些扩展
下文中默认无自环
大部分言论来源于$wiki$百科
矩阵树定理
$Kirchhoff's\;theorem$
定义这么一个$Kirchhoff$矩阵
其满足$$v_{ij} = - e(i, j)$$
$$v_{ii} = \sum\limits_{j =1}^n e(i, j)$$
它的$n - 1$阶主子式的行列式的绝对值就是不同的生成树的个数
$e$代表的意思为
若$e(u, v) = 1$,那么$u, v$相连,否则不相连
注意忽略重边
变元矩阵树定理
$Explicit\;enumeration\;of\;spanning\;trees$
可以通过改变$Kirchhoff$矩阵定理来加强矩阵树定理(实际上就是允许重边)
其满足$$v_{ij} = -e(i, j)$$
$$v_{ii} = \sum\limits_{j = 1}^n e(i, j)$$
它的$n - 1$阶主子式的行列式的绝对值就是不同的生成树的个数
$e$代表的意思为
若$e(u, v) = c$,那么$u, v$间有$c$条边相连
若$e(u, v) = 0$,那么$u, v$不相连
不仅如此
如果让$e$的意思为
若$e(u, v) = c$,那么$u, v$间有权值为$c$的边
若$e(u, v) = 0$,那么$u, v$不相连
那么,我们求出的东西实际上是
$\sum\limits_{Tree} \prod_{E \in Tree} E(u, v)$
有向图的矩阵树定理
$Kirchhoff's\;theorem\;for\;directed\;multigraphs$
可以修改矩阵树定理来计算有向图中树形图的个数
如果需要计算外向树的数量
那么有
$$v_{ij} = -e(i, j)$$
$$v_{ii} = \sum\limits_{j = 1}^n e(i, j)$$
如果需要计算内向树的数量
那么有
$$v_{ij} = -e(i, j)$$
$$v_{ii} = \sum\limits_{j = 1}^n e(j, i)$$
其中,去掉第$i$行和第$i$列形成的$n - 1$阶主子式的行列式的值为以$i$为根的树形图的数量
$e$的意义为
$e(u, v) = c$,那么存在一条从$u$到$v$的权值为$c$的边
$e(u, v) = 0$,不存在$u$到$v$的边
实际上可以求解以某个点为根的所有生成树形图的边权积的和