12.3 Spanning trees and Laplacian

We recall the famed Cauchy-Binet formula. For an n×m matrix A and a m×n matrix B with n≤m, we have that

d⁢e⁢t⁢(A⁢B)=∑S⊂[m],|S|=nd⁢e⁢t⁢(A⁢[[n]|S])⁢d⁢e⁢t⁢(B⁢[S|[n]]),

where A⁢[T|S] refers to the matrix A restricted to rows in T and columns in S. Let W=V−{1} and we can apply the Cauchy-Binet formula to L⁢[W|W]. As L=∂1∂1t, we have that L⁢[W|W]=∂1[W|E→]⁢∂1t[E→|W].

d⁢e⁢t⁢(L⁢[W|W])=∑S⊂E→:|S|=n−1d⁢e⁢t⁢(∂1[W|S])⁢d⁢e⁢t⁢(∂1t[S|W])=∑S⊂E:|S|=n−1d⁢e⁢t⁢(∂1[W|S])2,

where the last equality is due to the fact that ∂1[W|S]=∂1t[S|W]. Since the sum of rows in ∂1[V|S] is 0, r⁢(∂1[W|S])=r⁢(∂1[V|S]). Hence, if G is not connected, then r⁢(∂1[W|E→])<n−1 and d⁢e⁢t⁢(L⁢[W|W])=0. Thus, if |E|<n−1, the LHS and the RHS in the above equation are zero. Assume that G is connected.

Fix S⊂E→:|S|=n−1. Then d⁢e⁢t⁢(∂1[W|S])≠0 iff ∂1[W|S] is non-singular iff ∂1[W|S] has full column rank iff r⁢(∂1[W|S])=r⁢(∂1[V|S])=n−1 iff S is acyclic iff S is a spanning tree in G. Thus, we have that

d⁢e⁢t⁢(L⁢[W|W])=∑S⊂E→,spanning treed⁢e⁢t⁢(∂1[W|S])2.

Suppose we show that d⁢e⁢t⁢(∂1[W|S])∈{0,−1,+1}, then we have that

d⁢e⁢t⁢(L⁢[W|W])=|Spanning trees of G|. (12.2)

The following lemma completes the proof.

Lemma 12.11.

For W⊂V,S⊂E→ such that |W|=|S|, we have that d⁢e⁢t⁢(∂1[W|S])∈{0,−1,+1}.

Proof.

We will prove by induction on k=|W|=|S|. Let B=∂1[W|S]. The case of k=1 is trivial as the entries are 0,−1,+1. Assume that the theorem holds for all l<k for k≥2.

If each column of B has both a +1 and a −1 entry, then the sum of rows is 0 and d⁢e⁢t⁢B=0. If there is a column of 0’s in B, then d⁢e⁢t⁢B=0 again. Hence, there is a column with only a single non-zero entry in B. Suppose this is the (w,s)-th entry. Then, we have that d⁢e⁢t⁢B=Bw,s⁢d⁢e⁢t⁢(∂1[W−{w}|S−{s}]). By induction, the latter is 0,−1,+1 and since Bw,s=+1,−1, we obtain the desiered conclusion. ∎

Corollary 12.12.

Let 0=λ1≤λ2≤…≤λn be the eigenvalues of L. Then the number of spanning trees of G is ∏i=2nλin.

Proof.

Let S⁢T be the number of spanning trees of G.

n×S⁢T=∑W⊂[n],|W|=n−1d⁢e⁢t⁢(L⁢[W|W])=∑W⊂[n],|W|=n−1∏i∈Wλi,

as the sum of kthe principal minors of a matrix is equal to the sum of products of k eigenvalues. Since λ1=0, RHS is λ2⁢…⁢λn. ∎

As an easy corollary, we can obtain Cayley’s formula by noting that

Theorem 12.13.

(Kirchoff’s matrix tree theorem) Let W⊂[n] and |W|=n−k. Then d⁢e⁢t⁢(L⁢[W|W]) is the number of spanning forests in G with k components and each of the elements of Wc being in a distinct component.

Proof.

(Proof Sketch) Let Wc={w1,…,wk}. Again by Cauchy-Binet, we have that

d⁢e⁢t⁢(L⁢[W|W])=∑S⊂E:|S|=n−kd⁢e⁢t⁢(∂1[W|S])2

From Lemma 12.11, we know that d⁢e⁢t⁢(∂1[W|S])=0,−1,+1 and hence it is enough to show that ∂1[W|S] is non-singular iff the edges of S forms a forest with k components with each wi in a distinct component.

Let the edges of S forms a forest with k components with each wi in a distinct component, say Di. Let the edges in the ith component be Si. Set Wi=Di−wi. We have that ∪Wi=W and ∪Si=S. Thus ∂1[W|S] is a block matrix with blocks ∂1[Wi|Si],i=1,…,k. By the proof of Corollary 12.12, we have that d⁢e⁢t⁢(∂1[Wi|Si])∈{−1,+1} as (Di,Si) forms a trees and hence d⁢e⁢t⁢(∂1[W|S])∈{−1,+1}

If ∂1[W|S] is non-singular, then the columns of S in ∂1[[n]|S] are linearly independent and hence the edges in S form a forest and they have k components as |S|=n−k. It remains to be shown that wi are in distinct k components. Since ([n],S) forms a forest with k components, ∂1[[n]|S] and so ∂1[W|S] has a block structure with k blocks. If one of the blocks (say with rows Wi) doesn’t contain any wi, then ∂1[Wi|S] is singular and so will be ∂1[W|S]. This leads to a contradiction. ∎