考虑简单带权无向图的情况。
约定这张图为(G=(V,E),n=|V|,m=|E|),(e_i=(u_i,v_i,w_i))表示第(i)条边,(deg_u)表示(u)所连边的边权和。
( ext{Some Definitions})
邻接矩阵
(mathbf A_{n*n})满足(mathbf A_{i,j}=w(i,j))
度数矩阵
(mathbf D_{n*n})满足(mathbf D_{i,j}=[i=j]deg_i)
关联矩阵
(mathbf B_{n*m})满足(mathbf B_{i,j}=[u_j=ivee v_j=i](-1)^{[u_j=i]}sqrt{w_j})
Laplace矩阵(Kirchhoff矩阵)
一张图的Laplace矩阵(mathbf L=mathbf D-mathbf A)。
( ext{Some Properties})
(1.det(mathbf L)=0)
(2.operatorname{rank}(mathbf L)=n-1)
(3.mathbf L)的所有(C_{i,j})都相等,且等于(mathbf L)的(prodlimits_{i=1}^{n-1}lambda_i)。
(3.mathbf B^{mathbf T}mathbf B=mathbf L)
Kirchhoff定理
一棵生成树的权值为边权之积,所有生成树的权值和就是(mathbf L)的任意一个(C_{i,j})。
对于重边,考虑分配率,发现可以将重边缩成一条,边权求和即可。
可以发现Cayley定理就是Kirchhoff定理的特例。
Ex-Kirchhoff定理
考虑扩展至有向图的树形图。
( ext{Part.1})
假如我们要求的是外向树。
修改:(deg_i)表示(i)的入边的边权和。
那么此时以(i)为根的所有外向树的权值和为(mathbf L)的(C_{i,i})。
( ext{Part.2})
假如我们要求的是内向树。
修改:(deg_i)表示(i)的入边的边权和。
那么此时以(i)为根的所有外向树的权值和为(mathbf L)的(C_{i,i})。
其实内向树和外向树就是把边反向的区别。
因为把边反向相当于把(mathbf L)转置,这并不会让它的某个(C_{i,i})发生变化。
所以我们可以不需要修改(mathbf A)。
还需要注意,在有向图中(mathbf A)的数条性质皆不成立,关联矩阵也暂时没法定义。