#### Abstract

Spanning trees have been found to be structures of paramount importance in both theoretical and practical problems. In this paper we derive new formulas for the complexity, number of spanning trees, of some products of complete and complete bipartite graphs such as Cartesian product, normal product, composition product, tensor product, symmetric product, and strong sum, using linear algebra and matrix theory techniques.

#### 1. Introduction

The number of spanning trees of a graph is an important, well-studied quantity in graph theory and appears in a number of applications. The most notable application fields are network reliability [1–4], enumerating certain chemical isomers [5], and counting of the Eulerian circuits in a graph [6]. Every connected graph has a spanning tree. A spanning tree of a graph is a tree that (i) is a subgraph of (i.e., that includes only edges from ) and (ii) includes every vertex of . The most classical interest concerning a spanning tree is the number of spanning trees, also called the complexity of the graph and denoted by . Kirchhoff [7] gave a formula for determining it, which is known as the matrix tree theorem. The spanning trees of a graph are the value of any cofactor of the matrix , where is the degree matrix (the th diagonal entry is equal to the degree of the th vertex and the other entry is equal to zero) and is the adjacency matrix of (the entry is equal to the number of edges between th vertex and th vertex), respectively. This topic is still much studied, in particular, in explicit formulas of the number of spanning trees of some special classes. That for complete graphs is most famous among such classes; the number of spanning trees of is , called Cayley’s formula [8]. Several proofs of Cayley’s formula are known, and the most famous one is due to Prüfer [9]. The explicit formulas of the number of spanning trees are known for other classes than complete graphs: complete bipartite graphs [10–13], regular graphs [14], circulant graphs [15–19], pyramid graphs [20], and so on.

Now we introduce the following Lemma which describes a way to calculate the number of spanning trees by an extension of Kirchhoff formula.

Lemma 1 (see [21]). *Let be a graph with vertices. Then
**
where , are the adjacency and degree matrices of , the complement of , respectively, and is the unit matrix.*

Lemma 2. *Let be matrix, such that
**
Then
*

*Proof. *From the definition of the circulant determinants, we have
We can generalize the above lemma as follows.

Lemma 3. *Let , and such that
**
Then
*

Lemma 4 (see [22]). *Let , , , and . Assume that and are nonsingular matrices. Then:
**
Formulas in Lemmas 2, 3, and 4 give some sort of symmetry in some matrices which facilitates our calculation of determinants.*

#### 2. Number of Spanning Trees of Cartesian Product of Graphs

The Cartesian product, , of two graphs and is the simple graph with vertex set and edge set such that two vertices and are adjacent in if and only if either and is adjacent to in or is adjacent to in and [23].

Theorem 5. *For and , we have
*

*Proof. *Applying Lemma 1, we have
Using Lemma 3, we get
Using Lemma 4, we obtain
Using Lemma 2, we have
Specially,

#### 3. Number of Spanning Trees of Normal Product of Graphs

The normal product, or the strong product, , of two graphs and is the simple graph with , where and are adjacent in if and only if either and is adjacent to , or is adjacent to and , or is adjacent to and is adjacent to , [24].

Theorem 6. *For and , we have
*

*Proof. *Applying Lemma 1, we have
Using Lemma 3, we get
Using Lemma 2, we obtain
Specially,

#### 4. Number of Spanning Trees of Composition Product of Graphs

The composition, or lexicographic product, , of two graphs and is the simple graph with as the vertex set in which the vertices and are adjacent if either is adjacent to or and is adjacent to in [24].

Theorem 7. *For and , we get
*

*Proof. *Applying Lemma 1, we have
Using Lemma 2, we obtain
Specially,

#### 5. Complexity of Tensor Product of Graphs

The tensor product, or Kronecker product, , of two graphs and is the simple graph with , where and are adjacent in if and only if is adjacent to in and is adjacent to in [24].

Theorem 8. *For and , we have
*

*Proof. *Applying Lemma 1, we get
Using Lemma 3, we obtain
Using Lemma 4, we obtain
Using Lemma 2 yields
Specially,

#### 6. Number of Spanning Trees of Symmetric Product of Graphs

The symmetric product, , of two graphs and is the simple graph with , where and are adjacent in if and only if either is adjacent to in and is not adjacent to in or is not adjacent to in