The Tutte polynomial of some matroids

The Tutte polynomial of a graph or a matroid, named after W. T. Tutte, has the important universal property that essentially any multiplicative graph or network invariant with a deletion and contraction reduction must be an evaluation of it. The deletion and contraction operations are natural reductions for many network models arising from a wide range of problems at the heart of computer science, engineering, optimization, physics, and biology. Even though the invariant is #P-hard to compute in general, there are many occasions when we face the task of computing the Tutte polynomial for some families of graphs or matroids. In this work we compile known formulas for the Tutte polynomial of some families of graphs and matroids. Also, we give brief explanations of the techniques that were use to find the formulas. Hopefully, this will be useful for researchers in Combinatorics and elsewhere.


Introduction
Many times as researchers in Combinatorics we face the task of computing an evaluation of the Tutte polynomial of a family of graphs or matroids. Sometimes this is not an easy task, or at least time consuming. Later, not surprisingly, we find out that a formula was known for a class of graphs or matroids that contains our family. Here we survey some of the best known formulas for some interesting families of graphs and matroids. Our hope is for researchers to have a place to look for a Tutte polynomial before engaging in the search for the Tutte polynomial formula for the considered family.
We present along with the formulas, some explanation of the techniques used to compute them. This may also provide tools for computing the Tutte polynomials of new families of graphs or matroids. This survey can also be considered a companion to the book chapter Graph polynomials and their applications I: the Tutte polynomial by J. Ellis-Monaghan and C. Merino [25]. There, the authors give an introduction of the Tutte polynomial for a general audience of scientists, pointing out relevant relations between different areas of knowledge. But very few explicit calculations are made. Here we consider the practical side of computing the Tutte polynomial.
However, we are not presenting evaluations, that is an immense area of research for the Tutte polynomial, nor analysing the complexity of computing the invariant for the different families. For the former we strongly recommend the book of D.J.A. Welsh [47], for the latter we recommend S.D. Noble's book chapter [36]. There are many sources for the theory behind this important invariant. The most useful is definitively J. Oxley and T. Brylawski book chapter [16]. We already mentioned [25], which also surveys a variety of information about the Tutte polynomial of a graph, some of it new.
We also do not address the closely related problem of characterizing families of matroids by their Tutte polynomial, a problem which is generally known as Tutte uniqueness. For this there are also several articles, for example [9,23,38].
We assume knowledge of graph theory as in [24] and matroid theory as in [37]. Further details of many of the concepts treated here can be found in Welsh [47] and Oxley and Brylawski [16].

Definitions
Some of the richness of the Tutte polynomial is due to its numerous equivalent definitions; which is probably inherited from the vast number of equivalent definitions of the concept of matroid. In this chapter we revise three definitions and we put them to practice by computing the Tutte of some families of matroids, in particular uniform matroids.

The rank-nullity generating function definition
One of the simplest definitions, which is often the easiest way to prove properties of the Tutte polynomial, uses the notion of rank.
If M = (E, r) is a matroid, where r is the rank-function of M , and A ⊆ E, we denote r(E) − r(A) by z(A) and |A| − r(A) by n(A), the latter is called the nullity of A.
This gives the first technique to compute a Tutte polynomial. If you know the Tutte polynomial of M then you know the Tutte polynomial of the dual matroid M * .

Uniform matroids
Our first example is the family of uniform matroids U r,n , where 0 ≤ r ≤ n.
Here the Tutte polynomial can be computed easily using (1) because all subsets of size k ≤ r are independent, so n(·) is zero; all subsets of size k ≥ r are spanning, so z(·) is zero and if a subset is independent and spanning, then it is a basis of the matroid.

Matroid relaxation
Given a matroid M = (E, r) with a subset X ⊆ E that is both a circuit and a hyperplane, we can define a new matroid M as the matroid with basis B(M ) = B(M ) ∪ {X}. That M is indeed a matroid is easy to check. For example, F − 7 is the unique relaxation of F 7 . The Tutte polynomial of M can be computed easily from the Tutte polynomial of M by using equation (1).
Matroid relaxation will be used extensively in the last section.

Sparse paving matroids
Our second example can be considered a generalization of uniform matroids but it is a much larger and richer family. A paving matroid M = (E, r) is a matroid whose circuits all have size at least r. Uniform matroids are an example of paving matroids. Paving matroids are closed under minors and the set of excluded minors for the class consists of the matroid U 2,2 ⊕ U 0,1 , see for example [33]. The interest about paving matroids goes back to 1976 when Dominic Welsh asked if most matroids were paving, see [37]. Sparse paving matroids were introduced in [28,32]. A rank-r matroid M is sparse paving if M is paving and for every pair of circuits C 1 and C 2 of size r we have |C 1 C 2 | > 2. For example, all uniform matroids are sparse paving matroids.
There is a simple characterization of paving matroids which are sparse in terms of the sizes of their hyperplanes. For a proof, see [33].
Theorem 2.2. Let M be a paving matroid of rank r ≥ 1. Then M is sparse paving if and only if all the hyperplanes of M have size r or r − 1.
Note that we can say a little more, any circuit of size r is a hyperplane. Conversely, any proper subset of a hyperplane of size r is independent and so such a hyperplane must be a circuit. Thus, the circuits of size r are precisely the hyperplanes of size r.
Many invariants that are usually difficult to compute for a general matroid are easy for sparse paving matroids. For example, observe that if M is sparse paving, all subsets of size k < r are independent, and all subsets of size k > r are spanning. On the other hand the subsets of size r are either bases or circuit-hyperplanes. Thus, the Tutte polynomial of a rank-r sparse matroid M with n elements and λ circuit-hyperplanes is given by Clearly, given a r-rank paving matroid M with n elements, we can obtain the uniform matroid U r,n by a sequence of relaxations from M . If M has λ circuits-hyperplanes, equation (4) also gives (5).

Free extension
Another easy formula that we can obtained from the above definition involves the free extension, M + e, of a matroid M = (E, r) by an element e ∈ E, which consists of adding the element e to M as independently as possible without increasing the rank. Equivalently, the rank function of M + e is given by the following equations: for X a subset of E, Again, the Tutte polynomial of M + e can be computed easily from the Tutte polynomial of M by using equation (1).
Here the trick is to notice that T M (1, y) = X (y − 1) |X|−r(X) , where the sum is over all subsets of E with r(X) = r(E), i.e., spanning subsets of M . The presentation given here is from [10], but the formula can also be found in [15].
For example, the graphic matroid M (K 4 \ e), has as free extention the matroid Q 6 . Because M (K 4 \ e) is sparse paving, by using (5), we can compute its The Tutte polynomial and obtain Now, by using (6), we get the Tutte polynomial of the free extension.
This result can be check by using (5), as Q 6 is also sparse paving.

Deletion and contraction
In the second (equivalent) definition of the Tutte polynomial we use a linear recursion relation given by deleting and contracting elements that are neither loops nor coloops. This is by far the most used method to compute the Tutte polynomial.
Definition 2.3. If M is a matroid, and e is an element that is neither a loop nor a coloop, then If e is a coloop, then And if e is a loop, then The proof that Definition 2.1 and 2.3 are equivalent can be found in [16]. From this it is clear that you just need the Tutte polynomial of the matroid without loops and coloops. Also, if you know the Tutte polynomial of M \ e and M/e, then you know the Tutte polynomial of the matroid M . This way of computing the Tutte polynomial leads naturally to linear recursions. We present two examples where these linear recursions give formulas.
The cycle C n As a first example of this subsection we consider the graphic matroid M (C n ). Here, by deleting an edge e from C n we obtained a path whose Tutte polynomial is x n−1 , while if we contract e we get a smaller cycle C n−1 . Thus, as the Tutte polynomial of the 2-cycle is x + y, we obtain By duality, the Tutte polynomial of the graph C * n with two vertices and n parallel edges between them is

Parallel and series classes
As an almost trivial application of deletion-contraction we look into the common case when you have a graph or a matroid with parallel elements. Let us define a parallel class in a matroid M as maximal subset X of E(M ) such that any two distinct members of X are parallel and no member of X is a loop , see [37]. Then the following result is well known and has been found many times, see [22,26].
Lemma 2.4. Let X be a parallel class of a matroid M with |X| = p + 1. If X is not a cocircuit, then The proof is by induction on p with the case p = 0 being (7). The rest of the proof follows easily from the fact that each loop introduces a multiplicative factor of y in the Tutte polynomial.
A series class in M is just a parallel class in M * and by duality we get Lemma 2.5. Let X be an series class of a matroid M with |X| = p + 1. If X is not a circuit, then The rectangular lattice L m,n The rectangular lattice, that we will define in a moment, is our first example where computing its Tutte polynomial is really far from trivial and no complete answer is known. The interest resides probably in the importance of computing the Potts partition function, which is equivalent to the Tutte polynomial, of the square lattice. However, even a complete resolution of this problem will be just a small step towards the resolution of the really important problem of computing the Tutte polynomial of the cubic lattice. Let m and n be integers, m, n > 1. The grid or rectangular lattice L m,n is a connected planar graph with mn vertices, such that its faces are squares, except one face that it is a polygon with 2(m + n) − 4 edges. The grid graph L m,n can be represented as in Figure 1 The vertices of L m,n are denoted as ordered pairs, such that the vertex in the intersection of the row i and the column j is denoted by ij.
As example, we show a recursive formula for the Tutte polynomials of grid graphs L m,n when m = 2. For m > 3, the formulas are very complicated to use in practical calculations.
The graphs L 2,1 , L 2,2 and L 2,3 are shown in the Figure 2, with the labels that correspond to their vertices.
For every positive integer n. The graph Q 2,n is defined from the graph L 2,n by contraction of the edge (11,21) of L 2,n . In particular, the graph Q 2,1 is one isolated vertex, see Figure 2  The initial conditions to construct the recurrence relations for the Tutte polynomial of the grid graphs L 2,n are: The third condition is true because the graph L 2,2 is isomorphic to the cycle C 4 , so we can use Equation (10). The formula for the recurrence relation to calculate the Tutte polynomial of the graphs L 2,n is: T L 2,n (x, y) = (x 2 + x + 1)T L 2,n−1 (x, y) + yT Q 2,n−1 (x, y) (14) T Q 2,n (x, y) = (x + 1)T L 2,n−1 (x, y) + yT Q 2,n−1 (x, y).
From this, we get a linear recurrence of order two, T L 2,n − (x 2 + x + 1 + y)T L 2,n−1 + x 2 yT L 2,n−2 = 0, that is easy to solve. Thus, the general formula is for n ≥ 2, where a 1 = y + x + x 2 + x 3 , a 2 = −yx 3 and λ 1 and λ 2 are A recursive family of graphs G m is a sequence of graphs with the property that the Tutte polynomials T Gm (x, y) satisfy a linear homogeneous recursion relation in which the coefficients are polynomials in x and y with integral coefficients, independent of m, see [5]. So, the sequence {L 2,n } is such a family and in general, {L k,n }, for a fixed k, is a recursive family.

Graphic and representable matroids
Probably the most common class of matroids, when evaluations of the Tutte polynomial are considered, are graphic matroids. If M is the graphic matroid of a graph G, then deleting an element e from M amounts to deleting the corresponding edge from G, and contracting e to contracting the edge. This is easy to do in a small graph and by using Definition 2.3 you can compute the Tutte polynomial. An example is shown in Figure 3   As we mentioned computing the Tutte polynomial is not in general computationally tractable. However, for graphic matroids there are some resources to compute it for reasonably sized graphs of about 100 edges. These include Sekine, Imai, and Tani [40], which provides an algorithm to implement the recursive Definition 2.3. Common computer algebra systems such as Maple and Mathematica will compute the Tutte polynomial for very small graphs, and there are also some implementations freely available on the Web, such as http://ada.fciencias.unam.mx/~rconde/tulic/ by R. Conde or http://homepages.mcs.vuw.ac.nz/~djp/tutte/ by G. Haggard and D. Pearce.
Similarly, given a matroid M = (E, r), representable over a field F, you can compute its Tutte polynomial using deletion and contraction. For any element e ∈ E, the matroids M \ e and M/e are easily computed from the representation of M , see [37]. This can be automatized and there are already computer programs that compute the Tutte polynomial of a representable matroid. For our calculations we have used the one given by Michael Barany, for more information about this program and how to use it, see [2]. Some of the calculations made in the Section 4 were computed using this program.

Internal and external activity
Being a polynomial, it is natural to ask for the coefficients of the Tutte polynomial. Tutte's original definition gives its homonymous polynomial in terms of its coefficients by means of a combinatorial interpretation, but before we give the third definition of the Tutte polynomial, we introduce the relevant notions.
Let us fix an ordering ≺ on the elements of M , say E = {e 1 , . . . , e m }, where e i ≺ e j if i < j. Given a fixed basis S, an element e is called internally active if e ∈ S and it is the smallest edge with respect to ≺ in the only cocircuit disjoint from S \ {e}. Dually, an element f is externally active if f ∈ S and it is the smallest element in the only circuit contained in S ∪ {f }. We define t ij to be the number of bases with i internally active elements and j externally active elements. In [44,45,46] Tutte defined T M using these concepts. A proof of the equivalence with Definition 2.1 can be found in [6].
Definition 2.6. If M = (E, r) is a matroid with a total order on its ground set, then In particular, the coefficients t ij are independent of the total order used on the ground set.

Uniform matroids again
Our first use of (17) is to get a slightly different expression for the Tutte polynomial of uniform matroids. This time we get when 0 < r < n, while T Un,n (x, y) = x n and T U 0,n (x, y) = y n . This can also be established by expanding (3).

Paving matroids
Paving matroid were defined above. The importance of paving matroids is its abundance, meaning, most matroids of up to 9 elements are paving. This was checked in [32] and it has been conjecture in [31] that this is indeed true for all matroids, that is, when n is large, the probability that you choose a paving matroid uniformly at random among all matroids with up to n elements is approaching 1. Now, in order to get a formula for the Tutte polynomial of paving matroids, we need the following definition from [37]. Given integers k > 1 and m > 0, a collection T = {T 1 , . . . , T k } of subsets of a set E, such that each member of T has at least m elements and each m-element subset of E is contained in a unique member of T , is called an m-partition of E. The elements of the partition are called blocks. The following proposition is also from [37].
Proposition 2.7. If T is an m-partition of E, then T is the set of hyperplanes of a paving matroid of rank m + 1 on E. Moreover, for r ≥ 2, the set of hyperplanes of every rank-r paving matroid on E is an (r − 1)-partition of E.
Brylawski gives the following proposition in [13], but we mentioned that his proof does not use activities.
Proposition 2.8. Let M be a rank-r matroid with n elements and Tutte and for all j > 0, Note that when M is the uniform matroid U r,n , M is a paving matroid with (r − 1)-partition all subsets of size r − 1. Thus the above formula give us equation (18). As a example consider the matroid R 9 with geometric representation given in Figure 4. This matroid is paving but not sparse paving. The blocks correspond to lines in the representation. There are 7 blocks of size 3, 2 blocks of size 4 and 3 blocks of size 2, corresponding to trivial lines that do nor appear in Figure 4. Using the above formulas we get that the Tutte polynomial of R 9 is T R 9 (x, y) = x 3 + 6x 2 + 8x + 11xy + 2xy 2 + 8y + 13y 2 + 10y 3 + 6y 4 + 3y 5 + y 6 .

Catalan matroids
Our final example in this subsection is a family of matroids that although simple, it has a surprisingly natural combinatorial definition together with a nice interpretation of the internal and external activity.
Consider an alphabet constituted by the letters {N, E}. The length of a word w = w 1 w 2 ...w n is n, the number of letters in w. Every word can be associated with a path on the plane Z 2 , with a initial point A = (m 1 , n 1 ) and a final point B = (m 2 , n 2 ), m 1 < m 2 and n 1 < n 2 . The letter N is identified with a north step and the letter E with a east step, such that the first step of A = (0, 0) to B will be N = (0, 1) or E = (1, 0).
Let A and B be a couple of fixed points of Z 2 . A lattice path is a path in Z 2 from A to B using only steps N or E. The lattice paths from A to B have m steps E and n steps N . Let P and Q be two lattice paths, with initial points (x 0 , y P ) and (x 0 , y Q ) of P and Q respectively. If y P < y Q for every x 0 in [m 1 , m 2 ]; then the set of lattice paths in this work are lattice paths from A to B bounded between P and Q, that we called P Q-bounded lattice paths.
The lattice paths P and Q can be substituted by lines. If P is the line y = 0, Q the line y = x and m = n, then the number of P Q-bounded lattice paths from (0, 0) to (n, n) is the n-th Catalan number: Denote by [n] the set {1, 2, ..., n}. Consider the word w=w 1 , w 2 , ..., w m+n that corresponds to a P Q-bounded lattice path. We can associate to w a subset X w of [m+n] by defining that i ∈ X w if w i = N . X w is the support set of the steps N in w. The family of support sets X w of P Q-bounded lattice paths are the set of bases of a transversal matroid, denoted M [P, Q] with ground set [m + n], see [10].
If the bounds of the lattice paths are the lines y = 0 and y = x, the matroid is denoted by M n and is named Catalan matroid. Note that M n has a loop that corresponds to the label 1 and a coloop that corresponds to the label 2n, and that M n is autodual.
The fundamental result to compute the Tutte polynomial of Catalan matroids is the following, see [10], where here, for a basis B, we denote by i(B) the number of internally active elements and by e(B) the externally active elements.  Then the Tutte polynomial of the Catalan matroids M n for n > 1, is: Note that the coefficient of x i y j in the Tutte polynomial of the matroid M n depends only on n and the sum i + j.
In the Figure 5 are shown the bases of M 3 with its internally and external activities. Thus the Tutte polynomial of M 3 is

Techniques
We move now to present three techniques that are sometimes useful to compute the Tutte polynomial, when the initial trial with the above definitions are not successful.

Equivalent polynomials: The coboundary polynomial
For some families of matroids and graphs it is easier to compute polynomials that are equivalent to the Tutte polynomial. One such polynomial is Crapo's coboundary polynomial, see also [14].
where F M is the set of flats of M and χ N (λ) is the characteristic polynomial of the matroid N . The characteristic polynomial of a matroid M is defined by The Tutte and the coboundary polynomial are related as follows When M is a graphic matroid M (G) of a connected graph G, the characteristic polynomial is equivalent to the chromatic polynomial, that we denote And also, in this case, the coboundary is the bad-colouring polynomial. The bad colouring polynomial is the generating function where b j (G; λ) is the number of λ-colourings of G with exactly j bad edges. Note that when we set t = 0 we obtain the chromatic polynomial. Then, the polynomials are related as follows: The q-cone We base this section on the work of J. E. Bonin and H. Qin, see [11].
Definition 3.1. Let M be a rank-r simple matroid representable over GF(q). A matroid N is a q-cone of M with base S and apex a if 1. the restriction P G(r, q)|S of P G(r, q) to the subset S is isomorphic to M , 2. The point a ∈ P G(r, q) is not contained in the closure of S, CL P G(r,q) (S), in P G(r, q), and 3. The matroid N is the restriction of P G(r, q) to the set s∈S Cl P G(r,q) ({a, s}).
That is, one represents M as a set S of points in P G(r, q) and constructs N by restricting P G(r, q) to the set of points on the lines joining the points of S to the fixed point a outside the hyperplane of P G(r, q) spanned by S. The basic result is by Kung who proved in [29].
Theorem 3.2. For every q-cone N of a rank-r simple matroid M, we have To extend this result toχ the authors in [11] identify the flats F of N and the contractions N/F of N by these flats. They prove the following formulā By using equation (22) we get a formula for the Tutte polynomial of N in terms of the Tutte polynomial of M .
If M is a rank-r matroid representable over GF (q) and N is a q-cone of M , then Thus, for example, the 2-cone of the 3-point line is the matroid P G(2, 2). The Tutte polynomial of the former matroid is just x 2 + x + y, then by using the above formula we get the Tutte polynomial of P G(2, 2) to be x 3 + 4x 2 + 3x + 7xy + 3y + 6y 2 + 3y 3 + y 4 .
As the q-cone of P G(r − 1, q) is P G(r, q), this method can be used to compute the Tutte polynomial of any P G(r, q), but we do this later using the coboundary polynomial directly.

Complete graphs
Given the apparent simplicity of many of the formulas for invariants in complete graphs, like the number of spanning trees or acyclic orientations, it is not so straightforward to compute the whole Tutte polynomial of complete graphs; many researches, however, have tried with different amounts of success. The amount of frustration after failing to compute this seemingly innocuous invariant of many of our colleagues was our original motivation for writing this survey paper.
Using the exponential formula, see Stanley [42], we can give an exponential generating function for the Tutte polynomial of the complete graphs. Let us denote the vertices of K n by V and by B n its bad-colouring. To compute B n , observe that any λ-colouring partitions the vertices V into λ color classes of subsets V i of vertices each of cardinality n i , for i = 1 . . . λ. So, we have that n 1 + . . . + n λ = n. The number of bad edges with both ends in the set V i is t ( n i 2 ) . Thus, by the exponential formula we get the following formula Now, we can use equation (24) to get Let T n (x, y) be the Tutte polynomial of K n . Tutte in [46] and Welsh in [48] give the following exponential generating function for T n (x, y) that follows from the previous equation and equation (22).
Even that the previous formulas seem difficult to handle, equation (27) it is quite easy to use in Maple or Mathematica. For example, the following program in Maple can compute T 30 (x, y) in no time.

Complete bipartite graphs
It is just natural to use this technique for complete bipartite graphs K n,m with similar results as above. This time let the vertex set be V 1 ∪ V 2 and denote by B n,m its bad-colouring polynomial. To compute B n,m , observe that any λ-colouring partitioned the vertices in subsets V each of cardinality n i m i . The number of the bad edges with both ends colour i is n i m i . Thus, by the exponential formula we get the following.
Thus, a formula for the Tutte polynomial of the bipartite complete graph can be found in a similar way as before. Let T n,m (x, y) be the Tutte polynomial of K n,m . The following formula is from Stanley's book [42], see also [30]   (n,m)∈N 2 As before, equation (29) is quite easy to use in Maple to compute T n,m (x, y) for small values of n and m. In this way we get the following. T 3,3 (x, y) = x 5 + 4 x 4 + 10 x 3 + 9 x 2 y + 11 x 2 + 6 xy 2 + 15 xy + 5 x + y 4 + 5 y 3 + 9 y 2 + 5 y.
Projective geometries and affine geometries The role played by complete graphs in graphic matroids is taken by projective geometries in representable matroids. Herein lies the importance of projective geometries. Even though a formula for their Tutte polynomial has been known for a while, and has been discovered at least twice, not much work has been done in the actual combinatorial interpretations for the value of the different evaluations of the Tutte polynomial. For this part we follow Mphako [34], see also [3]. For all non-negative integers m and k we define the Gaussian coefficients as Note that m 0 q = 1 since by convention an empty product is 1 and 0 k q = 0. Let P G(r − 1, q) be the (r − 1) dimensional projective geometry over GF (q). Then, as a matroid, it has rank r and r 1 q elements. Also, every rank-k flat X is isomorphic to P G(k − 1, q) and the simplification of M/X is isomorphic to P G(r − k − 1, q). The number of rank-k flats is r k q . The characteristic polynomial of P G(r − 1, q) is known to be, see [16], Thus, using equation (20) we get The matroid P G(2, 3), has a geometric representation given in Figure 6, and it is isomorphic to the unique Steiner system S(2, 4, 13). The matroid is paving but not sparse paving and has the following representation over GF (3). To compute its Tutte polynomial we could use the program in [2] or use the above formula to get Finally the Tutte polynomial of P G(2, 3) is obtained from the coboundary by a substitution λ = (x − 1)(y − 1) and t = y and by multiplying by the factor 1/(y − 1) 3 T P G(2,3) (x, y) = x 3 + 10x 2 + 13xy 2 + 26xy + 16x + 16y + 32y 2 + 36y 3 +28y 4 + 21y 5 + 15y 6 + 10y 7 + 6y 8 + 3y 9 + y 10 .
Every time we have a projective geometry P G(r−1, q) we can get an affine geometry, AG(r − 1, q), simply by deleting all the points in a hyperplane of P G(r − 1, q). For example, by deleting all the red points from P G(2, 3) in Figure 6 we get AG(2, 3) with geometric representation in Figure 7.
The situation to compute the Tutte polynomial is very similar for the r-dimensional affine geometry over GF (q), AG(r, q). It has rank r + 1 and q r elements. Any flat of X rank k + 1 is isomorphic to AG(k, q) and the simplification of AG(r, q)/X is isomorphic to P G(r − k − 1, q). The number of rank-k flats is q r−k r k q . The characteristic polynomial of AG(r, q) is known to be, see [16], Now, using the result of Mphako we can compute the coboundary polynomial of AG(r, q).
The affine plane AG(2, 3) is isomorphic to the unique Steiner triple system S(2, 3,9), as every line contains exactly 3 points and every pair of points is in exactly one line. S(2, 3, 9) is a sparse paving matroid with 12 circuithyperplanes so by using equation (5) we could compute its Tutte polynomial. However, we use the above formula to obtain the same result.

Transfer-matrix method
Using formula (1) quickly becomes prohibitive as the number of states grow exponentially with the size of the matroid. You can get around this problem when you have a family of graphs that are constructed using a simple graph that you repeat in a path-like fashion; the bookkeeping of the contribution of each state can be done with a matrix, the update can be done by matrix multiplication after the graph grows a little more. This is the essence of our second method.
The theoretical background of the transfer-matrix method, taken from [41], is described below.
A directed graph or digraph G is a triple (V, E, φ), where V = {v 1 , . . . , v p } is a set of vertices, E is a finite set of directed edges or arcs, and φ is a map from E to V × V . If φ(e) = (u, v), then e is called an edge from u to v, with initial vertex u and final vertex v. A directed walk Γ in G of length n from u to v is a sequence e 1 , . . . , e n of n edges such that the final vertex of e i is the initial vertex of e i+1 , for 1 ≤ i ≤ n − 1. Now let w : E → R be a weight function on E with values in some commutative ring R. If Γ = e 1 , . . . , e n is a walk, then the weight of Γ is defined by w(Γ) = w(e 1 ) · · · w(e n ). For 1 ≤ i, j ≤ p and n ∈ N, we define where the sum is over all walks Γ in G of length n from v i to v j . In particular, A i,j (0) = δ ij . The fundamental problem treated by the transfer-matrix method is the evaluation of A i,j (n). The idea is to interpret A i,j (n) as an entry in a certain matrix. Define a p × p matrix D = (D i,j ) by where the sum is over all edges e satisfying that its initial vertex is v i and its final vertex is v j . In other words, D i,j = A i,j (1). The matrix D is called the adjacency matrix of G, with respect to the weight function w.
Theorem 3.4. Let n ∈ N. Then the (i, j)-entry of D n is equal to A i,j (n).
Here we define D 0 = I p even if D is not invertible, where I p is the identity matrix.

Rectangular lattice again
The transfer-matrix method gives us another way to compute T Lm,n (x, y) for a fixed width m at point (x,y) which is described in Calkin et. al. [17]. In this case we have the same restriction as before, a fixed width m for small values of m, but it has the advantage of being easily automatized.
where X m , a vector of length c m , and Λ m , a c m × c m matrix, depend on x,y and m but not n. And 1 is the vector of length c m with all entries equal to 1.
The quantity c m is the m-th Catalan number, so the method is just practical for small values of m. Computing the vectors X m and the matrix Λ m can be easily done in a computer.

Wheels and whirls
The transfer matrix method takes a nice turn when combined with the physics idea of boundary conditions. In this case more lineal algebra is required but the method is still suitable to use in a computer algebra package. A well-know family of self-dual graphs are wheel graphs, W n . The graph W n has n + 1 vertices and 2n edges, see Figure 8. The rim of the wheel graph W n is a circuit-hyperplane of the corresponding graphic matroid, the relaxation of this circuit-hyperplane gives the matroid W n , the whirl matroid on n elements. In [19], S.-C. Chang and R. Shrock using results from [39] compute the Tutte polynomial of W n . From this expression is easy to compute an expression for the Tutte polynomial of whirls using equation (4).
Now, the way S.-C. Chang and R. Shrock compute T Wn (x, y) is by using the Potts model partition function together with the transfer matrix method. Remarkably, the Tutte polynomial and the Potts model partition function are equivalent. But rather than defining the Potts model we invite the reader to check the surveys in [49,4]. Here we show how to do the computation using the coboundary polynomial and the transfer method.
Let us compute the bad colouring polynomial for W n when we have 3 colours. For this we define the 3 × 3 matrix D 3 .
The idea is that the entry ij of the matrix (D 3 ) n = D n 3 will contain all the contributions of bad edges to the bad colouring polynomial for all the colourings σ, with σ(h) = 1, σ(1) = i and σ(n) = j for the fan graph F n , that is obtained from W n by deleting one edge from the rim. Then, to get the bad-colouring polynomial of F n we just add all the entries in D n 3 and multiply by λ = 3. To get the bad-colouring polynomial of W n we take the trace of D n 3 and multiply by λ = 3. This works because, by taking the trace you are considering just colourings with the same initial and final configuration, that is you are placing periodic boundary conditions. Thus, for example, the trace in D 3 3 is t 6 + 8t 3 + 6t 2 + 12t, so B W 3 (3, t) = 3t 6 + 24t 3 + 18t 2 + 36t. By computing the eigenvalues of D 3 we obtain the bad colouring polynomial of W n with λ = 3.
For arbitrary λ we need to compute the eigenvalues of the matrix of λ × λ given below  The eigenvalues of the matrix are each with multiplicity 1 and e 3 = (t − 1) with multiplicity λ − 2. Thus the bad colouring polynomial of W n is λ(e n 1 + e n 2 + (λ − 2)e n 3 ). To get formula (36) we just need to make the corresponding change of variables as seen at the beginning of the previous section.
Other examples that were computed by using this technique include Möbius strips, cycle strips and homogeneous clan graphs. For the corresponding formulas you can check [39,18,19,20,21].

Splitting the problem: 1, 2 and 3-sums
Our last technique is based on the recurrent idea of splitting a problem that otherwise may be too big. The notion of connectedness in matroid theory offers a natural setting for our purposes, but we do not explain this theory here and we direct the reader to the book of Oxley [37] for such a subject. Also, for 1, 2 and 3-sums of binary matroids the book of Truemper [43] is the best reference. Directly from (1) it follows that the Tutte polynomial of the 1-sum is given by

2-sum
Let M 1 = (E 1 , I 1 ) and M 2 = (E 2 , I 2 ) be matroids with E 1 ∩ E 2 = {p}. If p is not a loop or an isthmus in M 1 or M 2 , then the 2-sum M 1 ⊕ 2 M 2 of M 1 and M 2 is the matroid on E 1 ∪ E 2 \ {p} whose collection of independent sets is {I 1 ∪ I 2 : I 1 ∈ I 1 , I 2 ∈ I 2 , and either I 1 ∪ {p} ∈ I 1 or I 2 ∪ {p} ∈ I 2 } In [1], [12] and [37], we find recursive formulas for computing the Tutte polynomial of the matroid M 1 ⊕ 2 M 2 , in term of the matroids M 1 and M 2 . Here we present the formula given in [1] for T M 1 ⊕ 2 M 2 (x, y).
where here we omit the variables x, y of each Tutte polynomial to avoid a cumbersome notation.

3-sum
The best known variant of a 3-sum of two matroids is called ∆-sum, see [43]. For 3-conected matroids M 1 and M 2 , the ∆-sum is usually denoted M = M 1 ⊕ ∆ 3 M 2 . When M 1 and M 2 are graphic matroids with corresponding graphs being G 1 and G 2 , the graph G = G 1 ⊕ ∆ 3 G 2 is obtained by identifying a triangle of T 1 of G 1 with a triangle T 2 of G 2 into a triangle T , called the connector triangle. Finally, G is obtained by deleting the edges in the connector triangle.
Here, we present a formula to compute the Tutte polynomial of the ∆sum of M 1 and M 2 , in terms of the Tutte polynomial of certain minors of the original matroids. The expression for T M 1 ⊕ ∆ 3 M 2 (x, y) was taken from [1] and its proof is based on the concept of bipointed matroids that is an extension of the pointed matroid introduced by Brylawski in [12]. Also, the work in [1] is more general as the author gives an expresion for the Tutte polynomial of a certain type of general parallel connection of two matroids.
Let M 1 and M 2 be two matroids defined on E 1 and E 2 , respectively. Let T be equal to E 1 ∩ E 2 = {p, s, q}, a 3-circuit and N = M 1 |T = M 2 |T . We requiere that in M 1 there exist circuits U 1 ∪{s} with U 1 ⊆ E 1 \T and U 2 ∪{p} with U 2 ⊆ E 1 \ T ; similarly, we need that in M 2 there exist circuits For i = 1, 2, ..., 5, we consider the following 5 minors Q i of M 1 , on E 1 \ T , and 5 minors P i of M 2 , on E 2 \ T .
We take the vectors over Z[x, y]: again here we omit the variables x, y of each Tutte polynomial to avoid a cumbersome notation.
Finally, the formula for the 3-sum (∆-sum) of M 1 and M 2 , it is as follows.
where the matrix , C is given by: As an example let us take F 8 that is the 3-sum of F 7 and F − 7 along a 3-circuit. In this case we have for F 7 the following table, where in the first column we present the 5 minors we need, then the second column has the corresponding matroid, and the third column has the corresponding Tutte polynomial of that matroid.
There is a general concept of k − sum for matroids and a formula exists for this general notion, however the formula is quit intricate, so we refer the reader to the original paper of Bonin and de Mier in [8].
Thickening, stretch and tensor product Given a matroid M and a positive integer k, the matroid M (k) is the matroid obtained from M by replacing each non-loop element by k parallel elements and replacing each loop by k loops. The matroid M (k) is called the k-thickening of M . In [16] the following formula is given for the Tutte polynomial of M (k) in terms of that of M .
A proof by using the recipe theorem can be read in the aforementioned reference. Here we hint a simple proof by noticing that any flat of M (k) is the k-thickening of a flat of M . Thus, by equation (20) χM (k) (q, t) =χM (q, t k ).
And thus, by using equations (23) and (22) we obtained the formula.
The dual operation to k-thickening is that of k-stretch that is defined similarly. The matroid M (k) is the matroid obtained by replacing each nonisthmus of M by k elements in series and replacing each isthmus by k isthmuses. The matroid M (k) is called the k-stretch. It is not difficult to prove that M (k) ∼ = ((M * ) (k) ) * and so, we obtained the corresponding formula for T M (k) .
More generally we have the following operation called the tensor product. A pointed matroid N d is a matroid on a ground set which includes a distinguished element, the point d, which will be assumed to be neither a where f = f (x, y) and g = g(x, y) are polynomials which are determined by the equations The proof of the formula uses a generalization of the recipe theorem to pointed matroids and can be found in [15], here we follow the exposition in [16,27]. Observe that when a matroid N has a transitive automorphism group the choice of the distinguished point d is immaterial. Thus, if N is U k,k+1 , k ≥ 1, we get the k-stretch and if N is U 1,k+1 , k ≥ 1, we get the k-thickening.

Aplication: Small matroids
Let us put these techniques in practice and compute some Tutte polynomials for matroids with a small number of elements, these are matroids from the appendix in Oxley's book [37]. We will try, whenever possible, to check the result by using two techniques. Soon, the reader will realize that a fair amount of the matroids considered are sparse paving and that computing the Tutte polynomial for them is quite easy.
Matroid U 2,4 The Tutte polynomial of the uniform matroid U 2,4 can be computed using equation (3).
Of course, the above polynomial can be checked using (36). The only relaxation of M (W 3 ) is the 3-whirl W 3 , so by using (4) we obtain its Tutte polynomial. This can be checked by using (37).
The matrix that represents P 7 over a field different from GF (2) is Taking a = 2 we have a representation of P 7 over GF (3), see [37]. Thus, the above calculation of the Tutte polynomial can be checked using the computer program in [2].
The matroid P 8 is also sparse paving and its representation over GF (3) is as below,  Thus, its Tutte polynomial can be computed using either (5) or the program in [2], and you get as a result the following polynomial.
Note, however, that this matroid is paving, so we could have used Proposition 2.8 to get the same result.

Matroids S 8 , T 8 and J
The matroid S 8 has a geometric representation shown in Figure 21 together with its representation over GF (2). Its Tutte polynomial can be computed using the program in [2].
T S 8 (x, y) = x 4 +4x 3 +7x 2 +4x+10xy +3xy 2 +3x 2 y +4y +7y 2 +4y 3 +y 4 . (52) Note that the matroid is self-dual but is not paving as it has a 3-circuit. However, we can check the above computation using deletion and contraction. When we contract the forth column in the representation we obtain the representation of F 7 , and we have already computed the Tutte polynomial of this matroid. Now, when we delete the same element, we obtain a rank 4 graphic matroid. The graph is K 2,4 with an edge contracted. If we call this graph H, by using (7) we obtain T H = T K 2,4 − y T K 2,3 . These polynomial can be computed either using the general method for complete bipartite graphs given in (30) or by using the formula for computing the Tutte polynomial of the 2-stretching of the graphs with two and three parallel edges respectively, given in (41). In both cases, we get T H = x 4 + 3x 3 + 3x 2 + x + 3xy + 3x 2 y + 3xy 2 + y + y 2 + y 3 .
By adding (53) and (48) we get (52) The matroid T 8 is representable over a field F if and only if the characteristic is 3. We show its geometric representation in Figure 22. A representation , where J 4 is the matrix of 1's. This matroid is self-dual and sparse paving so its Tutte polynomial is T T 8 (x, y) = x 4 + 4x 3 + 10x 2 + 9x + 11xy + 9y + 10y 2 + 4y 3 + y 4 . In Figure 23 we show the geometric representation of the matroid J. It is a self-dual matroid that is not paving, as it has a 3-circuit, and its representation over GF (3) is T J (x, y) = x 4 + 4x 3 + 7x 2 + 6x + 3x 2 y + 3xy 2 + 8xy + 6y + 7y 2 + 4y 3 + y 4 . This computation can be checked by, for example, contracting the element labelled 2 to obtain the graphic matroid of the graph that is the 2-stretching of C 4 minus an edge. Now, the matroid J \ 2 is sparse paving and contains 5 circuit-hyperplanes. By adding the Tutte polynomial of these two matroids you get the same result as above.
Another important regular matroid that is neither graphic or cographic is R 12 , which has a matrix representation over GF (2) given by As this matroid is not paving we use the program in [2] to compute its Tutte polynomial.