Matrix-Tree Theorem
The matrix-tree theorem (Kirchhoff's theorem) provides a beautiful connection between graph theory and linear algebra, expressing the number of spanning trees as a determinant of the Laplacian matrix.
Let be a graph with Laplacian matrix . For any , let denote the matrix obtained by deleting row and column from . Then:
where is the number of spanning trees of . Remarkably, this value is independent of the choice of .
The proof uses the Cauchy-Binet formula and properties of the incidence matrix, revealing deep structure in the Laplacian.
Let be the incidence matrix: rows index vertices, columns index edges, with if is incident to , and 0 otherwise.
The Laplacian can be written as . For any vertex , let denote with row deleted. Then:
By the Cauchy-Binet formula:
where the sum is over all submatrices formed by selecting columns. The determinant equals if the selected edges form a spanning tree, and 0 otherwise. Thus the sum counts spanning trees.
For the 4-cycle, the Laplacian is:
Deleting the first row and column:
Computing: .
Indeed, has exactly 4 spanning trees (removing any one of the 4 edges yields a tree).
The matrix-tree theorem extends to weighted graphs: replace with in the Laplacian. Then equals the sum of weights of all spanning trees, where a tree's weight is the product of its edge weights. This provides a generating function for weighted enumeration.
The -cofactor of (determinant of with row and column deleted, times ) counts spanning forests with exactly two components, where and are in different components.
The matrix-tree theorem connects to electrical networks (Kirchhoff's laws), random walks (commute times), and algebraic graph theory (spectral properties), demonstrating the unity of mathematics across seemingly disparate domains.