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 nm, we have that

det(AB)=S[m],|S|=ndet(A[[n]|S])det(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=11t, we have that L[W|W]=1[W|E]1t[E|W].

det(L[W|W])=SE:|S|=n1det(1[W|S])det(1t[S|W])=SE:|S|=n1det(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])<n1 and det(L[W|W])=0. Thus, if |E|<n1, the LHS and the RHS in the above equation are zero. Assume that G is connected.

Fix SE:|S|=n1. Then det(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])=n1 iff S is acyclic iff S is a spanning tree in G. Thus, we have that

det(L[W|W])=SE,spanning treedet(1[W|S])2.

Suppose we show that det(1[W|S]){0,1,+1}, then we have that

det(L[W|W])=|Spanning trees of G|. (12.2)

The following lemma completes the proof.

Lemma 12.11.

For WV,SE such that |W|=|S|, we have that det(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 k2.

If each column of B has both a +1 and a 1 entry, then the sum of rows is 0 and detB=0. If there is a column of 0’s in B, then detB=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 detB=Bw,sdet(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 ST be the number of spanning trees of G.

n×ST=W[n],|W|=n1det(L[W|W])=W[n],|W|=n1iWλ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|=nk. Then det(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

det(L[W|W])=SE:|S|=nkdet(1[W|S])2

From Lemma 12.11, we know that det(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=Diwi. 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 det(1[Wi|Si]){1,+1} as (Di,Si) forms a trees and hence det(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|=nk. 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. ∎