Grafos PDF
Grafos PDF
W. David Joyner
Caroline Grant Melles
Adventures
in Graph
Theory
Applied and Numerical Harmonic Analysis
Series Editor
John J. Benedetto
University of Maryland
College Park, MD, USA
Jelena Kovačević
Carnegie Mellon University
Pittsburgh, PA, USA
Adventures in Graph
Theory
W. David Joyner Caroline Grant Melles
Department of Mathematics Department of Mathematics
United States Naval Academy United States Naval Academy
Annapolis, MA Annapolis, MA
USA USA
The Applied and Numerical Harmonic Analysis (ANHA) book series aims
to provide the engineering, mathematical, and scientific communities with
significant developments in harmonic analysis, ranging from abstract har-
monic analysis to basic applications. The title of the series reflects the
importance of applications and numerical implementation, but richness and
relevance of applications and implementation depend fundamentally on the
structure and depth of theoretical underpinnings. Thus, from our point of
view, the interleaving of theory and applications and their creative symbiotic
evolution is axiomatic.
Harmonic analysis is a wellspring of ideas and applicability that has
flourished, developed, and deepened over time within many disciplines and by
means of creative cross-fertilization with diverse areas. The intricate and
fundamental relationship between harmonic analysis and fields such as signal
processing, partial differential equations (PDEs), and image processing is
reflected in our state-of-the-art ANHA series.
Our vision of modern harmonic analysis includes mathematical areas such
as wavelet theory, Banach algebras, classical Fourier analysis, time–fre-
quency analysis, and fractal geometry, as well as the diverse topics that
impinge on them.
For example, wavelet theory can be considered an appropriate tool to deal
with some basic problems in digital signal processing, speech and image
processing, geophysics, pattern recognition, biomedical engineering, and
turbulence. These areas implement the latest technology from sampling
methods on surfaces to fast algorithms and computer vision methods. The
underlying mathematics of wavelet theory depends not only on classical
Fourier analysis, but also on ideas from abstract harmonic analysis, including
von Neumann algebras and the affine group. This leads to a study of the
Heisenberg group and its relationship to Gabor systems, and of the meta-
plectic group for a meaningful interaction of signal decomposition methods.
The unifying influence of wavelet theory in the aforementioned topics illus-
trates the justification for providing a means for centralizing and
vii
viii ANHA Series Preface
disseminating information from the broader, but still focused, area of har-
monic analysis. This will be a key role of ANHA. We intend to publish with
the scope and interaction that such a host of issues demands.
Along with our commitment to publish mathematically significant works
at the frontiers of harmonic analysis, we have a comparably strong com-
mitment to publish major advances in the following applicable topics in
which harmonic analysis plays a substantial role:
The above point of view for the ANHA book series is inspired by the
history of Fourier analysis itself, whose tentacles reach into so many fields.
In the last two centuries, Fourier analysis has had a major impact on the
development of mathematics, on the understanding of many engineering and
scientific phenomena, and on the solution of some of the most important
problems in mathematics and the sciences. Historically, Fourier series were
developed in the analysis of some of the classical PDEs of mathematical
physics; these series were used to solve such equations. In order to understand
Fourier series and the kinds of solutions they could represent, some of the
most basic notions of analysis were defined, e.g., the concept of “function.”
Since the coefficients of Fourier series are integrals, it is no surprise that
Riemann integrals were conceived to deal with uniqueness properties of
trigonometric series. Cantor’s set theory was also developed because of such
uniqueness questions.
A basic problem in Fourier analysis is to show how complicated phe-
nomena, such as sound waves, can be described in terms of elementary har-
monics. There are two aspects of this problem: first, to find, or even define
properly, the harmonics or spectrum of a given phenomenon, e.g., the spec-
troscopy problem in optics; second, to determine which phenomena can be
constructed from given classes of harmonics, as done, for example, by the
mechanical synthesizers in tidal analysis.
Fourier analysis is also the natural setting for many other problems in
engineering, mathematics, and the sciences. For example, Wiener’s
Tauberian theorem in Fourier analysis not only characterizes the behavior
of the prime numbers, but also provides the proper notion of spectrum for
phenomena such as white light; this latter process leads to the Fourier
analysis associated with correlation functions in filtering and prediction
ANHA Series Preface ix
problems, and these problems, in turn, deal naturally with Hardy spaces in
the theory of complex variables.
Nowadays, some of the theory of PDEs has given way to the study of
Fourier integral operators. Problems in antenna theory are studied in terms
of unimodular trigonometric polynomials. Applications of Fourier analysis
abound in signal processing, whether with the fast Fourier transform (FFT),
or filter design, or the adaptive modeling inherent in time-frequency-scale
methods such as wavelet theory. The coherent states of mathematical physics
are translated and modulated Fourier transforms, and these are used, in
conjunction with the uncertainty principle, for dealing with signal recon-
struction in communications theory. We are back to the raison d’^etre of the
ANHA series!
E ¼ fe1 ; e2 ; . . .; em g;
V ¼ fv1 ; v2 ; . . .; vn g;
let
C0 ðC; CÞ ¼ ff j f : V ! Cg;
and let
C 1 ðC; CÞ ¼ ff j f : E ! Cg;
where C denotes the field of complex numbers. We can identify C0 ðC; CÞ with
the vector space Cn via the map f 7! ðf ðv1 Þ; f ðv2 Þ; . . .; f ðvn ÞÞ. We can identify
C 1 ðC; CÞ with the vector space Cm via the map f 7! ðf ðe1 Þ; f ðe2 Þ; . . .; f ðem ÞÞ.
The goal this book is to illustrate and explore connections between graph
theory and diverse fields of mathematics such as
• calculus on manifolds,
• group theory,
• algebraic curves,
• Fourier analysis,
• cryptography,
and other areas of combinatorics.
xi
xii Preface
f ða þ eÞ f ðaÞ
f 0 ðaÞ ¼ lim ; a 2 R:
e!0 e
In this case and for the usual definition from calculus, we look at a difference
of values of f at nearby points.
If f 2 C 0 ðC; CÞ is identified with the column vector
0 1
f ðv1 Þ
B f ðv2 Þ C
B C
B C
f ¼ B ... C;
~
B C
@ f ðvn Þ A
(By the way, this matrix is the transpose of the incidence matrix, and will be
studied in more detail in later chapters.)
Preface xiii
If we think of two edges as “nearby” if they share a vertex then this definition
also is a difference of values of the function at nearby points.
If the edges and vertices are labeled as before, and if g 2 C 1 ðC; CÞ is
identified with the column vector
0 1
gðe1 Þ
B gðe2 Þ C
B C
B C
g ¼ B ... C;
~
B C
@ gðem Þ A
Notice that Mi;j ¼ Bj;i . In other words, one is the transpose matrix of the
other, B ¼ M t . The two definitions which seemed so different are in fact in
some sense dual to one another.
In x3.3 we introduce the notion of a graph morphism / : C2 ! C1 between
connected graphs C2 and C1 , whose distinguishing property is that it must
behave well with respect to the corresponding incidence matrices B2 and B1 .
For example, in x3.3.3 we show that Bt2 UV ¼ UE Bt1 , where UV is a matrix
describing the vertex map of /, with rows indexed by vertices of C2 and
columns indexed by vertices of C1 , and UE is a matrix describing the edge
map of /, with rows indexed by edges of C2 and columns indexed by edges
of C1 .
1
Cayley, 1821–1895, worked for 14 years as a lawyer before his election to the Sadleirian
Professorship at Cambridge University.
xiv Preface
G ¼ hg1 ; g2 ; . . .; gn i SX ;
whose vertices V are the elements of G and whose edges are determined by the
following condition: if x and y are vertices in V ¼ G then there is an edge
e ¼ ðx; yÞ from x to y in C if and only if y ¼ gi x, for some i ¼ 1; 2; . . .; n.
Cayley graphs encode group-theoretic information about G, as the fol-
lowing example shows.
Example. The Cayley graph of the Rubik’s cube group. Let
G ¼ hR; L; U; D; F; Bi S54
The associated Cayley graph CQT ¼ CayðG; SÞ is called the Cayley graph
of the cube in the quarter-turn metric. Each position of the cube corresponds
to a unique element of the group G (i.e., the move you had to make to get to
that position), hence to a unique vertex of the Cayley graph. Note each vertex
of this graph has degree 12.
Let
The associated Cayley graph CFT ¼ CayðG; SÞ is called the Cayley graph
of the cube in the faceturn metric.
Moreover, a solution of the Rubik’s cube is simply a path in the graph from
the vertex associated to the present position of the cube to the vertex asso-
ciated to the identity element. The number of moves in the shortest possible
solution is simply the distance from the vertex associated to the present
position of the cube to the vertex associated to the identity element. The
Preface xv
diameter of the Cayley graph of G is the number of moves in the best possible
solution in the worst possible case.
Thanks to years of hard work, led by computer scientist Tomas Rokicki,
the diameter of CQT is now known to be 26, and the diameter of CFT is now
known to be 20 [J15].
Graph theory and algebraic curves
There are a number of analogies between graphs and algebraic curves over a
finite field. Each has a notion of a genus, there are harmonic mappings
between graphs and between curves, each has a Picard group, each has a zeta
function, and so on. Several sections in this book explore this connection, for
example, x1.2.2, x1.2.3, and Chapter 3.
Let X be a smooth projective curve over an algebraically closed field F. Let
FðXÞ denote the function field of X (the field of rational functions on X) and
FðXÞ ¼ FðXÞ f0g its group of units. If D is any divisor on X (i.e., a formal
sum of points in X) then the Riemann–Roch space LðDÞ is a finite dimen-
sional F-vector space given by
where K denotes a canonical divisor, degðDÞ the degree of D, and g the genus
of X.
There is an analogous Riemann–Roch theorem for graphs as well. The
graph-theoretic analog is described in Chapter 3, “Graphs as Manifolds,”
below.
A finite graph has a Jacobian group, analogous to the Jacobian (abelian)
variety of an algebraic curve (see x4.6). The Jacobian group, also called the
critical group, has cardinality equal to the number of spanning trees of the
graph (see Proposition 4.9.15 and Corollary 4.9.16).
In algebraic geometry, one studies nice maps between varieties that induce
maps on certain structures on the varieties. What is the graph-theoretic
analog of a nice map between algebraic curves? This is a harmonic morphism
of graphs (see x3.3.2), which induces a surjective pushforward map and an
injective pullback map of the corresponding Jacobian groups (see x4.8).
What is the graph-theoretic analog of the zeta function (see [La70]) of an
algebraic curve over a finite field? One analog is the Duursma zeta function of
a graph discussed in x1.2.3 below.
xvi Preface
X
1
npxi
FSðf ÞðxÞ ¼ an exp ;
n¼1
L
2
Physics was not Fourier’s only profession. Indeed, Napoleon selected Fourier to be his
scientific advisor during France’s invasion of Egypt in the late 1700s, where he oversaw
some large construction projects, such as highways and bridges. During this time, Fourier
developed the theory of trigonometric series (now called Fourier series) to solve the heat
equation.
3
These formulas were not known to Fourier. To compute the Fourier coefficients he used
sometimes ingenious roundabout methods involving large systems of equations.
Preface xvii
This is a complex vector space which we can identify with the vector space
Cn via the map f 7! ðf ð0Þ; f ð1Þ; . . .; f ðn 1ÞÞ:
Let f ¼ fn ¼ e2pi=n denote an nth root of unity in C. Recall, for g 2 C0 ðC; CÞ,
the discrete Fourier transform of g is the function F n g 2 C 0 ðC; CÞ (also
written g^ ) defined by
X
ðF n gÞðkÞ ¼ g^ ðkÞ ¼ gð‘Þf‘k ; k 2 Z=nZ:
‘2Z=nZ
1 X
ðF 1 _
n GÞð‘Þ ¼ G ð‘Þ ¼ GðkÞf‘k ; ‘ 2 Z=nZ:
n k2Z=nZ
suppðf Þ ¼ fv 2 V j f ðvÞ 6¼ 0g
g : f 7! f g ;
where
It preserves the subspaces of (a) affine functions, (b) even functions, and
(c) functions for which f ð0Þ ¼ 0.
Let p be a prime. A general feedback shift register is a map
C : GFðpÞd ! GFðpÞ;
x ¼ x0 ; . . .; xn ; . . . ;
yi ¼ Fðxid ; . . .; xi1 Þ;
where f ¼ e2pi=p :
The Walsh transform of an affine function is a “spike” (supported at a
single vector).
We call f bent if
for all u 2 V. In some sense, bent functions are maximally nonlinear. Bent
functions are good filter functions (F above).
Preface xix
f ¼ f1 þ . . . þ fk ;
and let C be the Cayley graph of f . In other words, the vertices of C are the
vectors in GFð2Þn , and e ¼ ðv; wÞ 2 GFð2Þn GFð2Þn is an edge if and only if
f ðv wÞ 6¼ 0. The code C corresponds in a natural way to the connected
component of C containing the 0-vector. This is a k-regular, distance-regular
graph.
There is a similar construction where we replace the rows of G by the
columns of G, but we must assume that the columns don’t contain the
0-vector. See x6.15 below for more details.
Note on using Sage: Some Sage commands used in this book use modules
written for this book and uploaded to the github site for this book (https://
github.com/springer-math/adventures-in-graph-theory).
Acknowledgments
We thank our friend and colleague T. S. Michael (who was diagnosed with
pancreatic cancer and sadly passed away during the writing of this book),
Amy Ksir, David Phillips, Charles Celerier, and Steven Walsh for their
conversations and help.
xxi
Contents
xxiii
xxiv Contents
Definition 1.1.1. For any set S, let S (2) = {{s, t} | s, t ∈ S, s = t}, i.e., S (2)
is the set of unordered pairs of distinct elements of S. An undirected simple
graph Γ = (V, E) is an ordered pair of sets, where V is a set of vertices
(possibly with weights attached) and E ⊆ V (2) is a set of edges (possibly
with weights attached)1 . We refer to V = VΓ as the vertex set of Γ, and
E = EΓ as the edge set.
A subgraph of Γ = (V, E) is a graph Γ = (V , E ) formed from subsets
V ⊂ V and E ⊂ E such that V includes the endpoints of each e ∈ E .
1 When there is no ambiguity, we will abuse notation and write (u, v) ∈ V (2) or uv ∈ V (2)
if {u, v} ∈ V (2) , when the meaning is clear.
c Springer International Publishing AG 2017 1
W.D. Joyner and C.G. Melles, Adventures in Graph Theory,
Applied and Numerical Harmonic Analysis,
https://doi.org/10.1007/978-3-319-68383-6 1
2 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS
Remark 1.1.3. A loop is an edge of the form (v, v), for some v ∈ V . Unless
stated otherwise, none of the graphs in this book will have loops. A graph
with no multiple edges or loops is called a simple graph.
Unless stated otherwise, we will assume that both the vertex set V and
the edge set E are finite sets.
Let Γ be a graph. The cardinality |V | of the vertex set V is called the
order of Γ, and the cardinality |E| of the edge set E is called the size of Γ.
genus(Γ) = |E| − |V | + 1.
Example 1.1.6. The graph with n vertices and an edge connecting each
pair of vertices is called the complete graph on n vertices and denoted Kn .
The graph K4 is also called the tetrahedron graph and is shown in Figure 1.1.
It has genus 3.
Example 1.1.7. The graph obtained from K4 by removing one edge is called
the diamond graph and is shown in Figure 1.2. It has genus 2.
2 This is not the usual definition of genus: the minimal integer n such that the graph can
Example 1.1.10. A graph consisting of two vertices and n > 1 edges con-
necting the vertices is called a banana graph or dipole graph of order n. It has
genus n − 1. The case n = 3 is also called a theta graph. A banana graph with
4 edges is shown in Figure 1.5.
There are various ways to describe a graph. For example, a simple graph
Γ can be described using the vertices
V = VΓ = {0, 1, 2, . . . , n − 1},
1.1 GRAPH THEORY 5
The degree sequence of Γ = (V, E) is the sequence of degrees, one for each
vertex vi = i ∈ V : [d0 , d1 , . . . , dn−1 ], where di = degΓ (i).
A graph with edge weights, that is to say a function wt : E → R+ , is called
a weighted graph or an edge-weighted graph. In the weighted case, the degree
sometimes includes the weights:
degΓ,wt (j) = wt(e).
e∈E, j∈e
This lemma defines cyc(T, e), a so-called fundamental cycle. For a proof,
see Biggs, Lemma 5.1 in [Bi93].
If Γ is a connected edge-weighted graph, where edge e ∈ E has weight
w(e) ∈ R+ , then the edge-weighted length of a walk W ⊂ E is
len(W ) = w(e).
e∈W
When the edge weight function is always 1, then we get the usual length.
In that case, we define the distance between two neighboring vertices to be
dist(u, v) = 1, if (u, v) ∈ E. In general, the distance between u, v ∈ V is
defined by
minW len(W ), u = v,
dist(u, v) =
0, u = v,
Example 1.1.12. For example, the girth of the Rubik’s cube graph in the
quarter turn metric ΓQT (see the Example in the Preface) is 4, while the
radius is 26.
A bijection p : V → V of the vertices which induces a bijection of the
edges P : E → E is called an automorphism of Γ = (V, E). The group of
automorphisms of Γ is denoted as Aut(Γ).
If G ⊂ Aut(Γ) is a subgroup, then we say G acts transitively on Γ if for
any two v, w ∈ V , there is a g ∈ G such that w = g(v).
We say Γ = (V, E) is a distance-transitive graph provided, given any v, w ∈
V at any distance i, and any other two vertices x and y at the same distance,
there is an automorphism of Γ sending v to x and w to y.
We say Γ is a distance-regular graph, provided it is a regular graph such
that, for any v, w ∈ V , the number of vertices at distance j from v, |{x ∈
V | dist(v, x) = j}|, and at distance k from w, |{x ∈ V | dist(w, x) = k}|,
depends only upon j, k, and i = dist(v, w).
Recall a connected graph is one for which, given any distinct vertices u, v,
there is a walk in the graph connecting u to v. A connected component of
1.1 GRAPH THEORY 7
V = GF (2)n ,
f (x0 , x1 , x2 , x3 ) = x0 x1 x2 x3 + x0 x1 x2 + x1 x2 x3 + x0 x1 + x0 x2 .
A walk with no repeated vertices (except possibly the beginning and ending
vertices, if they are the same) is called a path. A walk with no repeated edges is
8 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS
called a trail. Clearly a path is a trail, but the converse is not true in general.
If there are n = |V | vertices, then no path can have length more than n.
A path of length n is called a Hamiltonian path and a graph which has a
Hamiltonian path is called traceable. A path whose start and end vertices are
the same is called a simple cycle. An Eulerian cycle is a trail whose start and
end vertices are the same which visits every edge exactly once. A cycle of
length n is called a Hamiltonian cycle. A graph which has an Eulerian cycle
is called an Eulerian graph and a graph which has a Hamiltonian cycle is
called a Hamiltonian graph.
Let Γ = (V, E) be an undirected simple graph. If m = |V |, then the
adjacency matrix A = AΓ is the m × m matrix with entries aij given by
1, {i, j} ∈ E,
aij =
0, otherwise.
Note that the diagonal entries aii are 0 (no loops). If Γ is an undirected edge-
weighted graph,3 the weighted adjacency matrix AΓ,w is the m × m matrix
whose ij-th entry is the weight of the edge from i to j. The adjacency matrix
of an undirected graph is symmetric.
We say f is a map from the graph Γ2 = (V2 , E2 ) to the graph Γ1 = (V1 , E1 ),
denoted f : Γ2 → Γ1 , if f is associated to a map fV : V2 → V1 which satisfies
the edge-preservation condition:
AΓ2 = P −1 AΓ1 P.
Proof. We may, without loss of generality, identify the vertex sets V2 and V1
with {0, 1, . . . , n − 1}. Suppose f : Γ2 → Γ1 is an isomorphism, so fV : V2 →
V1 may be regarded as a permutation.
If a matrix P ∈ GL(n, Z) satisfies for each n × n matrix M = (mij ),
P −1 M P = (mρ(i),ρ(j) ), for all i, j, for some permutation ρ : Z/nZ → Z/nZ
then P is a permutation matrix. Every permutation matrix arises in this way.
Therefore, AΓ2 = P −1 AΓ1 P , for some P depending on fV .
The converse is left to the reader.
edge-weighted graph Γ whose edge weights are given by the corresponding edge multiplic-
ities of Γ.
1.1 GRAPH THEORY 9
Ek = vk · vkt , k = 1, . . . , n,
n
A= λ j Ei . (1.2)
i=1
Example 1.1.16. Consider the cycle graph Γ having 4 vertices. This can
be visualized as a square. The eigenvalues and eigenvectors of the adjacency
matrix, ⎛ ⎞
0 1 0 1
⎜ 1 0 1 0⎟
A=⎜ ⎝ 0 1 0 1 ⎠,
⎟
1 0 1 0
are easy to compute and the spectral decomposition in (1.2) is easy to verify.
Sage
When there is possible ambiguity, we call the matrix in the former case a
signed incidence matrix and the latter an unsigned incidence matrix.
Exercise 1.2. For the graph Γ in Figure 1.6, solve the following problems.
(a) Find the adjacency matrix A of Γ.
(b) Fix an ordering of the edges and find the corresponding (unsigned)
incidence matrix B of Γ.
(c) Is Γ Hamiltonian? If so, find a Hamiltonian cycle.
(d) Is Γ Eulerian? If so, find an Eulerian trail.
(e) Find the girth of Γ.
(f) Find the diameter of Γ.
Lemma 1.1.18. Let Γ be a graph and B its incidence matrix. The rank of
B is n − c(Γ), where n is the number of vertices of Γ and c(Γ) is its number
of connected components.
C 0 (Γ, F ) = {f : V → F }, C 1 (Γ, F ) = {f : E → F },
1.1 GRAPH THEORY 11
If F is a field, then these are F -inner product spaces with inner product
(f, g) = f (x)g(x), (X = V, respectively X = E), (1.3)
x∈X
and
dim C 0 (Γ, F ) = |V |, dim C 1 (Γ, F ) = |E|.
Index the sets V and E in some arbitrary but fixed way and define, for
1 ≤ i ≤ |V | and 1 ≤ j ≤ |E|,
1, v = vi , 1, e = ej ,
fi (v) = gj (e) =
0, otherwise, 0, otherwise.
Define
B : C 1 (Γ, F ) → C 0 (Γ, F )
by
(Bf )(v) = f (e) − f (e). (1.4)
h(e)=v t(e)=v
With respect to these bases F and G, the matrix representing the linear
transformation B : C 1 (Γ, F ) → C 0 (Γ, F ) is the incidence matrix (we use
B to denote both the linear transformation and its matrix representation).
Since both C 1 (Γ, F ) and C 0 (Γ, F ) are inner product spaces, we may define
the dual transformation B ∗ : C 0 (Γ, F ) → C 1 (Γ, F ) defined by
Example 1.1.21. We use Sage to compute the incidence matrix of the house
graph, depicted in Figure 1.8.
12 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS
Sage
[1 1 0 0 0 0]
[1 0 1 0 0 0]
[0 1 0 1 1 0]
[0 0 1 1 0 1]
[0 0 0 0 1 1]
sage: B.right_kernel()
Exercise 1.3. Verify that the left kernel of a signed incidence matrix of an
oriented connected simple graph is the space of constant functions.
If F is a field and Γ is a graph with orientation ι, then the kernel of the
signed incidence map B = BΓ,ι : C 1 (Γ, F ) → C 0 (Γ, F ) is the cycle space4 ,
Z = ZΓ,ι = ker(B).
Via the natural basis, we may identify the cycle space with a subspace of F m
using the right kernel of the n × m matrix representation of the map B.
As the example below shows, this space does depend on the orientation
selected.
Example 1.1.22. We use Sage to compute the cycle space of the house
graph Γ, depicted in Figure 1.8, for two distinct orientations of Γ.
Sage
while the signed incidence matrix associated to the orientation (1, −1, 1, −1,
1, −1) (see Definition 1.1.4) is
⎛ ⎞
1 −1 0 0 0 0
⎜ −1 0 1 0 0 0 ⎟
⎜ ⎟
B2 = ⎜
⎜ 0 1 0 −1 1 0 ⎟.
⎟
⎝ 0 0 −1 1 0 −1 ⎠
0 0 0 0 −1 1
E = {e1 , e2 , . . . , em },
C
→ C.
E = {e1 = (0, 1), e2 = (0, 2), e3 = (1, 3), e4 = (2, 3), e5 = (2, 4), e6 = (3, 4)},
1.1 GRAPH THEORY 15
Proof. Let C be a cycle in Γ, let ι denote the given orientation, and let B
denote the matrix representation of the oriented incidence map with respect
to the standard basis. For each vertex v of C, there are exactly two edges of
C incident to v. Regarding C as a subgraph of Γ, let C = C(ι)
denote the
associated vector representation as in (1.5). The i-th entry of B C is the dot
product of C with the i-th row of B. The only nonzero entries of i-th row
of B are those entries associated to the edges incident to the i-th vertex of
Γ. Either exactly two of those incident edges are in C or none are. In the
is 0. In the former case, there
latter case, it’s clear that the i-th entry of B C
are two possibilities: either the two incident edges in C are oriented with the
same sign or they aren’t. If they are oriented with the same sign, then either
both these edges go into the i-th vertex of Γ or both these edges go out of the
i-th vertex of Γ. In each of these cases, it’s clear that the i-th entry of B C
is 0. Finally, suppose the two incident edges in C are oriented with opposite
signs. This means one of these edges goes into the i-th vertex and the other
goes out. This implies that both of the corresponding nonzero entries of the
i-th row of B have the same sign, by definition of B. Again, the i-th entry of
BC is 0.
Thus, the vector space spanned by the vector representations of the cycles
is contained in the cycle space.
V = V1 ∪ V2 , Vi = ∅, V1 ∩ V2 = ∅,
{(u, v) ∈ E | u ∈ S, v ∈ T }
16 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS
of edges that have one endpoint in S and the other endpoint in T . A cocycle
with a minimal set5 of edges is a bond of Γ.
E = {e1 , e2 , . . . , em },
where
oi , if ei ∈ E ,
bi = bi (Γ , ι) =
0, if ei ∈ / E.
H
→ H.
B = Z ⊥.
5 In the sense of set theory. So, a bond is a cocycle that does not contain any other cocycle
as a proper subset.
1.1 GRAPH THEORY 17
Example 1.1.27. The cube graph Γ is depicted Figure 1.9. It has incidence
matrix
⎛ ⎞
0 −1 0 0 0 −1 0 −1 0 0 0 0
⎜ 0 0 0 −1 0 1 −1 0 0 0 0 0 ⎟
⎜ ⎟
⎜ −1 1 −1 0 0 0 0 0 0 0 0 0 ⎟
⎜ ⎟
⎜ 1 0 0 1 −1 0 0 0 0 0 0 0 ⎟
B=⎜
⎜
⎟.
⎜ 0 0 0 0 0 0 0 1 0 0 −1 −1 ⎟
⎟
⎜ 0 0 0 0 0 0 1 0 0 −1 0 1 ⎟
⎜ ⎟
⎝ 0 0 1 0 0 0 0 0 −1 0 1 0 ⎠
0 0 0 0 1 0 0 0 1 1 0 0
(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1).
Note that B⊥ = Z.
0 2
4 3
Figure 1.11: An oriented graph with 5 vertices.
Example 1.1.29. Paley graphs are described in detail in §5.17. The Paley
graph Γ having 9 vertices and 18 edges is depicted Figure 1.12. Its adjacency
matrix is
1.1 GRAPH THEORY 19
⎛ ⎞
0 1 1 0 1 0 0 0 1
⎜ 1 0 1 0 0 1 1 0 0 ⎟
⎜ ⎟
⎜ 1 1 0 1 0 0 0 1 0 ⎟
⎜ ⎟
⎜ 0 0 1 0 1 1 0 1 0 ⎟
⎜ ⎟
A=⎜
⎜ 1 0 0 1 0 1 0 0 1 ⎟.
⎟
⎜ 0 1 0 1 1 0 1 0 0 ⎟
⎜ ⎟
⎜ 0 1 0 0 0 1 0 1 1 ⎟
⎜ ⎟
⎝ 0 0 1 1 0 0 1 0 1 ⎠
1 0 0 0 1 0 1 1 0
1 2a+2
2 2a+1
a 2a
a+1 a+2
7 9
0 4
2 6 8 10
1 3 5
Figure 1.13: A graph and a spanning tree for it.
20 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS
• by adding edge 6 to the tree, you get a cycle 4, 5, 6 with vector represen-
tation
g2 = (0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0),
• by adding edge 10 to the tree, you get a cycle 8, 9, 10 with vector repre-
sentation
g3 = (0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1).
7 9
0 4 8
2 6 10
1 3 5
Figure 1.14: A graph and a cocycle of it.
• by removing edge 7 from the graph, you get a cocycle with vector repre-
sentation
b2 = (0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0),
• by removing edges 0, 1 from the graph, you get a cocycle with vector
representation
b3 = (1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0),
• by removing edges 1, 2 from the graph, you get a cocycle with vector
representation
b4 = (0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0),
1.2 SOME POLYNOMIAL INVARIANTS FOR GRAPHS 21
• by removing edges 4, 5 from the graph, you get a cocycle with vector
representation
b5 = (0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0),
• by removing edges 4, 6 from the graph, you get a cocycle with vector
representation
b6 = (0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0),
• by removing edges 8, 9 from the graph, you get a cocycle with vector
representation
b7 = (0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0),
• by removing edges 9, 10 from the graph, you get a cocycle with vector
representation
b8 = (0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1).
Exercise 1.5. Let V = {0, 1, 2, . . . , 10}, and, for all u, v ∈ V , let (u, v) ∈ E
if and only if u < v and v − u is a square (mod 11). Is the undirected graph
Γ = (V, E) connected? What is its order? What is its size?
Exercise 1.6. Find the cycle space of the graph in Figure 1.6.
Exercise 1.7. Find the cocycle space of the graph in Figure 1.6.
Exercise 1.8. Show that the n-cycle graph Cn and the banana graph with
n edges are dual graphs.
Good sources for further reading on basic graph theory are Biggs [Bi93],
Bollobás [Bo98], Godsil and Royle [GR01], and Marcus [Mar08].
r(S) = |V | − c(S).
Thus
RΓ (x − 1, y − 1) = TΓ (x, y).
The Whitney rank generating polynomial may seem simpler to define than
the Tutte polynomial, but the Tutte polynomial satisfies the nice duality
formula
TΓ (x, y) = TΓ∗ (y, x), (1.7)
which relates the Tutte polynomial of any connected planar graph Γ with the
Tutte polynomial of a dual graph Γ∗ .
For example, recall from Exercise 1.8 that the n-cycle graph Cn and the
banana graph with n edges are dual graphs. In Exercises 1.10 and 1.11, we
will calculate the Tutte polynomials of a cycle graph and a banana graph and
show that they satisfy Equation (1.7).
We can see that calculating the Tutte polynomial by considering all subsets
of |E| would take a prohibitively long time for even moderately sized graphs.
Fortunately, there are other methods. We will describe a method that uses
only spanning subsets of E. This method uses a fixed ordering on the edges of
E. It is not evident, a priori, that the polynomial generated by this method
is independent of the ordering chosen, but it can be shown that it is equal to
the Tutte polynomial. First, we give some definitions.
where tij denotes the number of spanning trees of internal activity i and
external activity j.
For example,
v2
e1
e5 e4
v1
e3 e2
v4 v3
e6
Figure 1.15: K4 with an edge ordering.
A spanning tree must have exactly 3 edges. There are 20 ways to pick
3 edges from 6, but 4 of these, {e1 , e2 , e4 }, {e1 , e3 , e5 }, {e2 , e3 , e6 }, and
{e4 , e5 , e6 } give cycles, not spanning trees. This leaves 16 spanning trees.
As an example, consider the spanning tree T = {e2 , e3 , e4 }. First, we
examine the edges in T to see which are internally active. Edge e2 is not
internally active, since e1 is an edge in the cut determined by T and e2 . Edge
e3 is internally active, since e3 is the smallest edge in the cut determined by
T and e3 (e1 is not in this cut). Edge e4 is not internally active, since e1 is the
smallest edge in the cut determined by T and e2 . Next, we examine the edges
in E \ T to see which are externally active. The edge e1 must be externally
active, since it is the smallest edge in any cycle of which it is a member. The
edges e5 and e6 cannot be externally active in any cycle, since each cycle in
K4 has at least 3 edges, so must contain a smaller edge than e5 or e6 .
We list the 16 spanning trees below, with the number i of internally active
edges, and the number j of externally active edges for each.
• The tree {e1 , e2 , e3 } has i = 3 and j = 0, so t30 = 1.
• The trees {e1 , e2 , e5 }, {e1 , e2 , e6 }, and {e1 , e3 , e4 } have i = 2 and j = 0,
so t20 = 3.
• The trees {e1 , e4 , e5 } and {e1 , e4 , e6 } have i = 1 and j = 0 so t10 = 2.
• The trees {e1 , e3 , e6 }, {e1 , e5 , e6 }, {e2 , e3 , e4 }, and {e2 , e3 , e5 } have i = 1
and j = 1, so t11 = 4.
• The trees {e2 , e4 , e5 } and {e2 , e4 , e6 } have i = 0 and j = 1, so t01 = 2.
• The trees {e2 , e5 , e6 }, {e3 , e4 , e5 }, and {e3 , e4 , e6 } have i = 0 and j = 2,
so t02 = 3.
26 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS
= x3 + 3x2 + 2x + 4xy + 2y + 3y 2 + y 3
as above.
Lemma 1.2.11. The Tutte polynomial has the following additional proper-
ties.
(a) TΓ (1, 2) is the number of connected spanning subgraphs of Γ,
Example 1.2.12. Using Sage, we compute the Tutte polynomial of the cube
graph and the tetrahedron graph.
Sage
Exercise 1.9. Show that the Tutte polynomial of a tree with m edges is
xm .
Exercise 1.10. Show that the Tutte polynomial of the cycle graph Cn is
Exercise 1.11. Show that the Tutte polynomial of a banana graph Γn with
n edges is
TΓn (x, y) = x + y + y 2 + · · · + y n−1 ,
Exercise 1.12. Show that the Tutte polynomial of the diamond graph (K4
with one edge removed) is x3 + 2x2 + 2xy + x + y 2 + y.
Exercise 1.13. Suppose that Γ is a connected graph with at least one edge
and Γ1 and Γ2 are subgraphs of Γ with a single vertex (and no edges) in
common, such that Γ is the union of Γ1 and Γ2 . Show that
Recall the circuit rank χ(Γ) of an undirected graph Γ is the minimum number
edges to remove from Γ, making it into a forest.
m − n + c,
1
= (1 − ulen(p) ).
ζΓ (u) p
χ(Γ) = |E| − |V | + c,
χ(Γ) = 4 − 4 + 1 = 1,
and ⎛ ⎞
0 1 0 1
⎜ 1 0 1 0⎟
A=⎜
⎝ 0
⎟,
1 0 1⎠
1 0 1 0
so
ζΓ (u)−1 = det(I − Au + (2 − 1)u2 I)
⎛ ⎞
u2 −u 0 −u
⎜ −u u2 −u 0⎟
= det ⎜
⎝ 0 −u u2 −u ⎠
⎟
−u 0 −u u2
than Ihara.
1.2 SOME POLYNOMIAL INVARIANTS FOR GRAPHS 29
sage: t = var(’t’)
sage: Gamma = graphs.CycleGraph(4)
sage: A = Gamma.adjacency_matrix()
sage: I4 = identity_matrix(4)
sage: factor(det(I4 - t*A + (2-1)*t^2*I4))
(t^2 + 1)^2*(t + 1)^2*(t - 1)^2
sage: Gamma.ihara_zeta_function_inverse()
t^8 - 2*t^4 + 1
1
ζΓ (u) = .
(1 − u2 )χ(Γ)−1 det(I − Au + Δ0 u2 I)
Exercise 1.14. Show that for a graph Γ that is a square with one diagonal,
we have
7 In
general, if C is an [n, k, d]-code, then we use [n, k⊥ , d⊥ ] for the parameters of the dual
code, C ⊥ . It is a consequence of Singleton’s bound that n + 2 − d − d⊥ ≥ 0, with equality
when C is an MDS code.
1.2 SOME POLYNOMIAL INVARIANTS FOR GRAPHS 31
q k−i+1−1 − 1 n
i
k
bk, = .
q−1 i
i=
Proof. Define cj by
∞
(xT + (1 − T )y)n
= ck (x, y)T k .
(1 − T )(1 − qT )
k=0
and of course
n
n
(xT + (1 − T )y) = n
y n−i (x − y)i T i .
i
i=0
q j+1 − 1 n
Therefore,
ck (x, y) = y n−i (x − y)i . (1.9)
q−1 i
i+j=k
To finish the proof, use Equation (1.9) above and compare coefficients.
Proposition 1.2.19. The Duursma zeta polynomial P = PC exists and is
unique, provided d⊥ ≥ 2.
For the proof, see Proposition 96 in Joyner and Kim [JK11].
This section will explore some of the properties of the analogous zeta function
for graphs and give examples using the software package Sage.
Let Γ = (V, E) be a graph. One way to define the zeta function of Γ is
via the binary code defined by the Duursma zeta function of the cycle space
of Γ over GF (2). Indeed, the matroid attached to a graph is typically that
vector matroid attached to the (oriented) incidence matrix of the graph (see
Duursma [Duu04]).
32 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS
pΓ (t)
ζΓ (t) = . (1.10)
(1 − t)(1 − 2t)
Exercise 1.15. Check that the Duursma zeta polynomial of the cycle graph
Γ4 with 4 vertices is
2 2 1
pΓ4 (t) = t2 + t + .
5 5 5
Example 1.2.22. The binary code given by the cycle space of the wheel
graph W5 with 5 vertices has zeta polynomial
8 It is likely true in the nonbinary case as well, but no proof seems to be in the literature.
1.2 SOME POLYNOMIAL INVARIANTS FOR GRAPHS 33
2 4 2 3 3 1 2
t + t + t2 + t + .
7 7 14 7 14
√
The roots lie on the circle of radius 1/ 2. The binary code given by the cycle
space of the wheel graph W6 with 6 vertices has zeta polynomial
1 6 11 5 1 4 1 1 11 1
t + t + t + t3 + t2 + t+ .
3 42 7 12 14 168 24
Remark 1.2.23. It is well known that the cycle space of a planar graph Γ
is the cocycle space of its dual graph, Γ⊥ , and vice versa.
γ = γΓ = m + 1 − rank(B) − dΓ ,
where λ(Γ) denotes the edge connectivity of Γ, i.e., the minimum cardinality
of an edge cut. Therefore,
γ = |E| + 2 − |V | − λ(Γ).
|E| + 2 − |V | = |F |,
denote the projective line over the finite field GF (11) with 11 elements. Let
Q = {0, 1, 3, 4, 5, 9}
L = α, β ∼
= P SL(2, GF (11)),
S = {λ(Q) | λ ∈ L}.
With “0” = 0, “+” = 1, “-” = 2, these vectors form a linear code over GF (3).
(This notation is Conway’s. One must remember here that “+” + “+” = “-”
and “-” + “-” = “+”!) They may also be described as the set of all 4-tuples
in GF (3) of the form
6 3 0 9
5 2 7 10
4 1 8 11
10 That is to say, the following cannot occur: some column has 0 entries, some column has
exactly 1 entry, some column has exactly 2 entries, and some column has exactly 3 entries.
1.2 SOME POLYNOMIAL INVARIANTS FOR GRAPHS 37
is the tetracode 0 0 ? ? and the signed hexad {−1, −2, −3, 4, 5, 6} and the
hexad {1, 2, 3, 4, 5, 6}.
Associated to the col+tet pattern
+ + + +
+ - + + + = - + +
+ +
is the tetracode 0 + + + and the signed hexad {1, −2, 3, 6, 7, 10} and the
hexad {1, 2, 3, 6, 7, 10}.
Furthermore, it is known (see Conway [Co84]) that the Steiner system
S(5, 6, 12) in the shuffle labeling has the following properties.
• There are 11 hexads with total 21 and none with lower total.
• The complement of any of these 11 hexads in {0, 1, . . . , 11} is another
hexad.
• There are 11 hexads with total 45 and none with higher total.
Mathematical blackjack
11 Conway [Co76] calls such a game 0 = {|}; in this game, the first player automatically
loses and so a good player will courteously offer you the first move!
38 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS
in the set {0, 1, . . . , 11}. This Steiner system is associated to the MINIMOG
in the shuffle numbering.
Proposition 1.2.28. (Ryba) For this Steiner system, the winning strategy
is to choose a move which is a hexad from this system.
that the first player will be dealt such a hexad, hence a losing position. In
other words, we have the following result.
Lemma 1.2.29. The probability that the first player has a win in mathe-
matical blackjack (with a random initial deal) is 6/7.
In addition to the references mentioned above, see also Curtis [Cu76] and
[Cu84] for further reading related to mathematical blackjack.
Chapter 2
Graphs and Laplacians
2.1 Motivation
Let’s start with some motivation for the definition of the Laplacian.
Recall that if Γ = (V, E) is a graph and F is a ring, then C 0 (Γ, F ) is
the set of all F -valued functions on the vertex set V of Γ, and C 1 (Γ, F ) is
the set of all F -valued functions on the edge set E of Γ. If the graph Γ is a
large square lattice grid, and if f ∈ C 0 (Γ, F ), then the usual definition of the
Laplacian,
∂2f ∂2f
2
+ 2,
∂x ∂y
so taking = 1 gives the desired discrete analog of fxx + fyy on the grid
graph. This operator only depends on “local” properties. That is, (Qf )(v)
depends only on the neighbors of v in the graph Γ. It may come as a surprise
to find out that Q governs a number of “global properties” of Γ as well,
such as connectivity. We shall see these and other fascinating properties of
Q below.
Recall from §1.1 that, given an orientation on Γ, there is a linear transfor-
mation
B : C 1 (Γ, F ) → C 0 (Γ, F )
given by
(Bf )(v) = f (e) − f (e) (2.2)
h(e)=v t(e)=v
B ∗ : C 0 (Γ, F ) → C 1 (Γ, F ).
Recall also (see Lemma 1.1.20) that there are natural bases for the spaces
C 0 (Γ, F ) and C 1 (Γ, F ). If we choose orderings of the vertices and edges of
Γ, then the linear transformation B is given with respect to these bases by
the incidence matrix, which we also denote by B. The dual B ∗ of this linear
transformation is given by the transpose B t of the incidence matrix.
The vertex Laplacian (or simply “the Laplacian”) is the linear transfor-
mation Q = QΓ : C 0 (Γ, F ) → C 0 (Γ, F ) defined by
Q = BB ∗ , (2.3)
V = VΓ = {0, 1, 2, . . . , n − 1},
Q = Δ − A,
or
bik = −1, bjk = 1, b,k = 0 for all = i, j.
In either case, the k-th entry of the i-th row times the k-th entry of the j-th
row equals −1. Summing over all edges k gives Qij = −aij .
44 2 GRAPHS AND LAPLACIANS
sage: B*transpose(B)
[ 2 -1 0 -1 0 0 0 0 0]
[-1 3 -1 0 -1 0 0 0 0]
[ 0 -1 2 0 0 -1 0 0 0]
[-1 0 0 3 -1 0 -1 0 0]
[ 0 -1 0 -1 4 -1 0 -1 0]
[ 0 0 -1 0 -1 3 0 0 -1]
[ 0 0 0 -1 0 0 2 -1 0]
[ 0 0 0 0 -1 0 -1 3 -1]
[ 0 0 0 0 0 -1 0 -1 2]
sage: Gamma.laplacian_matrix()
[ 2 -1 0 -1 0 0 0 0 0]
[-1 3 -1 0 -1 0 0 0 0]
[ 0 -1 2 0 0 -1 0 0 0]
[-1 0 0 3 -1 0 -1 0 0]
[ 0 -1 0 -1 4 -1 0 -1 0]
[ 0 0 -1 0 -1 3 0 0 -1]
[ 0 0 0 -1 0 0 2 -1 0]
[ 0 0 0 0 -1 0 -1 3 -1]
[ 0 0 0 0 0 -1 0 -1 2]
The “4” in the center of the Laplacian matrix illustrates the fact that there
are four edges emanating from the central vertex of the 3 × 3 grid graph in
Figure 2.2.
In other words, the quantity xt Qx measures how far away the vector x is
from being constant.
Proof. Indeed,
xt Qx = xt BB t x = (B t x) · (B t x) = (xi − xj )2 .
(i,j)∈E, j>i
Qe = B ∗ B, (2.4)
Proof. Each row of B t contains 1 once and −1 once and all other entries of
the row are 0. Thus B t 1 = 0, the zero vector. Furthermore, if x is a vector
in the kernel of BB t , then xt BB t x = 0, so B t x = 0. But if x is in the kernel
of B t , then x takes the same value on the head and tail vertices of each edge.
Since Γ is assumed to be connected, x must take the same value on all vertices
of Γ.
λ0 = 0 ≤ λ1 ≤ · · · ≤ λn−1 (2.5)
Recall, the diameter of the graph Γ is the maximum distance between any
two vertices of Γ.
2.2 BASIC RESULTS 47
Lemma 2.2.10. Let Γ be a simple connected graph with n vertices and diam-
eter d. Then
λ1 ≥ (dn)−1 ,
Let j0 denote a vertex such that |fj0 | = maxi∈V |fi |. We know that f is
orthogonal to the all 1’s vector (which is an eigenvector for λ0 = 0), so there
exists j1 ∈ V such that fj0 fj1 < 0.
Let P denote a shortest path from j0 to j1 . We denote the adjacent vertices
in P by i0 = j0 , i1 , . . . , ir−1 , ir = j1 . The number of edges in P is at most d,
so r ≤ d. Note
so
(fir − fi0 )2
(fir − fir−1 )2 + (fir−1 − fir−2 )2 + · · · + (fi1 − fi0 )2 ≥ .
d
We therefore have
1
See Biggs, §8c, [Bi93] for further details.
48 2 GRAPHS AND LAPLACIANS
2
(i,j)∈E (fj −fi )
λ1 = 2
i∈V fi
2
(i,j)∈P (fj −fi )
≥ n|fj0 |2
(2.6)
(fj1 −fj0 )2
≥ dn|fj0 |2
≥ 1
dn
,
as desired.
Remark 2.2.11. (1) A similar result, for the “normalized Laplacian”, can
be found in Chung [Ch92], Lemma 1.9.
(2) The above argument, with a more detailed analysis, can be pushed to
prove a stronger result (due to B. McKay):
4
λ1 ≥ .
dn
Example 2.2.12. A barbell graph (see Figure 2.3) illustrates how good
McKay’s lower bound really is.
Sage
χ(g) = tr(π(g)), g ∈ G,
= Qf (ρ−1 (v))
= λf (ρ−1 (v))
= λ(ρf )(v).
50 2 GRAPHS AND LAPLACIANS
Proof. Since Q is symmetric, each column sum agrees with the corresponding
row sum. Indeed, in the row sum corresponding to vertex v, the degree of v
is summed with a “−1” for each neighbor of v. These cancel, giving us a sum
of 0, as desired.
Exercise 2.2.
√ (a) Show that the eigenvalues√ of the adjacency matrix of
Starn are − n, 0 (with multiplicity n − 1), n.
(b) Show that the eigenvalues of the Laplacian matrix of Starn are 0, 1
(with multiplicity n − 1), n + 1.
⎛ ⎞
−1 −1 −1 −1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
⎜ 0 0 0 1 −1 −1 −1 0 0 0 0 0 0 0 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 1 0 0 0 1 −1 −1 0 0 0 0 0 0 0 0 0 ⎟
⎜ ⎟
⎜ ⎟
⎜ 0 0 0 0 0 0 0 0 1 −1 −1 −1 0 0 0 0 0 0 ⎟
⎜ ⎟
B = ⎜
⎜ 0 1 0 0 0 0 0 0 0 0 0 1 −1 −1 0 0 0 0 ⎟
⎟
⎜ 0 0 0 0 0 1 0 0 0 0 1 0 0 1 −1 0 0 0 ⎟
⎜ ⎟
⎜ ⎟
⎜ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 −1 −1 0 ⎟
⎜ ⎟
⎝ 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 −1 ⎠
1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
2.2 BASIC RESULTS 51
0, 3, 3, 3, 3, 6, 6, 6, 6.
This graph is just one case of a very interesting family of graphs named
after Raymond Paley. More information on them is given, for example, in
§5.17 below. We shall see more of this remarkable graph and its cousins,
later.
Example 2.2.18. Let Cycn denote the cycle graph with n vertices. The
characteristic polynomial of Γ = Cycn is
where Tn (x) is the n-th Chebyshev polynomial of the first kind (see
Stevanovic [St14]).
Proof. By definition, the sum of the entries in the i-th row of A is equal to the
number of vertices which share an edge with vertex i. This is, of course, the
52 2 GRAPHS AND LAPLACIANS
degree of i. Let 1 = 1n ∈ Zn denote the vector of all 1’s. If deg(v) = degΓ (v)
denotes the degree of a vertex v then we have shown
⎛ ⎞
deg(0)
⎜ deg(1) ⎟
⎜ ⎟
A1 = ⎜ .. ⎟.
⎝ . ⎠
deg(n − 1)
The vector on the right-hand side of the above equation is a scalar vector
(i.e., all the components are the same) if and only if Γ is regular.
Lemma 2.2.21. The graph Γ is connected if and only if the index of Γ occurs
with multiplicity 1 and it has an eigenvector which consists of strictly positive
components.
Zn−1 /Col(Q∗ ), where Col(Q∗ ) denotes the Z-span of the columns of Q∗ and
n is the number of vertices of Γ. For more details, see Proposition 4.6.2 in
Chapter 4 on chip-firing.
For further reading on the topics of this section, see also Biyikogu, Leydold,
and Stadler [BLS07] and Mohar [Mo91a].
Let J be the n × n matrix, all of whose entries are 1. Let 1 be the n-vector,
all of whose entries are 1.
We will prove this lemma at the end of §2.3, after giving an alternative
construction of the Moore–Penrose pseudoinverse.
⎛ ⎞
2
9 0 0 − 18
1
0 − 18
1
− 18
1
− 18
1
0
⎜ 0 2
0 − 18
1
− 18
1
0 0 − 18
1
− 18
1 ⎟
⎜ 9 ⎟
⎜ 2
− 18
1
− 18
1
− 18
1
− 18
1 ⎟
⎜ 0 0 0 0 ⎟
⎜ 1 9
⎟
⎜ − 18 − 18
1
0 2
0 0 − 18
1
0 − 18
1
⎟
⎜ 9 ⎟
Q+ = ⎜
⎜ 0 − 1
18 − 1
18 0 2
9 0 − 18
1
− 18
1
0 ⎟.
⎟
⎜ −1 0 − 18
1 2
− 18
1
− 18
1 ⎟
⎜ 18 0 0 0 ⎟
⎜ 1 9
⎟
⎜ − 18 0 − 18
1
− 18
1
− 18
1
0 2
0 0 ⎟
⎜ 1 9 ⎟
⎝ − ⎠
18 − 18 − 18 − 18
1 1 1 2
0 0 0 9 0
0 − 18
1
− 18
1
− 18
1
0 − 18
1
0 0 2
9
Proof. The first three properties are immediate, from the definition. From
property (iii), we have
1 + 1
J Q+ J Q + J = JI
n n
which expands to
2.3 THE MOORE–PENROSE PSEUDOINVERSE 55
1 1 1
JQQ+ + JQJ + J 2 Q+ + 2 J 3 = J.
n n n
0 + 0 + JQ+ + J = J,
so that JQ+ = 0. Taking transposes, and noting that both J and Q+ are
symmetric, gives Q+ J = 0 also.
Using property (iii) again, we have
1 + 1
Q+ J Q + J = I.
n n
Expanding gives
1 1 1
QQ+ + QJ + JQ+ + 2 J 2 = I.
n n n
so that
⎛ 1 1
⎞
3 3 0
⎜ ⎟
B + = Q+ B = ⎝ − 13 0 1
3 ⎠.
0 − 31 − 13
Exercise 2.4. Show that the matrices of Example 2.3.9 satisfy properties
(i)-(vii) of Proposition 2.3.7. Also, show that B + is not a generalized inverse
of B, i.e., show that BB + B = B.
Q = U ΣU t . (2.7)
Q+ = U Σ+ U t . (2.8)
1 1 1
U Σ+ U t U ΣU t + U Σ+ U t J + JU ΣU t + 2 J 2
n n n
1 1 1
= U Σ+ ΣU t + U U t Q+ J + JQU U t + J
n n n
1
= U Σ+ ΣU t + J
n
since Q+ J = JQ = 0. Let I(1,1) denote the matrix, all of whose entries are 0,
except for the (1, 1)-entry, which is 1. Note that Σ+ Σ = I − I(1,1) . Then
1 1
U Σ+ ΣU t + J = U (I − I(1,1) )U t + J
n n
1
= I − U I(1,1) U t + J.
n
1
It is not hard to check that U I(1,1) U t = n J, from which the required identity
follows.
58 2 GRAPHS AND LAPLACIANS
Recall that a circulant matrix is a square matrix where each row vector is
a cyclic shift one element to the right relative to the preceding row vector,
such as
⎛ ⎞
c0 cn−1 . . . c1
⎜ c1 c0 . . . c2 ⎟
⎜ ⎟
C=⎜ . .. .. ⎟ .
⎝ .. . . ⎠
cn−1 cn−2 . . . c0
√
Circulant matrices have the property that vk = (ζ jk / n | j = 0, . . . , n − 1)
is an eigenvector with eigenvalue
n−1
n
λk (C) = ζ −jk cj = ζ jk cn−j ,
j=0 j=1
for each k = 0, . . . , n − 1.
A graph Γ is called circulant if its vertices can be reindexed in such a way
that its adjacency matrix is a circulant matrix. For example, a cycle graph
is a circulant graph.
incidence matrix
⎛ ⎞
−1 −1 −1 0 0 0 0 0 0 0 0 0
⎜ 0 0 1 −1 −1 0 0 0 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 0 1 −1 −1 0 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 0 0 0 1 −1 −1 0 0 0 ⎟
B=⎜
⎜
⎟,
⎟
⎜ 0 1 0 0 0 0 0 0 1 −1 0 0 ⎟
⎜ 0 0 0 1 0 0 0 0 0 1 −1 0 ⎟
⎜ ⎟
⎝ 0 0 0 0 0 1 0 0 0 0 1 −1 ⎠
1 0 0 0 0 0 0 1 0 0 0 1
It is a circulant graph.
For the cycle graph on n vertices, Γn , the eigenvalues are 2 cos(2πk/n), for
0 ≤ k ≤ n−1. Since these are not distinct, some can occur with multiplicities.
n even: The only eigenvalues of Γn which occur with multiplicity 1 are 2
and −2. The eigenvalues 2 cos(2πk/n), for 1 ≤ k ≤ n−2 2 , all occur with
multiplicity 2.
n odd: The only eigenvalue of Γn which occurs with multiplicity 1 is 2. The
eigenvalues 2 cos(2πk/n), for 1 ≤ k ≤ n−1
2 , all occur with multiplicity 2.
For example, the graph Γ8 is depicted in Figure 2.6
V = {0, 1, . . . , n − 1},
This is a complex vector space which we can identify with the vector space
Cn via the map f −→ (f (0), f (1), . . . , f (n − 1)).
Define convolution by
where
(f ∗ g)(k) = f ()g(k − ).
∈Z/nZ
This is commutative: f ∗ g = g ∗ f .
Let ζ = ζn denote a primitive nth root of unity in C. Recall, for g ∈
C (Γ, C), the discrete Fourier transform Fn of g is defined by
0
(Fn g)(λ) = g ∧ (λ) = g()ζ λ , λ ∈ Z/nZ.
∈Z/nZ
The following lemma states the basic and very useful fact that the Fourier
transform of a convolution is the product of the Fourier transforms.
Proof.
(f ∗ g)∧ (λ) = f (k)g( − k)ζ λ
∈Z/nZ k∈Z/nZ
= f (k) g( − k)ζ λ
k∈Z/nZ ∈Z/nZ
= f (k)ζ kλ g( )ζ λ
k∈Z/nZ ∈Z/nZ
∧ ∧
= f (λ)g (λ).
2.4 CIRCULANT GRAPHS 63
Th (f ) = (h ⊗ f ∧ )∨ ,
by Tg (f ) = f ∗ g.
We will prove the equivalence of the first three items in the following three
lemmas. We leave the proof of the equivalence of the remaining items as an
exercise.
64 2 GRAPHS AND LAPLACIANS
Tg (τ (f ))(k) = (τ (f ) ∗ g)(k)
= (τ (f ))()g(k − )
∈Z/nZ
= f ( + 1)g(k − )
∈Z/nZ
= f ( )g(k − + 1)
∈Z/nZ
= τ (Tg (f ))(k).
Lemma 2.4.7. A linear transformation T : C 0 (Γ, C) → C 0 (Γ, C) is trans-
lation invariant if and only if the matrix representing it in the standard basis
is circulant.
Proof. Since T : C 0 (Γ, C) → C 0 (Γ, C) is linear, it is represented by an n × n
matrix
T f = Af,
where the 2nd subscript of Ai,j is taken mod n. On the other hand,
2.4 CIRCULANT GRAPHS 65
τ (T (f ))(k) = Ak+1, f ().
∈Z/nZ
Proof. It is not hard to see the connection between maps given by circulant
matrices and convolution operators. Suppose that the matrix representing
T in the standard basis is circulant. By Lemma 2.4.7, T is also translation
invariant. Define g ∈ C 0 (Γ, C) by
g(−k) = A0,k (mod n) , for k ∈ Z/nZ.
Then
T (f )(0) = g(−)f (),
∈Z/nZ
for all f ∈ C 0 (Γ, C). In other words, T is a convolution map. This construc-
tion can be reversed: a convolution map corresponds to a circulant matrix
transformation.
Exercise 2.9. For the circulant matrices T and maps f given below, verify
that τ T (f ) = T (τ (f )).
(a) ⎛ ⎞
0 1 0 0 0
⎜0 0 1 0 0 ⎟
⎜ ⎟
T =⎜ ⎜0 0 0 1 0 ⎟ and f = (1, 2, 3, 4, 5).
⎟
⎝0 0 0 0 1 ⎠
1 0 0 0 0
(b) ⎛ ⎞
0 1 2 0 0
⎜ 0 0 1 2 0 ⎟
⎜ ⎟
T =⎜
⎜ 0 0 0 1 2 ⎟ and f = (1, 2, 3, 4, 5).
⎟
⎝ 2 0 0 0 1 ⎠
1 2 0 0 0
66 2 GRAPHS AND LAPLACIANS
Exercise 2.10. Prove that the last two items of Theorem 2.4.5 are equiva-
lent to the first three items.
Question 2.3. To what extent can the result above about Fourier multiplier
operators be generalized to arbitrary graphs?
∂S = {(u, v) ∈ E(G) | u ∈ S, v ∈ V \ S}
denote the edge boundary of S. This is the cocycle associated to the partition
S ∪ (V \ S).
The edge expansion h(Γ) is defined as
|∂S|
h(Γ) = min .
0<|S|≤ |V2 | |S|
We say Γ has the expander property when each subset S ⊂ V has a “relatively
large” edge expansion, as specified in the definition below.
The second smallest eigenvalue of the Laplacian matrix Q of Γ, λ1 (Q), is
called the spectral gap. For example, if Γ = (V, E) is a k-regular graph, then
it is known that all eigenvalues λ of the adjacency matrix A of Γ satisfy −k ≤
λ ≤ k (so the eigenvalues of Q satisfy 0 ≤ λ ≤ 2k, by Lemma 2.2.9). Moreover,
λ = k is an eigenvalue of A (with the all 1’s vector as an eigenvector).
Therefore, in the regular case, the spectral gap measures the gap from the
so-called trivial eigenvalue k of A to the next one (i.e., to k − λ1 (Q), by
Lemma 2.2.9).
λ1 (Q)
γΓ = ,
k
the relative spectral gap of Γ. We say Γ is a (k, r)-expander if, for each S ⊂ V ,
|∂S| |S|
≥ kr 1 − .
|S| |V |
2.5 EXPANDER GRAPHS 67
∂S = {(0, a + 1), (0, 2a + 2), (1, a + 2), (1, 2a), (2, a), (2, 2a + 1)}.
The edge expansion is 2. Recall from Example 2.2.17 that the Laplacian
spectrum is {0, 3, 3, 3, 3, 6, 6, 6, 6}, so λ1 (Q) = 3 and γΓ = 3/4. By the above
theorem, the inequality
According to Sage, the edge expansion is h(Γ) = 7/2. The Laplacian spectrum
is {0, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8}, so λ1 (Q) = 4 and γΓ = 4/6 = 2/3.
By the above theorem, the inequality
λi (Q) = k − λi (A).
Example 2.6.1. The Sage commands to produce the types of Cayley graphs
we are interested in are a bit tricky. You will want to be sure to select the
“simple” option and to select symmetric generating sets.
2.6 CAYLEY GRAPHS 69
Sage
sage: G = AdditiveAbelianGroup([6])
sage: Gp = G.permutation_group()
sage: g1, g2 = Gp.gens()
sage: S = [(g1*g2)^2,(g1*g2)^(-2),(g1*g2)^3]; S
[(3,5,4), (3,4,5), (1,2)]
sage: A = Gp.cayley_graph(generators=S,simple=True).adjacency_matrix()
sage: Gamma1 = Graph(A)
sage: AG1 = Gamma1.automorphism_group()
sage: AG1.cardinality()
12
Sage
sage: G = SymmetricGroup(3)
sage: S = G.gens()+[G.gens()[0]^(-1)]; S
[(1,2,3), (1,2), (1,3,2)]
sage: A = G.cayley_graph(generators=S,simple=True).adjacency_matrix()
sage: Gamma2 = Graph(A)
sage: AG2 = Gamma2.automorphism_group()
sage: AG2.cardinality()
12
These two Cayley graphs are isomorphic. With these options selected, we see
that the graph has the desired symmetry. More of this example will be given
later (e.g., Example 4.7.8 below).
The eigenvalues of the Cayley graph in the abelian case are easy to determine.
Proof. This follows from the proof in the non-abelian case, given in the next
section.
Example 2.6.3. Consider the Cayley graph Γ of Z/4Z × Z/4Z, with gener-
ator set S = {±(0, 1), ±(1, 0), ±(1, 1)}. This has Laplacian matrix
⎛ 6 −1 0 −1 −1 −1 0 0 0 0 0 0 −1 0 0 −1
⎞
⎜ −1 6 −1 0 0 −1 −1 0 0 0 0 0 −1 −1 0 0 ⎟
⎜ 0 −1 6 −1 0 0 −1 −1 0 0 0 0 0 −1 −1 0 ⎟
⎜ ⎟
⎜ −1 0 −1 6 −1 0 0 −1 0 0 0 0 0 0 −1 −1 ⎟
⎜ −1 −1 −1 −1 −1 −1 ⎟
⎜ 0 0 6 0 0 0 0 0 0 0 ⎟
⎜ −1 −1 0 0 −1 6 −1 0 0 −1 −1 0 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 −1 −1 0 0 −1 6 −1 0 0 −1 −1 0 0 0 0 ⎟
⎜ −1 −1 −1 −1 −1 −1 ⎟
⎜ 0 0 0 6 0 0 0 0 0 0 ⎟
⎜ 0 0 0 0 −1 0 0 −1 6 −1 0 −1 −1 −1 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 0 −1 −1 0 0 −1 6 −1 0 0 −1 −1 0 ⎟
⎜ −1 −1 −1 −1 −1 −1 ⎟
⎜ 0 0 0 0 0 0 0 6 0 0 ⎟
⎜ 0 0 0 0 0 0 −1 −1 −1 0 −1 6 −1 0 0 −1 ⎟
⎜ ⎟
⎜ −1 −1 0 0 0 0 0 0 −1 0 0 −1 6 −1 0 −1 ⎟
⎜ −1 −1 −1 −1 −1 −1 ⎟
⎝ 0 0 0 0 0 0 0 0 6 0 ⎠
0 0 −1 −1 0 0 0 0 0 −1 −1 0 0 −1 6 −1
−1 0 0 −1 0 0 0 0 0 0 −1 −1 −1 0 −1 6
(x − 6) · (x − 2)6 · (x + 2)9 .
Figure 2.7: The Cayley graph of Z/4Z × Z/4Z, with generator set S =
{±(0, 1), ±(1, 0), ±(1, 1)}, created using Sage.
Sage
sage: G = AdditiveAbelianGroup([4,4])
sage: GP = G.permutation_group()
sage: g0 = GP.gens()[0]
sage: g1 = GP.gens()[1]
sage: S = [g0, g1, g0^(-1), g1^(-1), (g0*g1)^(-1), g0*g1]
sage: Gamma = GP.cayley_graph(side=’left’, generators = S)
sage: A = Gamma.adjacency_matrix()
sage: Gamma1 = Graph(A, format = "adjacency_matrix")
sage: Gamma1.show(layout="circular", dpi = 300)
sage: Gamma1.characteristic_polynomial().factor()
(x - 6) * (x - 2)^6 * (x + 2)^9
where Vi ∼
= Cdi and di is the degree of ρi , for i = 1, . . . , |G∗ |.
72 2 GRAPHS AND LAPLACIANS
Example 2.6.4. While this is a very long example, we hope it will be useful
to illustrate the ideas in the theorem below.
Let G=D6 denote the dihedral group of order 12, written in the follow-
ing order:
Let
clG (g1 ), clG (g2 ), clG (g3 ), clG (g4 ), clG (g6 ), clG (g8 ).
Sage
sage: G = DihedralGroup(6); G
Dihedral group of order 12 as a permutation group
sage: g1 = G.gens()[0]
sage: g2 = G.gens()[0]^(-1)
sage: g3 = G.gens()[1]
sage: Cg3 = [x^(-1)*g3*x for x in G]
sage: g4 = Cg3[1]; g5 = Cg3[2]
sage: S = [g1, g2, g3, g4, g5]; S
[(1,2,3,4,5,6), (1,6,5,4,3,2), (1,6)(2,5)(3,4), (1,2)(3,6)(4,5), (1,4)(2,3)(5,6)]
g1 g2 g3 g4 g6 g8
χ1 1 1 1 1 1 1
χ2 1 −1 −1 1 1 1
χ3 1 −1 1 −1 1 −1 ,
χ4 1 1 −1 −1 1 −1
χ6 2 0 0 1 −1 −2
χ8 2 0 0 −1 −1 2
where χi is the i-th irreducible character of G (in the ordering given by Sage
and GAP).
Define the class function α : G → Z by
⎧
⎨ 1, x ∈ {(1, 2, 3, 4, 5, 6), (1, 6, 5, 4, 3, 2)},
α(x) = 2, x ∈ {(1, 2)(3, 6)(4, 5), (1, 2)(3, 6)(4, 5), (1, 4)(2, 3)(5, 6)},
⎩
0, otherwise.
2.6 CAYLEY GRAPHS 73
Sage
2
1
1 2 1
2
1
2 2
1
2 1
1 2
2
2 2
2
1 1
2
2
1 1 2
1
2
[0 0 2 1 0 0 2 0 0 0 1 2]
[0 0 1 2 0 0 0 2 0 0 2 1]
[2 1 0 0 1 2 0 0 0 2 0 0]
[1 2 0 0 2 1 0 0 2 0 0 0]
[0 0 1 2 0 0 1 2 0 0 2 0]
[0 0 2 1 0 0 2 1 0 0 0 2]
[2 0 0 0 1 2 0 0 1 2 0 0]
[0 2 0 0 2 1 0 0 2 1 0 0]
[0 0 0 2 0 0 1 2 0 0 2 1]
[0 0 2 0 0 0 2 1 0 0 1 2]
[1 2 0 0 2 0 0 0 2 1 0 0]
[2 1 0 0 0 2 0 0 1 2 0 0]
sage: Gamma = Graph(matrix(A), format = "adjacency_matrix", weighted=True)
sage: Gamma.show(layout="circular", dpi = 300, edge_labels=True)
sage: Gamma.automorphism_group(edge_labels=True).order()
144
sage: Gamma.automorphism_group().order()
1440
λ0 = 8, x0 = (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
where χi is the i-th character in the character table of G. Here they are in
Sage 2 :
Sage
sage: A*x1
(8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8)
sage: x2 = vector([1,-1,-1,1,-1,1,-1,1,-1,1,1,-1])
sage: A*x2
(-4, 4, 4, -4, 4, -4, 4, -4, 4, -4, -4, 4)
sage: x3 = vector([1,-1,1,-1,-1,1,1,-1,-1,1,-1,1])
sage: A*x3
(4, -4, 4, -4, -4, 4, 4, -4, -4, 4, -4, 4)
sage: x4 = vector([1,1,-1,-1,1,1,-1,-1,1,1,-1,1])
sage: A*x4
(-4, -6, 8, 8, -8, -4, 8, 8, -6, -4, 8, 8)
sage: x4 = vector([1,1,-1,-1,1,1,-1,-1,1,1,-1,-1])
sage: A*x4
(-8, -8, 8, 8, -8, -8, 8, 8, -8, -8, 8, 8)
sage: x5 = vector([2,0,0,1,0,-1,0,-2,0,-1,1,0])
2
Some care must be taken to record the entries of xi consistent with the way the
elements of G are listed.
2.6 CAYLEY GRAPHS 75
sage: A*x5
(2, 0, 0, 1, 0, -1, 0, -2, 0, -1, 1, 0)
Indeed, all these characters have degree 1. The remaining eigenvalues each
occur with multiplicity 4. The eigenvalue λ4 = 1, has eigenspace
is an element of Eλ5 .
The following well-known result describes a way to generalize the above
example. Roughly speaking, it says that if Γ is a weighted Cayley graph
attached to a group G and if the weight function of Γ is given by a class
function of G, then the spectrum of Γ is determined by the representations
of G.
Theorem 2.6.5. Let α be a class function, and let Γ = Cay(G, S, α), as
above (so, in particular, α is supported on S). If n = |G|, write
G = {g1 = 1, g2 , . . . , gn }.
The proof below follows Brouwer and Haemers [BH11], §6.3, and Kaski
[KA02], §5, and is included for the reader’s convenience. See also Rockmore,
Kostelec, Hordijk, and Stadler [RKHS02].
tr(Ag|Wχ ) = θχ(g).
The first entry of Avχ is equal to s∈S α(s)χ(s). Since this is also θχ(1), we
have
1 1
θ= α(s)χ(s) = tr(A|Wχ ).
χ(1) χ(1)
s∈S
3
If π is an irreducible n-dimensional representation of G and if B ∈ GL(n, C) com-
mutes with all matrices π(g), g ∈ G, then B is a scalar matrix. A proof can be found
in many textbooks on abstract algebra, e.g., [DF99], page 337.
2.7 ADDITIVE CAYLEY GRAPHS 77
Sage
sage: A0 = Gamma.adjacency_matrix()
sage: A0*v1==(5)*v1
True
sage: A0*v2==(-1)*v2
True
sage: A0*v3==(1)*v3
True
sage: A0*v4==(-5)*v4
True
sage: A0*v5==(1)*v5
True
sage: A0*v6==(-1)*v6
True
In other words, in this example, Sage helps us verify that, even if we use
the unweighted adjacency matrix, the conclusion of the above Theorem 2.6.5
still holds.
An additive Cayley graph (or Cayley sum graph) Γ with sum set S in a finite
abelian group G has vertex set VΓ = G, and two elements g, h ∈ G are
adjacent (i.e., connected by a edge) if and only if g + h ∈ S.
78 2 GRAPHS AND LAPLACIANS
Let G∗ denote the dual group of G, that is, the multiplicative group of
multiplicative characters χ : G → C× . Let G∗R denote the subgroup of real-
valued characters χ : G → R× . For convenience of notation, we fix an indexing
of the elements of these groups,
G = {g1 , . . . , gn },
and
G∗ = {χ1 , . . . , χn }.
Example 2.7.1. Consider the group G = Z/10Z and the set S = {3, 5, 7}.
The adjacency matrix of the associated additive Cayley graph is
⎛ ⎞
0 0 1 1 0 1 0 1 0 0
⎜0 0 1 0 1 0 1 0 0 0⎟
⎜ ⎟
⎜1 1 0 1 0 1 0 0 0 0⎟
⎜ ⎟
⎜1 0 1 0 1 0 0 0 0 1⎟
⎜ ⎟
⎜0 1 0 1 0 0 0 0 1 1⎟
⎜ ⎟
⎜1 0 1 0 0 0 0 1 1 0⎟
⎜ ⎟
⎜0 1 0 0 0 0 0 1 0 1⎟
⎜ ⎟
⎜1 0 0 0 0 1 1 0 1 0⎟
⎜ ⎟
⎝0 0 0 0 1 1 0 1 0 1⎠
0 0 0 1 1 0 1 0 1 0
7 3 14 6
χ1 (S) = 3, χ2 (S) = e 5 i π + e 5 i π − 1, χ3 (S) = e 5 i π + e 5 i π + 1,
21 9 28 12
χ4 (S) = e 5 i π + e 5 i π − 1, χ5 (S) = e 5 i π + e 5 i π + 1, χ6 (S) = −3,
42 18 49 21
χ7 (S) = e 5 i π + e 5 i π + 1, χ8 (S) = e 5 i π + e 5 i π − 1,
56 24 63 27
χ9 (S) = e 5 i π + e 5 i π + 1, χ10 (S) = e 5 i π + e 5 i π − 1.
Proposition 2.7.2. Let Γ be the additive Cayley graph with sum set S in
the finite abelian group G. The spectrum of Γ consists of
Figure 2.9: The undirected additive Cayley graph of Z/10Z with respect to S.
If χ : G → C× is a character of G, then
χ(y) = χ(s − x) = χ(s) χ(−x) = χ(S)χ(x).
y∼x s∈S s∈S
80 2 GRAPHS AND LAPLACIANS
whose vertex set is V = V (Γf ) = GF (p)n and whose set of edges is defined
by
where the edge (u, v) ∈ Ef has weight f (u − v). However, if f is even then we
can (and do) regard Γf as a weighted (undirected) graph. We assume from
this point on that f is even.
2.7 ADDITIVE CAYLEY GRAPHS 81
ωf = |supp(f )|,
and let
σf = fC (v).
v∈V
σ(Γ) = {λ1 , λ2 , . . . , λN },
va = (ζ −
a,x | x ∈ V ).
va = (ζ −
a,η(i) | i ∈ {0, 1, . . . , pn − 1}).
Then
F va = ( fC (x − y)ζ −
a,y | x ∈ V ).
y∈V
= ζ −
a,x fˆ(−a).
Corollary 2.7.5. The matrix F is invertible if and only if none of the values
of the Fourier transform of fC vanish.
Corollary 2.7.6. The spectrum of the graph Γf is precisely the set of values
of the Fourier transform of fC .
2.7 ADDITIVE CAYLEY GRAPHS 83
12, 12, 9, 9, 9, 9, 6, 6, 0.
9, 9, 6, 6, 6, 6, 6, 6, 0,
6, 0, 0, 0, 0, 0, 0, −3, −3.
84 2 GRAPHS AND LAPLACIANS
This function is not bent (in the sense of §6.3), yet the unweighted version
of the graph Γf , shown in Figure 2.10, is a strongly regular graph with para-
meters (9, 6, 3, 6). (Strongly regular is defined in §6.6.1 below.) However, the
complement of Γf is disconnected, so Γf is not a primitive strongly regular
graph4 .
Consider the subgraph Γ1 of weight one edges. This has adjacency matrix
⎛ ⎞
0 1 1 0 0 1 0 1 0
⎜1 0 1 1 0 0 0 0 1⎟
⎜ ⎟
⎜1 1 0 0 1 0 1 0 0⎟
⎜ ⎟
⎜0 1 0 0 1 1 0 0 1⎟
⎜ ⎟
A1 = ⎜⎜ 0 0 1 1 0 1 1 0 0 ⎟,
⎟
⎜1 0 0 1 1 0 0 1 0⎟
⎜ ⎟
⎜0 0 1 0 1 0 0 1 1⎟
⎜ ⎟
⎝1 0 0 0 0 1 1 0 1⎠
0 1 0 1 0 0 1 1 0
1
1
1 8
1
1
1 2 1
1 2
1 2 1
2
2 7
1
2 2 1
2
1
1 2
3 1 6
2
1 1
1
4 1 5
Figure 2.10: The undirected Cayley graph of an even GF (3)-valued function of two
variables from Example 2.7.7. (The vertices are ordered as in the example.)
4
An SRG is primitive if both the graph and its complement are connected.
2.7 ADDITIVE CAYLEY GRAPHS 85
Sage
sage: F = GF(3)
sage: V = F^2
sage: f = lambda x:-x[0]^2*x[1]^2+x[0]^2+x[0]*x[1]-x[1]^2
sage: Gamma = boolean_cayley_graph(f, V)
sage: Alist = [[ZZ(f(x-y)) for x in V] for y in V]; matrix(ZZ, Alist)
[0 1 1 2 0 1 2 1 0]
[1 0 1 1 2 0 0 2 1]
[1 1 0 0 1 2 1 0 2]
[2 1 0 0 1 1 2 0 1]
[0 2 1 1 0 1 1 2 0]
[1 0 2 1 1 0 0 1 2]
[2 0 1 2 1 0 0 1 1]
[1 2 0 0 2 1 1 0 1]
[0 1 2 1 0 2 1 1 0]
sage: A = matrix(GF(2), Alist); A
[0 1 1 0 0 1 0 1 0]
[1 0 1 1 0 0 0 0 1]
[1 1 0 0 1 0 1 0 0]
[0 1 0 0 1 1 0 0 1]
[0 0 1 1 0 1 1 0 0]
[1 0 0 1 1 0 0 1 0]
[0 0 1 0 1 0 0 1 1]
[1 0 0 0 0 1 1 0 1]
[0 1 0 1 0 0 1 1 0]
sage: Gamma1 = Graph(A)
sage: Gamma2 = graphs.PaleyGraph(9)
sage: Gamma1.is_isomorphic(Gamma2)
True
86 2 GRAPHS AND LAPLACIANS
5
The adjective “regular” is over-used in mathematics. In this case, it means that G
acts transitively on Γ (i.e., each vertex can be sent to any other by some element of
G) and no vertex is fixed by any element of G − {1}.
6
A cover is defined in §3.4.
7
In the sense of Definition 3.3.5 below.
2.8 GRAPHS OF GROUP QUOTIENTS 87
⎛ ⎞
3 −1 −1 −1
⎜ −1 2 −1 0⎟
Q1 = ⎜
⎝ −1 −1
⎟,
3 −1 ⎠
−1 0 −1 2
Sage
sage: V1 = [0,1,2,3]
sage: E1 = [(0,1),(0,2),(0,3),(1,2),(2,3)]
sage: V2 = [0,1,2,3,4,5,6,7]
sage: E2 = [(0,1),(0,3),(0,4),(1,2),(2,3),(2,6),(4,5),(4,7),(6,5),(6,7)]
sage: Gamma1 = Graph([V1,E1], format=’vertices_and_edges’)
sage: Gamma2 = Graph([V2,E2], format=’vertices_and_edges’)
sage: AG = Gamma2.automorphism_group()
sage: AG.cardinality()
16
sage: AG.sylow_subgroup(2).cardinality()
16
sage: Q2 = Gamma2.laplacian_matrix()
sage: Q1 = Gamma1.laplacian_matrix()
sage: factor(Q2.charpoly())
x * (x - 4)^2 * (x - 2)^3 * (x^2 - 6*x + 4)
sage: factor(Q1.charpoly())
(x - 2) * x * (x - 4)^2
Proof. If G is abelian then this follows from Proposition 2.6.2. Indeed, in this
case
and
χ(S) = χ(s) = χ(s) + χ(s) = χ(H ∩ S) + |S − H ∩ S|,
s∈S s∈H∩S s∈S−H∩S
and
1 ∗
σ(Cay(G, S)) = χ(S) | χ ∈ G . (2.14)
deg(χ)
H (ρ) = m ⊕j τj ,
ResG
1 deg(ρ)
m= .
N deg(τ )
χ(S) = χ(s)
s∈S
= χ(s) + χ(s)
s∈H∩S s∈S−H∩S
= χ(H ∩ S) + |S − H ∩ S| deg(χ)
=m tr(τj )(H ∩ S) + |S − H ∩ S| deg(χ)
j
1 deg(ρ)
= · N · ψ(H ∩ S) + |S − H ∩ S| deg(χ) by condition (3)
N deg(τ )
deg(ρ)
= · ψ(H ∩ S) + |S − H ∩ S| deg(χ).
deg(τ )
Dividing by deg(χ) = deg(ρ) and using Equation (2.14) gives the result.
sage: G = DihedralGroup(6); G
Dihedral group of order 12 as a permutation group
sage: G3 = G.sylow_subgroup(3)
sage: G3.order()
3
sage: A = [[alpha(x*y^(-1)) for x in G] for y in G]
sage: Gamma = Graph(matrix(A), format = "adjacency_matrix", weighted=True)
sage: Gamma.automorphism_group(edge_labels=True)
Permutation Group with generators [(3,10)(5,9), (2,11)(4,8),
(1,4)(6,11), (0,1)(2,3)(4,5)(6,7)(8,9)(10,11), (0,2,5,6,9,11)(1,3,4,7,8,10)]
sage: AutGammaD12a = Gamma.automorphism_group()
sage: AutGammaD12b = Gamma.automorphism_group(edge_labels=True)
sage: AutGammaD12b.order()
144
sage: AutGammaD12a.order()
1440
sage: G9 = AutGammaD12b.sylow_subgroup(3)
sage: G9.order()
9
Let G9 denote the Sylow subgroup of G. This group acts on the edge-
weighted graph Γ (in the sense of §2.6). The orbits of G9 on Γ are
and the edges in the cycle graph Γ/G9 are (0, 2) (weight 2), (1, 3) (weight 2),
(1, 2) (weight 1), (0, 3) (weight 1). The orbits of G3 on Γ are
8
This module is available from the github site for this book.
2.8 GRAPHS OF GROUP QUOTIENTS 91
0, 1, 2, a, a + 1, a + 2, 2a, 2a + 1, 2a + 2,
The quotient graph therefore has three vertices, 0, 1, and a, with edges
(0,0)
(0,1) (2,3)
(0,2) (2,2)
(0,3) (2,1)
(1,0) (2,0)
(1,1) (1,3)
(1,2)
sage: G = SymmetricGroup(3)
sage: S = G.gens()+[G.gens()[0]^(-1)]; S
[(1,2,3), (1,2), (1,3,2)]
sage: A = G.cayley_graph(generators=S,simple=True).adjacency_matrix()
sage: Gamma1 = Graph(A)
sage: Gamma1.show(layout="spring", dpi = 300)
Launched png viewer for Graphics object consisting of 16 graphics primitives
sage: AG1 = Gamma1.automorphism_group()
sage: AG1.cardinality()
12
sage: Gamma2 = graphs.CycleGraph(5)
sage: Gamma3 = Gamma1.cartesian_product(Gamma2)
sage: AG3 = Gamma3.automorphism_group()
sage: AG3.cardinality()
120
sage: AG33 = AG3.sylow_subgroup(3)
sage: AG33.cardinality()
3
sage: AG32 = AG3.sylow_subgroup(2)
sage: AG32.cardinality()
8
sage: G0 = AG3.subgroup([AG32.list()[2],AG33.list()[1]])
sage: G0.cardinality()
6
sage: G0.is_normal(AG3)
True
sage: G0.is_abelian()
False
sage: Gamma4 = quotient_graph(Gamma3, G0)
sage: Gamma4.is_circulant()
True
sage: Gamma4.is_connected()
True
sage: len(Gamma4.vertices())
5
{0}, {7, 41, 10, 44, 50, 88, 94, 31}, {16, 1, 101},
{17, 2, 100, 25, 36, 15}, {64, 65, 67, 4, 98, 70, 71, 73, 76, 13, 77,
82, 19, 20, 23, 27, 28, 34, 38, 54, 55, 84, 61, 62},
{66, 35, 37, 72, 83, 14, 99, 18, 3, 24, 26, 63},
{68, 5, 97, 74, 75, 12, 78, 81, 21, 22, 90, 91, 86, 29, 69,
33, 39, 46, 47, 53, 56, 57, 60, 85}, {96, 6, 8, 9, 11, 79, 80, 87, 89, 92,
93, 30, 95, 32, 40, 42, 43, 45, 48, 49, 51, 52, 58, 59}.
1 4 6 2 3 0 5 7
3.1 Motivation
Question 3.2. Does the Riemann–Roch theorem for Riemann surfaces have
an analog for graphs?
There are several similarities between graphs and manifolds. This chapter
explores some of these connections.
An excellent reference for Riemann surfaces can be found in Miranda’s
text [Mi95].
C 0 (Γ, F ) = {f : V → F }, C 1 (Γ, F ) = {f : E → F },
Γ. Recall from (1.3) that if F is a field then these are F -inner product spaces
and
dim C 0 (Γ, F ) = |V |, dim C 1 (Γ, F ) = |E|.
B : C 1 (Γ, F ) → C 0 (Γ, F )
V = V1 ∪ V 2 , Vi = ∅, V1 ∩ V2 = ∅,
Z(Γ) = Z(Γ, F ).
1 Indeed,
it is often denoted by D but we shall have to use D for several other things, so
we denote the difference operator by B instead.
3.3 HARMONIC MORPHISMS ON A GRAPH 99
f : E → F,
satisfying2
• u∈V, (u,v)∈E f (u, v) = w∈V, (v,w)∈E f (v, w).
Suppose Γ has a subgraph H and f is a circulation of Γ such that f
is a constant function on H and 0 elsewhere. We call such a circulation a
characteristic function of H. For example, if Γ has a cycle C and if f is the
characteristic function on C, then f is a circulation.
The circulation space C is the F -vector space of circulation functions. The
cycle space is “clearly” a subspace of the circulation space, since the F -vector
space spanned by the characteristic functions of cycles may be identified with
the cycle space of Γ. Under the inner product (1.3), i.e.,
(f, g) = f (e)g(e), (3.1)
e∈E
2 Note: Some authors add the condition f (e) ≥ 0—see e.g., Chung [Ch05].
100 3 GRAPHS AS MANIFOLDS
Let Γ1 and Γ2 be finite connected graphs which may have multi-edges but
do not have loops.
We will assume that we have arbitrary orientations assigned to the edges
of Γ1 and Γ2 , so that for each edge e, one vertex is the head of e and the
other vertex is the tail of e. The head and tail cannot be the same vertex,
since there are no loops.
Definition 3.3.4. For any vertex v of a graph Γ, we define the star StΓ (v)
to be the subgraph of Γ defined by the edges incident to v.
Definition 3.3.5. Suppose that Γ1 has at least one edge. A graph morphism
φ : Γ2 → Γ1 is called harmonic if for all vertices v ∈ V (Γ2 ), the quantity
Figure 3.1: There is a harmonic morphism from the ladder graph to the path graph.
The morphism φ is harmonic. The edges (0, 3), (1, 4), and (2, 5) are all ver-
tical, while the remaining edges of Γ2 are all horizontal.
Example 3.3.7. The graph morphism φ which sends two opposite vertices
of the cube graph Γ2 to a vertex of the tetrahedron graph Γ1 = K4 (depicted
in Figure 1.1) is harmonic. We will return to this example later (see Example
3.3.12).
102 3 GRAPHS AS MANIFOLDS
Let Γ1 and Γ2 be connected graphs which may have multi-edges, but do not
have loops. Let φ : Γ2 → Γ1 be a nonconstant graph morphism. We will
assume, unless stated otherwise, that Γ1 and Γ2 each have at least one edge.
Suppose that we have orderings on the vertex sets and edge sets as follows:
V1 = {w1 , w2 , . . . , wn1 }
V2 = {v1 , v2 , . . . , vn2 }
E1 = {f1 , f2 , . . . , fm1 }
E2 = {e1 , e2 , . . . , em2 }.
and
104 3 GRAPHS AS MANIFOLDS
⎛ ⎞
1 0 0 0 0 0
⎜ 0 1 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 1 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 0 1 0 ⎟
⎜ ⎟
⎜ 0 0 0 1 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 0 0 1 ⎟
ΦE = ⎜
⎜
⎟.
⎜ 0 0 0 −1 0 0 ⎟
⎟
⎜ 0 0 −1 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 0 0 −1 ⎟
⎜ ⎟
⎜ 0 0 0 0 −1 0 ⎟
⎜ ⎟
⎝ 0 −1 0 0 0 0 ⎠
−1 0 0 0 0 0
Figure 3.3: The cube graph is a 2-fold cover of the tetrahedron graph.
We will now give two exercises which lead to a graph morphism identity
relating the incidence matrices and the vertex and edge map matrices.
Suppose that Γ2 and Γ1 are connected graphs and Γ1 has at least one edge.
Let B1 and B2 be the incidence matrices with respect to fixed orderings on
the vertices and edges of the graphs and arbitrary orientations on their edges.
The next exercise shows that identity 3.3 and condition (3) of Definition
3.3.1 characterize graph morphisms. Of course, if there are no vertical edges
with respect to a given edge map, condition (3) is not needed, and identity
3.3 characterizes a graph homomorphism.
Exercise 3.6. Suppose that Γ2 and Γ1 are connected graphs with at least
one edge each. Let B1 and B2 be the incidence matrices with respect to fixed
orientations on their edges. Suppose that a map φV : V2 → V1 with vertex
map matrix ΦV and a map φE : E2 → E1 ∪V1 with a signed edge map matrix
ΦE are given. Assume Γ2 has at least one vertical edge with respect to this
map. Show that (a) if ΦV and ΦE satisfy the identity 3.3, and (b) if φE and
φV satisfy condition (3) of Definition 3.3.1 for graph morphisms, then φV
and φE determine a graph morphism φ : Γ2 → Γ1 .
Exercise 3.7. Let Γ2 and Γ1 be connected graphs with at least one edge
each. Suppose that φ : Γ2 → Γ1 is a graph morphism. Let F be a field,
106 3 GRAPHS AS MANIFOLDS
B∗2
C 0 (Γ2 , F ) −−−− → C 1 (Γ2 , F )
Proof. This follows from the fact that μφ (v, f ) = |φ−1 (f ) ∩ StΓ2 (v)|.
Thus mφ (v) is the number of edges adjacent to v that map to any edge
adjacent to φV (v). If Γ1 has no edges, mφ (v) is defined to be 0 for all v ∈ V2 .
The next exercises and lemmas will lead to an identity relating the hori-
zontal multiplicities of a harmonic morphism to the incidence, edge map, and
vertex map matrices.
Example 3.3.21. We use the notation from Example 3.3.8. In this case, for
each v ∈ V2 , we have
mφ (v) = 1.
We now define the multiplicity-vertex map matrix and prove our first
identity for harmonic morphisms.
ΦmV = Mφ ΦV .
B2 ΦE = ΦmV B1 , (3.4)
3.3 HARMONIC MORPHISMS ON A GRAPH 109
n2
n1
(ΦmV B1 )al = (Mφ )aj (ΦV )jk (B1 )kl by the definition of ΦmV
j=1 k=1
n1
= mφ (va )(ΦV )ak (B1 )kl by the definition of Mφ
k=1
= mφ (va )(B1 )ãl since φV (va ) = wã
= (B2 ΦE )al by Lemma 3.3.22.
Our next exercise shows that the existence of a diagonal matrix Mφ such
that ΦmV = Mφ ΦV satisfies identity 3.4 characterizes harmonic morphisms.
B 1
C 1 (Γ1 , F ) −−−− → C 0 (Γ1 , F )
⏐ ⏐
ΦE
⏐ ΦmV
⏐
B 2
C 1 (Γ2 , F ) −−−− → C 0 (Γ2 , F )
Q2 ΦV = ΦmV Q1 . (3.5)
B2t ΦV = ΦE B1t .
B2 B2t ΦV = B2 ΦE B1t .
i.e.,
Q2 ΦV = ΦmV Q1 .
Q2
C 0 (Γ2 , F ) −−−−→ C 0 (Γ2 , F )
i.e., the local degree of φ at f ∈ Γ1 is the sum of the local horizontal multi-
plicities of φ at v and f for all vertices v ∈ Γ2 such that φV (v) = w.
Proof. Since Γ1 is connected, it is enough to prove that for any two adjacent
edges fi and fj , dφ (fi ) = dφ (fj ). Suppose that w is a vertex in Γ1 that is
adjacent to both fi and fj . By Corollary 3.3.28,
dφ (fi ) = mφ (v) = dφ (fj ).
v∈φ−1
V (w)
deg(φ) = dφ (f )
for any edge f ∈ Γ1 , i.e., deg(φ) is the number of pre-images of each edge in
Γ1 . If Γ1 consists of a single vertex and no edges, we define deg(φ) = 0.
and
n2
deg(φ) = (ΦmV )kp . (3.8)
k=1
Proof. The first statement was shown in the proof of Lemma 3.3.29 and the
second follows from the definition of ΦmV .
Then
3.3 HARMONIC MORPHISMS ON A GRAPH 113
n2
(ΦtV ΦmV )ij = (ΦV )ki (ΦmV )kj
k=1
n2
k=1 (ΦV )ki (ΦmV )ki , if i = j,
=
0, j,
if i =
vk ∈Φ−1 mφ (vk ), if i = j,
= V (wp )
0, if i = j,
deg(φ), if i = j,
=
0, j.
if i =
m2
(ΦtE ΦE )ij = (ΦE )ki (ΦE )kj
k=1
m2 2
k=1 (ΦE )ki , if i = j,
=
0, j.
if i =
[0, 6, 6, 6, 6, 3, 3, 3, 3]
sage: Q1 = Gamma1.laplacian_matrix()
sage: E1 = Q1.right_eigenspaces()
sage: Q1.eigenvalues()
[0, 3, 3]
• the vector
v0 = (1, 1, 1, 1, 1, 1, 1, 1, 1)
v0 ΦV = (3, 3, 3).
• the vectors
xi ΦV = (0, 0, 0), i = 1, 2, 3, 4.
• the vectors
while
While most are omitted, some of the computations supporting this are
given below.
Sage
sage: v0 = E2[0][1].basis()[0]; v0
(1, 1, 1, 1, 1, 1, 1, 1, 1)
sage: Q2*v0 == 0*v0
True
sage: v0*PhiV
(3, 3, 3)
sage: v1 = E2[1][1].basis()[0]; v1
(1, 0, -1, 0, 0, 0, 0, 1, -1)
sage: Q2*v1 == 6*v1
True
sage: v1*PhiV
(0, 0, 0)
sage: v5 = E2[2][1].basis()[0]; v5
(1, 0, 0, 0, 1, 0, -1, -1, 0)
sage: Q2*v5
(3, 0, 0, 0, 3, 0, -3, -3, 0)
sage: v5*PhiV
(1, -2, 1)
It can be verified that this morphism φ is harmonic and satisfies the graph
morphism identity of Proposition 3.3.13.
Give the edges of Γ2 ,
(0, 1), (0, 2), (0, a + 1), (0, 2a + 2), (1, 2), (1, a + 2), (1, 2a), (2, a),
(2, 2a + 1), (a, a + 1), (a, a + 2), (a, 2a + 1), (a + 1, a + 2),
(a + 1, 2a + 2), (a + 2, 2a), (2a, 2a + 1), (2a, 2a + 2), (2a + 1, 2a + 2),
⎛ ⎞
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
⎜ −1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 −1 0 0 −1 0 0 1 1 0 0 0 0 0 0 0 0 0 ⎟
⎜ ⎟
⎜ ⎟
⎜ 0 0 0 0 0 0 0 −1 0 1 1 1 0 0 0 0 0 0 ⎟
⎜ ⎟
⎜
B2 = ⎜ 0 0 −1 0 0 0 0 0 0 −1 0 0 1 1 0 0 0 0 ⎟.
⎟
⎜ 0 0 0 0 0 −1 0 0 0 0 −1 0 −1 0 1 0 0 0 ⎟
⎜ ⎟
⎜ ⎟
⎜ 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 −1 1 1 0 ⎟
⎜ ⎟
⎝ 0 0 0 0 0 0 0 0 −1 0 0 −1 0 0 0 −1 0 1 ⎠
0 0 0 −1 0 0 0 0 0 0 0 0 0 −1 0 0 −1 −1
and ⎛ ⎞
0 0 0
⎜ 0 0 0 ⎟
⎜ ⎟
⎜ 0 1 0 ⎟
⎜ ⎟
⎜ 1 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 ⎟
⎜ ⎟
⎜ 0 1 0 ⎟
⎜ ⎟
⎜ 1 0 0 ⎟
⎜ ⎟
⎜ 0 1 0 ⎟
⎜ ⎟
⎜ 1 0 0 ⎟
ΦE = ⎜
⎜
⎟.
⎜ 0 0 0 ⎟
⎟
⎜ 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 −1 ⎟
⎜ ⎟
⎜ 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 −1 ⎟
⎜ ⎟
⎜ 0 0 −1 ⎟
⎜ ⎟
⎜ 0 0 0 ⎟
⎜ ⎟
⎝ 0 0 0 ⎠
0 0 0
(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)
In this section, we will define coverings and state our identities for this spe-
cial case of harmonic morphisms. We will also prove an identity for edge
Laplacians of coverings.
We give two generalizations of coverings, for which many of our results for
coverings also hold.
We will now state our previous identities for harmonic morphisms for the
special case of coverings.
B2 ΦE = ΦV B1 (3.10)
Q2 ΦV = ΦV Q1 (3.11)
3.3 HARMONIC MORPHISMS ON A GRAPH 119
where n1 is the number of vertices of Γ1 and In1 is the n1 ×n1 identity matrix.
Q̃ = B t B.
Q̃2 ΦE = ΦE Q̃1 .
Proof. Using the identities above, and the fundamental identity for graph
morphisms,
Q̃2 ΦE = B2t B2 ΦE
= B2t ΦV B1
= ΦE B1t B1
= ΦE Q̃1 .
See also Corry [Co11], Baker-Norine [BN09], and [MM14] Mednykh and
Mednykh for further material on graph coverings and harmonic morphisms.
ΦtV Q2 ΦV
Theorem 3.3.44. Let φ : Γ2 → Γ1 be a nonconstant covering map. Let Q1
and Q2 be the Laplacian matrices of Γ1 and Γ2 and let ΦV be the vertex
map matrix (with respect to some orderings on the vertices and edges of the
graphs). Let x be an eigenvector of Q1 corresponding to an eigenvalue λ.
Then ΦV x is an eigenvector Q2 corresponding to the eigenvalue λ.
Proof. Recall that if φ is a covering map then all the horizontal multiplicities
are 1 so that the multiplicity-vertex map matrix ΦmV equals the vertex map
matrix ΦV . Let x be an eigenvector of Q1 corresponding to the eigenvalue λ,
and let x = ΦV x. Then
Q2 x = Q2 ΦV x
= ΦV Q1 x by Proposition 3.3.25
= ΦV λx
= λx .
Exercise 3.15. Suppose that φ : Γ2 → Γ1 is a quasi-multicover, i.e., φ is a
harmonic morphism such that all horizontal multiplicities mφ (vi ) at vertices
vi are equal to a constant m. Show that if x is an eigenvector of Q2 corre-
sponding to an eigenvalue λ, then ΦV x is an eigenvector of Q1 corresponding
to the eigenvalue mλ.
1
genus(Γ2 ) − 1 = deg(φ)(genus(Γ1 ) − 1) + ((mφ (v) − 1) + νφ (v)), (3.13)
2
v∈V2
where mφ (v) denotes the horizontal multiplicity and νφ (v) denotes the ver-
tical multiplicity of φ at v ∈ V2 .
Proof. The proof follows from Lemmas 3.3.20 and 3.3.32. For more details,
see Baker and Norine [BN09], Corry [Co11].
Riemann–Hurwitz formula (with group action)
Let G be a finite group acting on a graph Γ.
Definition 3.3.46. An edge {v, w} ∈ E(Γ) is said to be fixed by G if there
is a nontrivial element g ∈ G that fixes v and w. An edge {v, w} ∈ E(Γ) is
said to be reversed by G if there is a nontrivial element g ∈ G that swaps
v and w. We say that G acts on Γ without edge reversal if Γ has no edges
swapped by G.
The following statement is the Riemann–Hurwitz Formula for graphs with
a group action (see Mednykh [M15]).
Theorem 3.3.47. Let G be a finite group acting on graph Γ without fixed
and invertible edges. We have
genus(Γ) − 1 = |G|(genus(Γ/G) − 1) + (|Gv | − 1), (3.14)
v∈VΓ
id
Γ1 −−−−→ Γ1
Jac(Γ)/G ∼
= Jac(Γ).
Γ = Cay(G, S) ◦ Γ, (3.15)
denote the rooted graph product of the Cayley graph of G with the graph Γ,
for any fixed root v0 of Γ. In this case, we see that, by the Lemma above, the
Jacobian satisfies
Jac(Γ) ∼
= Jac(Cay(G, S)) × Jac(Γ)|G| ,
where G acts via the natural action on Jac(Cay(G, S)) and by permuting
the coordinates of product Jac(Γ)|G| . This implies Jac(Γ)/G ∼
= Jac(Γ).
0 3
1 4
2 5
Example 3.4.4. Let G denote the cyclic group on three letters and let Γ =
({0, 1}, {(0, 1)}) denote the simple graph having two vertices and one edge
connecting them. A G-cover Γ → Γ is depicted in Figure 3.4.
Example 3.4.5. This is a continuation of Example 3.3.12.
There is a harmonic morphism φ : Γ2 → Γ1 , between the cube graph
Γ2 and the tetrahedron graph Γ1 (depicted in 3.3). The corresponding map
on the edges ΦE and the map ΦV on the vertices, described above, can be
computed explicitly.
For the Laplacian of Γ2 , the eigenvalues are λ1 = 0, λ2 = 2, λ3 = 4,
λ4 = 6, and the corresponding (right) eigenspaces are
E1 = span{(1, 1, 1, 1, 1, 1, 1, 1)},
and
E4 = span{(1, −1, −1, 1, −1, 1, 1, −1)}.
E1 = span{(1, 1, 1, 1)},
is harmonic and satisfies the property that all horizontal multiplicities mφ (vi )
equal 1. However, it is not a multicover because there are vertical edges (for
example (0, 1) is vertical). We call it a quasicover. The following computation
shows that the statement in the above theorem holds in this case anyway.
3.4 G-EQUIVARIANT COVERING GRAPHS 125
We have ⎛ ⎞
1 0 0
⎜ 1 0 0 ⎟
⎜ ⎟
⎜ 1 0 0 ⎟
⎜ ⎟
⎜ 0 0 1 ⎟
⎜ ⎟
ΦV = ⎜
⎜ 0 0 1 ⎟.
⎟
⎜ 0 0 1 ⎟
⎜ ⎟
⎜ 0 1 0 ⎟
⎜ ⎟
⎝ 0 1 0 ⎠
0 1 0
3. Two intermediate graphs Γ and Γ are equal if and only if τ (Γ) = τ (Γ ).
4. We have H = τ (σ(H)) and Γ = σ(τ (Γ)), for each subgroup H of G and
each Γ intermediate to Γ2 → Γ1 . Therefore, we have a bijective cor-
respondence between intermediate graphs and subgroups of the Galois
group.
5. If H and H are subgroups of G, and if Γ and Γ are the corresponding
intermediate graphs, then Γ is intermediate to Γ2 → Γ if and only if
H ⊂ H .
In this section, we will discuss divisors on graphs and prove Baker and
Norine’s [BN07] Riemann–Roch theorem for graphs.
We will assume that Γ is a finite connected graph which has no loops but
may have multiple edges between pairs of vertices. We will let V be the set
of vertices and E the set of edges of Γ.
Recall that the genus of the graph Γ is defined to be
genus(Γ) = |E| − |V | + 1.
where D(v) ∈ Z for all v ∈ V . The set of all divisors on Γ is denoted Div(Γ)
and is the free abelian group on V .
The degree of a divisor D is defined to be
deg(D) = D(v).
v∈V
We denote by Divd (Γ) the set of all divisors of degree d on Γ. Note Div0 (Γ)
is an abelian subgroup of Div(Γ).
If f is a function in C 0 (Γ, Z), i.e., a function f : V → Z, we define the
principal divisor associated with f to be
3.5 A RIEMANN–ROCH THEOREM ON GRAPHS 127
⎛ ⎞
div(f ) = ⎝f (v)deg(v) − f (w)Avw ⎠ v
v∈V w=v
φ∗ : Jac(Γ2 ) → Jac(Γ1 )
φ∗ : Jac(Γ1 ) → Jac(Γ2 )
i.e., |D| is the set of all effective divisors linearly equivalent to D. Note that
if D1 ∼ D2 , then |D1 | = |D2 |. We note also that if deg(D) < 0, then |D|
must be empty.
128 3 GRAPHS AS MANIFOLDS
Example 3.5.1. Let Γ be the cycle graph with 4 vertices having vertices
(arranged counterclockwise around the graph) 0, 1, 2, 3 and let D be the
divisor (1, 0, 1, 0) (supported on 0 and 2). In this case,
Then υP is non-special.
Remark 3.5.5. We will usually abbreviate the formula for υP , using the
0 i−1
convention that j=1 Aij = 0, so that we write υP (vi ) = −1 + j=1 Aij for
all i.
1
n
= −n + deg(vi )
2 i=1
= −|V | + |E|
= g − 1.
D − Qx = υ,
Definition 3.5.6. For any set W ⊂ V , and any vertex v ∈ W , we define the
outdegree of W at v, denoted outdegW (v) to be the number of edges from v
to vertices in the complement of W .
130 3 GRAPHS AS MANIFOLDS
In fact, as we will see later, this set of divisors has a natural abelian finite
group structure—the critical group of Γ.
Proposition 3.5.9. Let D be any divisor on Γ. Then
1. if the linear system |D| is non-empty, then the linear system |υ − D| is
empty for all non-special divisors υ, and
2. if the linear system |D| is empty, then there exists a non-special divisor
υP , associated to some ordering P of the vertices of Γ, such that the
linear system |υP − D| is non-empty.
Proof. Suppose that the linear system |D| is non-empty, and that D is an
effective divisor linearly equivalent to D. Note that |υ − D| = |υ − D | since
υ − D is linearly equivalent to υ − D . If there is a non-special divisor υ
such that |υ − D| is non-empty, then there is an effective divisor E such
that υ − D is linearly equivalent to E. Thus, υ is linearly equivalent to the
effective divisor D + E, which is impossible, since υ is non-special.
Now suppose that the linear system |D| is empty. Pick a vertex v1 and
let Dr be the unique v1 -reduced divisor linearly equivalent to D. Note that
Dr (v1 ) ≤ −1 since otherwise, Dr would be effective and |D| would not be
k−1
outdegWk (vk ) = Akj .
j=1
Now we apply the method of Lemma 3.5.4 to obtain the non-special divisor
υP associated to the ordering P = (x1 , x2 , . . . , xn ), and given by
−1, if k = 1,
υP (vk ) = k−1
−1 + j=1 Akj , if k > 1,
−1, if k = 1,
=
−1 + outdegWk (vk ), if k > 1.
since Dr (v1 ) ≤ −1, as noted above. For k > 1 we have D(vk ) < outdegWk (vk )
by the choice of vertices vk . Thus, for k > 1, we have
and
−1, if k = n,
υP (vk ) = n
−1 + j=k+1 Akj , if k < n.
Thus
υP (vk ) + υP (vk ) = −2 + Akj
j=k
= −2 + deg(vk )
= K(vk ),
D = D+ − D− .
We define
Thus
deg(D) = deg+ (D) − deg− (D). (3.17)
Example 3.5.13. We use the notation of Examples 3.3.8, 3.3.34 and 3.4.6
above: φ : Γ2 → Γ1 is a harmonic morphism, where Γ2 is the Paley graph
on 9 vertices in GF (9) (see Figure 1.12) and Γ1 is the cycle graph on three
vertices 0, 1, 2. Let v0 = 0, v1 = 1, v2 = 2, v3 = a, v4 = a + 1, v5 = a + 2,
v6 = 2a, v7 = 2a + 1, and v8 = 2a + 2. The divisor
D = −4 · v0 − 3 · v1 − 2 · v2 − v3 + 0 · v4 + v5 + 2 · v6 + 3 · v7 + 3 · v8 ,
Since
5 Note that ΦtV D = φ∗ (D) is the pushforward of the divisor, in the sense of §3.6.1.
134 3 GRAPHS AS MANIFOLDS
⎛ ⎞
0 0 0
⎜ 0 0 0 ⎟
⎜ ⎟
⎜ 0 1 0 ⎟
⎜ ⎟
⎜ 1 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 ⎟
⎜ ⎟
⎜ 0 1 0 ⎟
⎜ ⎟
⎜ 1 0 0 ⎟
⎜ ⎟
⎜ 0 1 0 ⎟
⎜ ⎟
⎜ 1 0 0 ⎟
ΦE = ⎜
⎜
⎟
⎜ 0 0 0 ⎟
⎟
⎜ 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 −1 ⎟
⎜ ⎟
⎜ 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 −1 ⎟
⎜ ⎟
⎜ 0 0 −1 ⎟
⎜ ⎟
⎜ 0 0 0 ⎟
⎜ ⎟
⎝ 0 0 0 ⎠
0 0 0
and ΦtE ΦE = 3I3 , where I3 is the 3×3 identity matrix, it follows from Lemma
3.3.33 that deg(φ) = 3. Therefore,
|D − Em | = |D − Em |
= |D − (D − υ)+ |
= |D − υ − (D − υ)+ + υ|
= | − (D − υ)− + υ|.
Next, suppose that r(D) < m − 1, where m is as above. Then there exists
an effective divisor Em−1 of degree m − 1 such that |D − Em−1 | is empty.
By Proposition 3.5.9, there exists a non-special divisor υ such that |υ − (D −
Em−1 )| is not empty. Thus, there exists a divisor D linearly equivalent to D
such that υ − D + Em−1 is effective, i.e., υ − D + Em−1 ≥ 0. Rewriting as
Em−1 ≥ D − υ gives deg(Em−1 ) ≥ deg+ (D − υ), i.e., m − 1 ≥ deg+ (D − υ).
This contradicts our definition of m above. Thus r(D) = m − 1.
Proof. We will show that the theorem follows directly from Proposition
3.5.14.
Let m = min{deg+ (D − υ) : D ∼ D and υ ∈ N } and let D and υ be
divisors for which the minimum is achieved. Then
n2
D= ai vi
i=1
i.e.,
n1
φ∗ (D) = D = bj wj
j=1
b = ΦtV a.
Lemma 3.6.2.
deg(φ∗ (D)) = deg(D)
n1
Proof. Let D = φ∗ (D) = j=1 bj wj . We have
n1
deg(D ) = bj
j=1
n1 n2
= (ΦV )kj ak .
j=1 k=1
Note that for each k, there is exactly one j such that (ΦV )kj = 1. Therefore,
n2
deg(D ) = ak = deg(D).
k=1
n2
φ∗ (D ) = D = aj vj
j=1
a = ΦmV b.
Lemma 3.6.5.
deg(φ∗ D ) = deg(φ)deg(D )
n2
deg(φ∗ D) = aj
j=1
n2 n1
= (ΦmV )jk bk
j=1 k=1
mφ (vj )bk , if φ(vj ) = wk ,
=
0, otherwise,
= deg(φ)deg(D ).
Lemma 3.6.6. Suppose that φ is a harmonic morphism and D is a divisor
on Γ1 . Then
138 3 GRAPHS AS MANIFOLDS
by Lemma 3.3.33.
We will discuss the induced pullback map on Jacobians later, after intro-
ducing the energy pairing.
Proof. Recall that if the linear system |D| of D is empty then r(D) = −1, and
if |D| is not empty, then r(D) is the largest nonnegative integer d such that
|D − E| is non-empty, for all effective divisors E of degree d. If |D| is empty,
the statement of the proposition holds trivially. Suppose that r(D) = d ≥ 0.
Recall that the pushforward map φ∗ is a surjective map on vertices. Therefore,
if E is an effective divisor of degree d on Γ1 , then E is of the form φ∗ E for
some effective divisor E of degree d on Γ2 . Since r(D) = d, the linear system
|D − E| is non-empty, so there exists an effective divisor F on Γ2 and an
n2 -vector of integers x such that
F = D − E + Q2 x.
φ∗ (F ) = φ∗ (D − E + Q2 x)
= φ∗ (D) − φ∗ (E) + ΦtV Q2 x
= φ∗ (D) − φ∗ (E) + Q1 ΦtmV x.
(0, 0) (0, 1)
(0, 0) (0, 1)
(1, 0) (1, 1)
Figure 3.5: There is a harmonic morphism from the grid graph to the path graph.
φ : {(0, 0), (1, 0)} → (0, 0), {(0, 1), (1, 1)} → (0, 1).
The map ΦV induces a map between the linear system |D| of a divisor
D on Γ2 , and the corresponding linear system |φ∗ (D)| of the pushforward
divisor φ∗ (D) on Γ1 .
Figure 3.6: There is a harmonic morphism from the tetrahedron graph to the path graph.
140 3 GRAPHS AS MANIFOLDS
We have ⎛ ⎞
1 0
⎜ 0 1⎟
⎜
ΦV = ⎝ ⎟,
1 0⎠
0 1
{0} → 0, {1, 2, 3} → 1,
r((1, 0, 0, 1)) = 0,
r((2, 0, 0, 1)) = 0,
r((3, 0, 0, 1)) = 1,
r((2, 1, 1, −1)) = 0, and
r((3, 1, 1, −1)) = 1.
Proof. We need only note that r +dq is q-reduced if and only if r is q-reduced,
which follows directly from the definition of q-reduced divisors.
r(q) ≥ −s.
Example 3.6.14. Consider the theta graph Γ with two vertices, v1 and v2 ,
and three edges between v1 and v2 . The genus of Γ is 2. The canonical divisor
of Γ is K = v1 + v2 .
142 3 GRAPHS AS MANIFOLDS
v1 v2
There are three linear equivalence classes of degree 0 divisors, the classes
determined by D01 = 0, D02 = −v1 + v2 , and D03 = −2v1 + 2v2 . The
corresponding linear systems are
D = (d − a )v1 + a v2
= (d − a − 3k)v1 + (a + 3k)v2
= D − k(3v1 − 3v2 ).
Thus, there are three linear equivalence classes of degree d divisors, the classes
determined by Dd1 = dv1 , Dd2 = (d − 1)v1 + v2 , and Dd3 = (d − 2)v1 + 2v2 .
For d = 1, the corresponding linear systems are
Note that for any divisor D of degree d ≥ 3, we have deg(K −D) = 2−d <
0, so r(K − D) = −1. Thus, by the Riemann–Roch theorem,
4.1 Motivation
Question 4.1. To what extent does the symmetry of a graph affect the chip-
firing game on that graph?
Question 4.2. To what extent does the Laplacian determine the chip-firing
game on a graph?
4.2 Introduction
Let Γ be a finite connected graph with vertex set V and edge set E. We will
assume that Γ may be a multigraph (i.e., there may be more than one edge
4.2 INTRODUCTION 147
between two distinct vertices) but Γ has no loops (i.e., there are no edges
from a vertex to itself). Let n = |V | be the number of vertices and m = |E|
the number of edges. The Laplacian matrix Q of Γ, as defined in (2.3), is the
n × n matrix indexed by vertices of Γ, whose (u, v)-th entry is the negative
of the number of edges from u to v, if u = v, and whose (u, u)-th entry is the
degree or valency of the vertex u.
Let x = (x0 , x1 , . . . , xn−1 ) be a variable vector indexed by the vertices of Γ
and let y = Qx. Roughly speaking, each coordinate yj is a linear combination
of the xi s, and the only xi that occur in this relation are those indexed by
vertices connected to j by an edge in Γ.
Throughout this chapter, unless stated otherwise, we will treat Q as a map
Q : Zn → Zn . By the image of Q, we mean the set of all vectors Qx, where
x ∈ Zn .
Example 4.2.1. The Laplacian matrix of the complete graph on 4 vertices
K4 = (V, E) (shown in Figure 1.1 and in Figure 1.10) is
⎛ ⎞
3 −1 −1 −1
⎜ −1 3 −1 −1 ⎟
Q=⎜
⎝ −1 −1
⎟.
3 −1 ⎠
−1 −1 −1 3
As the Sage code below shows, the rank of Q is indeed 11 and it does, in fact,
have the all 1’s vector in its kernel.
Sage
w1 v1 + · · · + wn vn ∈ Z[V ].
s(v) ≥ 0 for v = q
and
s(q) = − s(v).
v=q
Note that some authors use the terminology “configuration” to refer only
to q-legal configurations.
We think of s(v) as representing the number of chips or dollars at the
vertex v. Only the vertex q is allowed to be “in debt”. When we think of the
chips as dollars at each vertex, the game is also called a dollar game. The
sum of all chips on all vertices is assumed to be 0. (If the sum were different
from 0, it would not affect the allowed moves, described below.)
150 4 CHIP-FIRING GAMES
Example 4.3.5. Consider the diamond graph shown in Figure 4.1 with ver-
tices {q = v1 , v2 , v3 , v4 }.
v2 v3
v4
s1 = (−6, 3, 2, 1)
s2 = (−5, 0, 3, 2)
s3 = (−5, 1, 4, 0)
s4 = (−4, 2, 1, 1)
s5 = (−6, 3, 2, 1).
4.3 CONFIGURATIONS ON GRAPHS 151
Exercise 4.3. Consider the diamond graph of Example 4.3.5 with configu-
ration s = (−6, 2, 1, 3). Let x = (1, 1, 1, 2) (corresponding to the sequence of
chip-firings of Example 4.3.5), and let Q be the Laplacian matrix
⎛ ⎞
2 −1 −1 0
⎜ −1 3 −1 −1 ⎟
Q=⎜
⎝ −1 −1
⎟.
3 −1 ⎠
0 −1 −1 2
Example 4.3.7. Consider the diamond graph of Example 4.3.5 and let W
be the vertex set W = {v2 , v3 , v4 }. Then
Proof. If v ∈ W ,
outdegW (v) = Avw
w∈W
/
= (1 − xW (w)) Avw
w=v
= deg(v) − xW (w)Avw
w=v
= QxW (v).
Exercise 4.4. Verify conditions (1) - (3) of Lemma 4.3.9 for the diamond
graph of Figure 4.1, the set W = {v2 , v3 , v4 }, and its characteristic vector
xW = (0, 1, 1, 1).
Exercise 4.5. Let W be the set of vertices {2, 3} of the graph of Figure 4.3
and let Q be the Laplacian matrix of this graph. Calculate xtW QxW .
Note that if W can be fired q-legally, then s(v) ≥ outdegW (v) for all ver-
tices v in W . Consequently,
-8
4 1
Figure 4.2: The cycle graph with legal configuration (−8, 4, 3, 1).
The next lemma gives a formula for the relative degree of a configuration
s on a non-empty set W .
Proof. The formula follows immediately from the definition of the relative
degree degW (s).
154 4 CHIP-FIRING GAMES
Exercise 4.6. Let Γ be the diamond graph of Figure 4.1, let s = (−5, 2, 2, 1),
and let W = {v2 , v3 , v4 }. Show that W may be fired q-legally and that the
resulting configuration is s = (−3, 1, 1, 1).
of them.
Notice that vertex 0 is active. If we fire 0 then we get the new configuration
s = (1, 2, 1, 1, −5). Indeed, if we compute s = s − Qx{0} , we get:
⎛ ⎞ ⎛ ⎞⎛ ⎞ ⎛ ⎞
3 2 −1 −1 0 0 1 1
⎜ 1 ⎟ ⎜ −1 2 −1 0 0 ⎟⎜ 0 ⎟ ⎜ 2 ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟
s = ⎜
⎜ 0 ⎟−⎜
⎟ ⎜ −1 −1 3 −1 0 ⎟⎜
⎟⎜ 0 ⎟=⎜
⎟ ⎜ 1 ⎟.
⎟
⎝ 1 ⎠ ⎝ 0 0 −1 2 −1 ⎠⎝ 0 ⎠ ⎝ 1 ⎠
−5 0 0 0 −1 1 0 −5
0
(3, 1, 0, 1, −5) → (1, 2, 1, 1, −5).
3 2
(0, 1, 2, 2, −5) → (0, 1, 3, 0, −4) → (1, 2, 0, 1, −4)
1 0 q
→ (2, 0, 1, 1, −4) → (0, 1, 2, 1, −4) → (0, 1, 2, 2, −5).
Exercise 4.7. Show that the configurations (1, 0, 2, 1, −4) and (1, 1, 2, 1, −5)
are also critical for the graph of Figure 4.3 with q = 4 as the sink vertex.
Remark 4.3.20. Note that, by Lemma 2.2.6 on the kernel of the Laplacian,
a q-recurrent sequence of chip-firings applied to a configuration must fire
each vertex of the graph the same number of times. Conversely, any q-legal
sequence in which each vertex is fired the same number of times must be
q-recurrent.
i.e.,
s (w) + outdegW (w) ≥ 2deg(w).
Proof. The result follows immediately from Proposition 4.3.22, since any q-
legal complete q-pointed sequence of chip-firings is necessarily q-recurrent.
158 4 CHIP-FIRING GAMES
Exercise 4.8. Let Γ be the diamond graph of Figure 4.1. Show that the
configuration (−4, 2, 2, 0) is q-critical by showing that the sequence of vertex-
firings {q, v3 , v2 , v4 } is q-legal.
We introduce the notion of reduced configurations and show that they are
complementary to critical configurations, with respect to the maximal degree
0 q-stable configuration. There are only finitely many reduced configurations,
since there are only finitely many critical configurations. Reduced config-
urations may also be described in terms of the combinatorial notion of a
G-parking function on a graph.
We begin by extending the notion of a stable vertex v = q, to a stable set
W ⊂ V \ {q}.
Example 4.3.26. Let Γ be the diamond graph of Figure 4.1 and let s be
the configuration (−3, 1, 1, 1). This configuration is not q-reduced, since the
set W = {v2 , v3 , v4 } may be fired q-legally. After firing W , we obtain the
configuration (−1, 0, 0, 1), which is q-reduced.
and
Mq (q) = − Mq (v).
v=q
We will show that the notions of being q-critical and q-reduced are com-
plementary with respect to the maximal q-stable configuration.
4.3 CONFIGURATIONS ON GRAPHS 159
and
s∗ (q) = − s∗ (v).
v=q
Example 4.3.30. Let Γ be the diamond graph of Figure 4.1 and let s =
(−1, 0, 0, 1). The configuration s is q-reduced. Using Example 4.3.28, we com-
pute its complement
Equivalently,
deg(w) − 1 − s(w) − outdegW (w) ≤ −1,
i.e., in terms of s∗ ,
i.e.,
s(w) + outdegW (w) > deg(w) − 1.
Since s(w) + outdegW (w) is the number of chips on w after the sequence of
chip-firings q, v2 , . . . vk has been applied to s, it follows that w can now be
fired q-legally, so we set vk+1 = w.
It follows immediately from the previous result that there are only finitely
many q-reduced configurations.
In a later section, we will show that for every q-legal configuration s, there
is a unique q-reduced configuration which can be reached from s by a sequence
of q-legal set-firing moves (see Proposition 4.5.7).
Similarly, we will show that for every q-legal configuration s, there is a
unique q-critical configuration which can be reached from s by a sequence of
q-legal chip-firing moves (see Proposition 4.5.8).
G-parking functions are closely related to reduced configurations.
− v=q f (v), if v = q,
is a q-reduced configuration.
For more on G-parking functions, see Benson, Chakrabarty, and Tetali
[BCT10]; Chebikin and Pylyavskyy [CP05]; Postnikov and Shapiro [PS04];
and Stanley [St99].
s1 = (0, 0, 0, 0)
s2 = (−1, 1, 0, 0)
s3 = (−1, 0, 1, 0)
s4 = (−1, 0, 0, 1)
s∗1 = (−3, 1, 1, 1)
s∗2 = (−2, 0, 1, 1)
s∗3 = (−2, 1, 0, 1)
s∗4 = (−2, 1, 1, 0).
⎜ − 16 ⎟
16 − 16 − 16
1 5 1 3
⎜ ⎟
Q+ = ⎜ ⎟.
⎝ − 16
3
− 16
1
16 − 16
5 1 ⎠
− 16
1
− 16 − 16
3 1 5
16
162 4 CHIP-FIRING GAMES
s∗1 , s∗2
= (s∗1 )t Q+ s∗2 = 7/2.
E(s) = s, s
= st Q+ s.
− 91 − 19 2
9
Label the vertices v1 , v2 , and v3 and let q = v1 be the sink vertex. Let s1 =
(−1, 1, 0), s2 = (−3, 1, 2), and s3 = (−2, 1, 1).
(a) Show that E(s1 ) = 23 .
(b) Show that s1 , s2
= 43 .
(c) Show that the set W = {v2 , v3 } may be fired legally on s2 , producing
the configuration s2 = (−1, 0, 1).
(d) Check that s1 , s2
− s1 , s2
is a positive integer.
(e) Show that s3 , s1
and s3 , s2
are both integers.
(f) Show that the set W = {v2 , v3 } may be fired legally on s3 , producing
the configuration s3 = (0, 0, 0).
Proof. Recall from Corollary 2.3.8 that for any degree 0 configuration s, we
have QQ+ s = s. Recall that Qt = Q and (Q+ )t = Q+ . Thus Q = QLQ =
Qt LQ. Recall also that Q+ QQ+ = Q+ . We now have
4.4 ENERGY PAIRING ON DEGREE 0 CONFIGURATIONS 163
s1 , s2
= st1 Q+ s2
= st1 Q+ QQ+ s2
= (Q+ s1 )t Q(Q+ s2 )
= (Q+ s1 )t Qt LQ(Q+ s2 )
= (QQ+ s1 )t L(QQ+ s2 )
= st1 Ls2 .
Note that Js = 0, since s has degree 0. Thus, by Lemmas 4.3.12 and 4.3.9,
Q+ = U Σ+ U t
and the fact that the coefficients of the vector U t s are (0, a2 , a3 , . . . , an ).
⎜ 1 ⎟
⎜ − 16
1 3
− 16
1
− 16 ⎟
Q+ = ⎜ ⎟.
16
⎜ − 16 − 16 1 ⎟
16 − 16 ⎠
1 1 3
⎝
− 16
1
− 16
1
− 16
1 3
16
Proof. We may assume that s1 = s1 − Qx1 and s2 = s2 − Qx2 , for some inte-
ger vectors x1 and x2 . Recall that Q and Q+ are symmetric. Recall also, from
Corollary 2.3.8, that QQ+ si = si and sti Q+ Q = sti for i = 1, 2. Then
s1 , s2
= (s1 − Qx1 )t Q+ (s2 − Qx2 )
= st1 Q+ s2 − st1 Q+ Qx2 − xt1 Qt Q+ s2 + xt1 Qt Q+ Qx2
= s1 , s2
− st1 Q+ Qx2 − xt1 QQ+ s2 + xt1 QQ+ Qx2
= s1 , s2
− st1 x2 − xt1 s2 + xt1 Qx2 .
Since the terms st1 x2 , xt1 s2 , and xt1 Qx2 are all integers, the result follows.
Proof. We may assume that x(q) = 0, since Q1 = 0, where 1 is the all 1’s
vector, so that we can add a multiple of 1 to x if necessary.
Next decompose x into its positive and negative parts, x = x2 − x1 , where
the supports of x1 and x2 (the sets of vertices on which they are nonzero)
4.5 EQUIVALENCE CLASSES OF CONFIGURATIONS 167
are disjoint, and, for each i, xi (q) = 0 and xi (v) ≥ 0 for v = q. Let s be the
configuration s1 − Qx1 = s2 − Qx2 .
We will now show that s is q-legal. Consider any vertex v = q. Since the
supports of x1 and x2 are disjoint, either x1 (v) = 0 or x2 (v) = 0. Suppose
that x1 = 0. Then s (v) = s1 (v), which is nonnegative since s1 is q-legal.
Similarly, if x2 (v) = 0, then s (v) = s2 (v) is nonnegative. Thus s is q-legal.
But we assumed that s1 and s2 are q-reduced, so by Lemma 4.5.3, s1 − Qx1
and s2 − Qx2 cannot be q-legal unless x1 and x2 are 0. Therefore s1 = s2 .
0 ≤ E(s1 ) ≤ E(s) − 1.
Since the energy decreases by at least 1 each time a set is fired q-legally,
only a finite number of sets W1 , W2 , ..., WN may be fired q-legally before a
q-reduced configuration is reached. Let x be the sum of the characteristic
vectors of W1 , W2 , ..., WN .
− v=q s+ (v), if v = q,
and ⎧
⎪
⎨−s(v), q,
if s(v) < 0 and v =
−
s (v) = 0, if s(v) ≥ 0 and v = q,
⎪
⎩
− v=q s− (v), if v = q.
168 4 CHIP-FIRING GAMES
− v=q Mq (v), if v = q.
Now suppose that s is also q-legal. We will show that s may be changed to
a q-critical configuration c by a sequence of q-legal chip-firing moves. Since
there is only one q-critical configuration sc which is in the equivalence class
of s, we must have c = sc .
First we note that, since the energy decreases by a positive integer each
time a vertex other than q is fired, by Proposition 4.4.6, only a finite num-
ber of vertices other than q may be fired q-legally before we reach a q-stable
configuration, in which q is the only vertex which may be fired q-legally, i.e.,
there is an upper bound on the length of a proper sequence of q-legal chip-
firings of s. The vertex q may then be fired until a non-stable configuration
is reached (which will occur in a finite number of firings, since each neighbor
of q gains at least one chip each time q is fired). We then fire vertices other
than q again until a stable configuration is reached. Repeating this process
of alternately firing a proper sequence which produces a stable configuration
and then firing q until a non-stable configuration is reached, we produced a
sequence of q-stable configurations. Since the number of q-stable configura-
tions is finite (see Remark 4.3.16), at least one of them must recur, so this
one is critical and can be reached by q-legal chip-firing moves.
The names Jacobian or Picard group are often used for the critical group
when making analogies between graphs and algebraic curves. The group of
all configurations of degree zero on a graph Γ can be thought of as the group of
all degree zero divisors on Γ. The subgroup of configurations which are in the
image of the Laplacian Q may be considered the principal divisors on Σ. The
quotient of the divisors of degree zero by the subgroup of principal divisors is
called the Jacobian Jac(Γ) or Picard group Pic(Γ) of the graph Γ. We will use
the terms critical group, Jacobian, and Picard group interchangeably when
referring to the finite abelian group K(Γ).
4 2
3 0
0
1
2
−6 3 1
4 0
3 2
0
1
2
−5 2 1
It is easy to show that the only reduced configurations on the graph Γ are
(0, 0, 0, 0, 0), (−1, 0, 1, 0, 0), and (−1, 0, 0, 1, 0). Therefore, the only critical
configurations on Γ are their complements, (−5, 2, 1, 2, 0), (−4, 2, 0, 2, 0), and
(−4, 2, 1, 1, 0). Thus, the critical group of Γ is isomorphic to Z/3Z.
Note that the critical group of a graph does not change (up to isomor-
phism) if we change the vertex selected as q. Note also that in a reduced
configuration, vertices other than q which have degree 1 must have no chips
on them. This means that the critical group does not change if we remove a
degree 1 vertex and the edge incident to it. Thus, the critical group of Γ is
isomorphic to the critical group of C3 , the cyclic group on 3 vertices.
We will show how the Smith normal form of a reduced Laplacian matrix of a
graph Γ can be used to calculate the critical group of Γ. The invariant factors
n1 , n2 , . . . , nr of the Smith normal form give us a decomposition
172 4 CHIP-FIRING GAMES
of the critical group K(Γ), and the numbers n1 , n2 , . . . , nr are the invariant
factors of the critical group.
Recall that a matrix Qi obtained by removing the i-th row and i-th column
of the Laplacian matrix Q is called a reduced Laplacian matrix. Let Q∗ be any
reduced Laplacian matrix of a graph Γ. Recall also that for a connected graph
Γ, a reduced Laplacian matrix Q∗ has rank n − 1, where n is the number of
vertices of Γ. We will show that the critical group of Γ is isomorphic to
the lattice quotient Zn−1 /Col(Q∗ ), where Col(Q∗ ) denotes the Z-span of the
columns of Q∗ in Zn−1 .
Let M be an integral m × m matrix of full rank. The Smith normal
form, Σ, of M is a diagonal matrix Σ with nonzero integer diagonal entries
k1 , k2 , . . . , km such that k1 |k2 | · · · |km , and matrices U1 and U2 with integer
entries and determinants 1 or −1 such that
U1 Σ = M U2 . (4.6)
Proof. Let us choose as our sink vertex q the vertex corresponding to the
row and column of Q which were removed to obtain Q∗ . For each degree 0
configuration s, the value of s(q) is determined by the values of s(v) for all
v = q. Thus the group of all degree 0 configurations is isomorphic to Zn−1 .
The subgroup of degree 0 configurations of the form Qx, for x an integer
vector, corresponds under this isomorphism to the subgroup of Zn−1 given
by Col(Q∗ ). Thus, the critical group is isomorphic to Zn−1 /Col(Q∗ ).
Let Σ be the Smith normal form of Q∗ and let k1 , k2 , . . . , kn−1 be the
diagonal entries of Σ. Let U1 and U2 be matrices with integer entries and
determinants 1 or −1 such that (4.6) holds with M = Q∗ .
4.6 CRITICAL GROUP OF A GRAPH 173
First note that the column span of Q∗ U2 is the same as the column span
of Q∗ , since U2 is an automorphism of Zn−1 .
Next, let u1 , u2 , . . . , un−1 be the columns of U1 and note that these vectors
form a basis for Zn−1 , since U1 is an automorphism of Zn−1 . The columns
of the matrix U1 Σ are k1 u1 , k2 u2 , . . . , kn−1 un−1 , which must also span the
column space of Q∗ . Note that Z/ki Z is trivial for ki = ±1 and isomorphic
to Z/|ki |Z otherwise. Thus, the quotient Zn−1 /Col(Q∗ ) must be isomorphic
to (Z/k1 Z) × (Z/k2 Z) × · · · × (Z/kn−1 Z).
κ = n1 n2 . . . nr .
Example 4.6.4. Recall that the Laplacian matrix of the complete graph K4
on 4 vertices is ⎛ ⎞
3 −1 −1 −1
⎜ −1 3 −1 −1 ⎟
Q=⎜ ⎝ −1 −1
⎟,
3 −1 ⎠
−1 −1 −1 3
It follows that the vectors u1 , 4u2 , and 4u3 span the column space of Q∗ , so
we can see that the critical group of K4 must be K(K4 ) = (Z/4Z) × (Z/4Z).
where Q∗1 and Q∗2 are the reduced Laplacian matrices of Γ1 and Γ2 , respec-
tively.)
Example 4.6.5. The graphs Γ1 and Γ2 in Figure 4.6 are found in Clancy,
Leake, and Payne [CLP15]. They have the same critical group,
but distinct Duursma zeta functions (see Definition 1.2.21). The Duursma
zeta polynomial of Γ1 is
−(64x7 − 54x6 + 62x5 − 7x4 + 23x3 − 4x2 + x − 1)(3x2 + x + 1)(2x2 + 1)(x2 − 1)2
−(32x7 − 56x6 + 44x5 − 20x4 + 21x3 − 4x2 + 2x − 1)(4x2 + x + 1)(3x2 + x + 1)(x2 − 1)2 .
Figure 4.6: Two graphs with the same critical group but distinct Duursma zeta functions.
Sage
sage: D1 = {1:{0,2},2:{0,1,3,4,5},5:{3,4}}
sage: Gamma1 = Graph(D1)
sage: Gamma1.show()
sage: D2 = {1:{0,2},2:{0,1,3,4},3:{4,5},4:{5}}
sage: Gamma2 = Graph(D2)
sage: Gamma1.tutte_polynomial()
x^5 + 3*x^4 + 3*x^3*y + x^2*y^2 + 3*x^3 + 5*x^2*y + 3*x*y^2 + y^3 +
x^2 + 2*x*y + y^2
sage: Gamma2.tutte_polynomial()
x^5 + 3*x^4 + 3*x^3*y + x^2*y^2 + 3*x^3 + 5*x^2*y + 3*x*y^2 + y^3 +
x^2 + 2*x*y + y^2
s1 , s2
= st1 Q+ s2 .
176 4 CHIP-FIRING GAMES
Recall also, from Proposition 4.5.2, that if s1 , s1 , s2 , and s2 are degree 0
configurations on Γ such that s1 is equivalent to s1 and s2 is equivalent to
s1 , i.e., such that there exist integer n-vectors x1 and x2 such that
then
s1 , s2
− s1 , s2
∈ Z.
Exercise 4.13. Show that the energy pairing on K(Γ) is symmetric, i.e., if
S1 and S2 are elements of the critical group, then S1 , S2
= S2 , S1
.
Exercise 4.14. Show that the energy pairing on K(Γ) is bilinear i.e., if S1 ,
S2 , and S3 are elements of the critical group, then S1 + S2 , S3
= S1 , S3
+
S2 , S3
and S1 , S2 + S3
= S1 , S2
+ S1 , S3
.
S, T
= 0 mod Z for all T ∈ K(Γ) (4.7)
if and only if S is the identity element of K(Γ), i.e., if and only if every
representative of S is of the form Qx for some integer vector x.
s, t
= (Qx)t Q+ t
= xt Qt Q+ t
= xt QQ+ t
= xt t
∈Z
so S, T
= 0 mod Z.
4.7 EXAMPLES OF CRITICAL GROUPS 177
Next suppose that S satisfies the condition 4.7. Let s be any degree 0
configuration in S. Let 1 = (1, 1, . . . , 1). We will show that the entries of
u = Q+ s all differ by integers, so that if u1 = (Q+ s)1 is the first entry of u,
then the vector x = u − u1 1 is an integer vector. We then show that Qx = s.
For 2 ≤ i ≤ n, let ti be the degree 0 configuration given by
⎧
⎪
⎨−1, if j = 1,
ti (vj ) = 1, if j = i,
⎪
⎩
0, otherwise,
and let mi = s, ti
. Then mi is an integer, for 2 ≤ i ≤ n, by our assumption.
We have
mi = s, ti
= st Q+ ti
= st (Q+ )t ti
= (Q+ s)t ti
= u t ti
= −u1 + ui .
Qx = Q(u − u1 1)
= Q(Q+ s − u1 1)
= QQ+ s since Q1 = 0
=s by Corollary 2.3.8,
The energy pairing of the critical group of the diamond graph is given in
Example 4.10.2.
We find the critical groups of trees, cycle graphs, and complete graphs. We
use computer calculations to find the critical groups of some Cayley graphs.
We also include some interesting examples due to Biggs and to Clancy, Leake,
and Payne.
178 4 CHIP-FIRING GAMES
4.7.1 Trees
We begin with a simple lemma. Recall that a tree is a connected graph having
no cycles.
Lemma 4.7.1. The critical group does not change (up to isomorphism) if
an edge with a vertex of degree one is removed from a graph. Consequently,
if T is a tree then the critical group of T is trivial.
Proof. A vertex v = q of degree one is stable for a configuration s if and
only if s(v) = 0. Also note that the critical group does not change (up to
isomorphism) if a different vertex is selected as the sink, or government.
Thus, if q is a vertex of degree one, we may choose another vertex q as the
sink or government, and then remove the edge adjacent to q.
Example 4.7.2. If Γ is a path graph on n vertices, then the critical group
of Γ is trivial. This follows from Lemma 4.7.1.
The cyclic group provides an example which shows that the map taking a
critical configuration to its complement (a reduced configuration) is not a
homomorphism on the corresponding groups. See also Remark 4.3.32.
Example 4.7.3. The critical of a cycle graph Cn on n vertices, for n ≥ 3,
is a cyclic group of order n, i.e., K(Cn ) is isomorphic to Z/nZ.
Let q = v1 , v2 , . . . , vn be the vertices of Cn , with edges connecting vi and
vi+1 , for 1 ≤ i ≤ n − 1, and vn and v1 . The configuration s = (−1, 1, 0, . . . , 0)
is q-reduced and its equivalence class is a generator of K(Cn ).
Remark 4.7.4. The example C4 shows that although the map s → s∗ tak-
ing a configuration to its complement is a bijection from the set of q-reduced
configuration to the set of q-critical configurations, the induced map on the
critical group is not necessarily a homomorphism. The q-reduced configura-
tions on C4 are
s1 = (0, 0, 0, 0)
s2 = (−1, 1, 0, 0)
s3 = (−1, 0, 1, 0)
s4 = (−1, 0, 0, 1)
s∗1 = (−3, 1, 1, 1)
s∗2 = (−2, 0, 1, 1)
s∗3 = (−2, 1, 0, 1)
s∗4 = (−2, 1, 1, 0).
4.7 EXAMPLES OF CRITICAL GROUPS 179
There are many ways to derive the structure of the critical group of the
complete graph Kn on n vertices. We will use the Smith normal form of
the reduced Laplacian matrix. The familiar formula nn−2 for the number of
spanning trees of the complete graph on n vertices is a consequence of the
following proposition.
and ⎛ ⎞
1 −1 −1 · · · −1
⎜ 0 1 0 ··· 0⎟
⎜ ⎟
⎜ 0 0 1 ··· 0⎟
U2 = ⎜ ⎟.
⎜ .. .. .. .. ⎟
⎝ . . . .⎠
0 0 0 ··· 1
Example 4.7.6. Biggs [Bi99] shows that the critical group of the wheel
graph Wn on n vertices has order 2n−1 if n is even and 5fn−2
2
if n is odd,
where n is the n-th Lucas number and fn is the n-th Fibonacci number. The
wheel graph will be discussed further in §4.10.
Example 4.7.7. The graphs Γ1 , Γ2 in Figure 4.7 are found in Clancy, Leake,
and Payne [CLP15]. They have the same Tutte polynomial but distinct crit-
ical groups:
Jac(Γ1 ) = Z/5Z × Z/25Z,
4.7 EXAMPLES OF CRITICAL GROUPS 181
Jac(Γ2 ) = Z/125Z.
Figure 4.7: Two graphs with the same Tutte polynomial but distinct critical groups.
Sage
sage: D3 = {0:{1,2,3},4:{1,3,5,6},5:{2,3,7},6:{7}}
sage: Gamma3 = Graph(D3)
sage: Gamma3.show(dpi=300)
sage: D4 = {0:{1,2},4:{1,3,5,6},5:{2,3,7},6:{2,7}}
sage: Gamma4 = Graph(D4)
sage: Gamma4.show(dpi=300)
sage: Gamma3.tutte_polynomial()
x^7 + 4*x^6 + x^5*y + 9*x^5 + 6*x^4*y + 3*x^3*y^2 + x^2*y^3 + 13*x^4 +
13*x^3*y + 7*x^2*y^2 + 3*x*y^3 + y^4 + 12*x^3 + 15*x^2*y + 9*x*y^2 +
3*y^3 + 7*x^2 + 9*x*y + 4*y^2 + 2*x + 2*y
sage: Gamma4.tutte_polynomial()
x^7 + 4*x^6 + x^5*y + 9*x^5 + 6*x^4*y + 3*x^3*y^2 + x^2*y^3 + 13*x^4 +
13*x^3*y + 7*x^2*y^2 + 3*x*y^3 + y^4 + 12*x^3 + 15*x^2*y + 9*x*y^2 +
3*y^3 + 7*x^2 + 9*x*y + 4*y^2 + 2*x + 2*y
%sage: critical_group(Gamma3)
%Finitely generated module V/W over Integer Ring with invariants (5, 25)
%sage: critical_group(Gamma4)
%Finitely generated module V/W over Integer Ring with invariants (125)
and an edge to a graph (so the vertex has degree 1), the critical group remains
the same, while the automorphism group typically decreases.
Figure 4.8: The Cayley graph of (G, S) = (S3 , {(1, 2, 3), (1, 2), (1, 3, 2)}).
0 : 1, 1 : (1, 2), 2 : (1, 2, 3), 3 : (1, 3, 2), 4 : (2, 3), 5 : (1, 3).
Figure 4.9: The Cayley graph of (G, S) = (S3 , {(1, 2), (2, 3), (1, 3)}).
0 : 1, 1 : (1, 2), 2 : (1, 2, 3), 3 : (1, 3, 2), 4 : (2, 3), 5 : (1, 3).
0 → 2, {1, 2} → 0, {3, 4} → 3, 5 → 1,
Example 4.7.11. Here we use the notation GF (5) = Z/5Z. Consider the
following bent functions from GF (5)2 to GF (5) which represent six different
equivalence classes of even bent functions f such that f (0) = 0 under non-
degenerate linear transformations of the coordinates:
We let Γi be the “unweighted” Cayley graph whose vertices are the 25 ele-
ments of GF (5)2 and whose edges are pairs {v, w} such that v, w ∈ GF (5)2
and fi (w − v) = 0. By checking that the rank of the Laplacian of each graph
is 24, we see that the graphs are all connected graphs.
The graph Γ1 is a complete graph on 25 vertices, therefore the results of
§4.7.3 imply that the critical group Jac(Γ1 ) is the direct product of Z/25Z
with itself 23 times.
Computer calculations using the Smith normal form of the Laplacian
matrices of the graphs Γi were used to find the invariant factors of the remain-
ing five graphs. The invariant factors of Γ2 and Γ3 are both
{15, 15, 15, 15, 15, 15, 15, 15, 60, 60, 300, 300, 300, 300, 300, 300}.
Example 4.7.12. Here we use the notation GF (3) = Z/3Z. Consider the
following bent functions from GF (3)3 to GF (3) which represent two different
equivalence classes of even bent functions f such that f (0) = 0 under non-
degenerate linear transformations of the coordinates:
We let Gi be the “unweighted Cayley graph” whose vertices are the 27 ele-
ments of GF (3)3 and whose edges are pairs {v, w} such that v, w ∈ GF (3)3
and fi (w − v) = 0. By checking that the rank of the Laplacian of each graph
is 26, we see that the graphs are both connected graphs.
Computer calculations using the Smith normal form of the Laplacian
matrices of the graphs Γi were used to find the invariant factors of the two
graphs. The invariant factors of both graphs are
{21, 21, 21, 63, 126, 378, 1890, 1890, 1890, 5670, 5670, 5670}.
Biggs has constructed a family of modified wheel graphs with cyclic critical
groups.
v2
v6
v7 q v3
v5
v4
Biggs’ family of modified wheel graphs with cyclic critical groups will be
discussed further in §4.10. That section discusses Shokrieh’s cryptanalytic
break of Biggs’ proposed cryptosystem based on critical groups.
2n + 2). One vertex is added between any two of the spoke vertices. This new
vertex will be of degree two. The resulting graph has a critical group which
is cyclic of order 22n+1 f2n+2 , where i is the i-th Lucas number and fi the
i-th Fibonacci number.
For example, the graph shown in Figure 4.11 has a cyclic critical group of
order 176. Further details may be found in Biggs [Bi07].
Suppose that Γ1 and Γ2 are connected graphs and Γ1 has at least one edge.
Let φ : Γ2 → Γ1 be a non-constant harmonic morphism. We will use the ter-
minology common to the literature on harmonic morphisms of graphs and
refer to critical groups as Jacobians, and degree 0 configurations as degree
0 divisors. We will show that the map φ induces a surjective pushforward
homomorphism
φ∗ : Jac(Γ2 ) → Jac(Γ1 )
φ∗ : Jac(Γ1 ) → Jac(Γ2 )
on Jacobians. These results are due to Baker and Norine [BN09], but our
proof of injectivity is somewhat different, as it uses the energy pairing on the
critical group.
Lemma 4.8.1. Suppose that Γ1 and Γ2 are connected graphs and Γ1 has at
least one edge. Let φ : Γ2 → Γ1 be a non-constant harmonic morphism. Let
D be a degree 0 divisor on Γ2 and let D be a degree 0 divisor on Γ1 . Then
φ∗ (D ), D
= D , φ∗ (D)
.
Proof. Let a be the coefficient vector of D and let b be the coefficient vector
of D . Then
188 4 CHIP-FIRING GAMES
φ∗ (D ), D
= (ΦmV b)t Q+
2a
= bt ΦtmV Q+
2a
= bt Q+ t +
1 Q1 ΦmV Q2 a by Corollary 2.3.8
t t
= b Q+ +
1 ΦV Q2 Q2 a by Proposition 3.3.25
= bt Q+ t
1 ΦV a by Corollary 2.3.8
= D , φ∗ (D
).
We now use this adjoint property to prove injectivity of the map on
Jacobians induced by the pullback map of divisors.
Proposition 4.8.2. Suppose that Γ1 and Γ2 are connected graphs and Γ1
has at least one edge. If φ : Γ2 → Γ1 is a non-constant harmonic morphism,
then φ∗ determines an injective map
φ∗ : Jac(Γ1 ) → Jac(Γ2 ).
a = ΦmV Q1 y = Q2 ΦV y,
where the second equality follows from Proposition 3.3.25. Thus φ∗ (D ) is
principal on Γ2 .
Next we wish to show that if φ∗ (D ) is principal on Γ2 , then D is principal
on Γ1 . Suppose that D is a degree 0 divisor on Γ1 such that φ∗ (D ) is principal
on Γ2 . Then φ∗ (D ), D
= 0 mod Z, for all degree 0 divisors D on Γ2 . By
Lemma 4.8.1, it follows that
D , φ∗ (D)
= 0 mod Z
for all degree 0 divisors D on Γ2 . Recall that the map φ∗ is surjective, so every
degree 0 divisor D on Γ1 is of the form φ∗ (D) for some degree 0 divisor D
on Γ2 . Thus D , D
= 0 mod Z, for all degree 0 divisors D on Γ1 . Thus
D is principal. It follows that the map φ∗ is injective.
Example 4.8.3. In this example, we show that the morphism induced by a
quotient, Γ → Γ/G where G ⊂ Aut(Γ), need not be harmonic. In this situa-
tion, there need not be any relationship between the critical group of Γ and
that of Γ/G.
Denote by Γ2 the Paley graph on 13 vertices, depicted in Figure 5.16
(see §5.17 below). The automorphism group of Γ2 has order 78 and its 2-
Sylow subgroup G acts via the element (1, 12)(2, 11)(3, 10)(4, 9)(5, 8)(6, 7).
4.8 HARMONIC MORPHISMS AND JACOBIANS 189
0 : {1, 12}, 1 : {5, 8}, 2 : {3, 10}, 3 : {0}, 4 : {2, 11}, 5 : {6, 7}, 6 : {4, 9}.
{1 , 12}
{5 , 8} {4 , 9}
{3 , 10}
{6 , 7}
{0} {2 , 11}
φ∗ : Jac(Γ2 ) → Jac(Γ1 ).
190 4 CHIP-FIRING GAMES
Let K4 be the complete graph on 4 vertices and let Γ be the cube graph.
Let τ be the morphism taking opposite vertices in Γ to vertices in K4 .
We will label the vertices of K4 as v1 , v2 , v3 , and v4 . We will label the
vertices of Γ as wi , for i = 1, 2, . . . , 8, where τ maps wi to vi (mod 4) , i.e.,
τ (w1 ) = τ (w5 ) = v1 , τ (w2 ) = τ (w6 ) = v2 , etc.
We will often denote the divisor
4
D= ai vi
i=1
We will use v1 as the sink vertex for K4 and w1 for the sink vertex for Γ.
We calculate the Smith normal form of the Laplacian matrices and use
them to find the critical groups.
4.8 HARMONIC MORPHISMS AND JACOBIANS 191
where ΣK4 is the Smith normal form of QK4 and the matrices U1 and U2 are
invertible. Computer calculations show that
⎛ ⎞
1 0 0 0
⎜0 4 0 0⎟
ΣK4 =⎜
⎝0
⎟,
0 4 0⎠
0 0 0 0
and that the following matrices have determinant 1 and satisfy Equation
(4.8):
⎛ ⎞ ⎛ ⎞
−1 0 0 0 0 0 1 1
⎜ 3 −1 0 0⎟ ⎜ 1 −1 1 1 ⎟
U1 = ⎜
⎝ −1
⎟ and U2 = ⎜ ⎟.
1 1 0⎠ ⎝ 0 1 2 1⎠
−1 0 −1 1 0 0 0 1
From the diagonal elements of the Smith normal form of QK4 , we can see
that the critical group K(K4 ) of K4 has order 16 and is isomorphic to
Z/(4Z) × Z/(4Z).
Furthermore, the two factor groups are generated by the equivalence classes
of the second and third columns of U1 (corresponding to the invariant fac-
tors 4 and 4 of the Smith normal form). These columns are (0, −1, 1, 0) and
(0, 0, 1, −1). The reduced divisors of these equivalence classes are
Thus, we can describe any element of the critical group by a pair (i, j), with
0 ≤ i ≤ 3 and 0 ≤ j ≤ 3, corresponding to the equivalence class of the divisor
iu1 + ju2 . After finding generators of the critical group of Γ, we will find a
different pair of generators of the critical group of K4 , with respect to which
the mapping of Jacobians takes a simple form.
Similarly, there are integer matrices ΣΓ , V1 , and V2 such that
V1 ΣΓ = QΓ V2 , (4.9)
where ΣΓ is the Smith normal form of QΓ and the matrices V1 and V2 are
invertible. Computer calculations show that
192 4 CHIP-FIRING GAMES
⎛ ⎞
1 0 0 0 0 0 0 0
⎜ 0 1 0 0 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 1 0 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 1 0 0 0 0 ⎟
ΣΓ = ⎜
⎜
⎟,
⎟
⎜ 0 0 0 0 2 0 0 0 ⎟
⎜ 0 0 0 0 0 8 0 0 ⎟
⎜ ⎟
⎝ 0 0 0 0 0 0 24 0 ⎠
0 0 0 0 0 0 0 0
and that the following matrices have determinant 1 and satisfy Equation
(4.9): ⎛ ⎞
−1 0 0 0 0 0 0 0
⎜ 3 −1 0 0 0 0 0 0 ⎟
⎜ −1 3 −1 0 0 ⎟
⎜ 0 0 0 ⎟
⎜ 0 −1 0 −1 0 0 0 0 ⎟
⎜
V1 = ⎜ 0 −1 ⎟
3 −1 −5 0 −1 0 ⎟
⎜ 0 0 −1 0 0 ⎟
⎜ 3 3 1 ⎟
⎝ 0 0 0 −1 −1 0 0 0 ⎠
−1 0 −1 0 3 −1 1 1
and ⎛ ⎞
0 0 0 0 0 0 0 1
⎜ 1 0 0 0 0 −1 1 1 ⎟
⎜ ⎟
⎜ 0 1 0 0 −1 0 −3 1 ⎟
⎜ ⎟
⎜ 0 0 0 0 0 1 −2 1 ⎟
V2 = ⎜
⎜
⎟.
⎟
⎜ 0 0 1 0 −3 0 −8 1 ⎟
⎜ 0 0 0 1 1 3 −3 1 ⎟
⎜ ⎟
⎝ 0 0 0 0 0 0 1 1 ⎠
0 0 0 0 1 −3 6 1
From the diagonal elements of the Smith normal form of QΓ , we can see that
the critical group K(Γ) of Γ has order 384 and is isomorphic to
Furthermore, the three factor groups are generated by the equivalence classes
of the fifth, sixth, and seventh columns of V1 (corresponding to the invari-
ant factors 2, 8, and 24 of the Smith normal form). These columns are
(0, 0, 0, 0, −5, 3, −1, 3), (0, 0, 0, 0, 0, 1, 0, −1), and (0, 0, 0, 0, −1, 0, 0, 1). The
reduced divisors of these equivalence classes are
y1 = (−3, 0, 1, 0, 0, 1, 0, 1),
y2 = (−4, 2, 1, 0, 1, 0, 0, 0), and
y3 = (−4, 0, 1, 2, 0, 1, 0, 0),
4.8 HARMONIC MORPHISMS AND JACOBIANS 193
D = a1 v1 + a2 v2 + a3 v3 + a4 v4 ,
then
τ ∗ (D) = a1 w1 + a2 w2 + a3 w3 + a4 w4 + a1 w5 + a2 w6 + a3 w7 + a4 w8 .
T a = T QK4 x = QΓ T x,
τ ∗ : K(K4 ) → K(Γ).
let us check that this map is a homomorphism. If D1 =
Next ai vi and
D2 = bi vi then
194 4 CHIP-FIRING GAMES
4
8
τ ∗ (D1 + D2 ) = (ai + bi )wi + (ai−4 + bi−4 )wi
i=1 i=5
4
8
4
8
= ai wi + ai−4 wi + bi wi + bi−4 wi
i=1 i=5 i=1 i=5
∗ ∗
= τ (D1 ) + τ (D2 ).
and
(−5, 2, 1, 1, 0, 1, 0, 0) ∼ 2w2 + 6w3 .
Note that u1 and u2 are both of order 4. It follows (and can be checked
directly, using the fact that w2 has order 8 and w3 has order 24) that the
divisors 4w2 + 6w3 and 2w2 + 6w3 are also both of order 4. In fact, the pull-
back map τ ∗ : K(K4 ) → K(Γ) is injective. We can see this directly by noting
that τ ∗ (u1 ) − τ ∗ (u2 ) ∼ 2w2 and −τ ∗ (u1 ) + 2τ ∗ (u2 ) ∼ 6w3 .
Let x1 be the reduced representative of the equivalence class of u1 − u2
and let x2 be the reduced representative of the equivalence class of −u1 + 2u2 .
We have
x1 = (−3, 0, 1, 2) and x2 = (−1, 0, 0, 1)
and
τ ∗ (x1 ) ∼ 2w2 and τ ∗ (x2 ) ∼ 6w3 .
Note that x1 and x2 are also generators for K(K4 ), since u1 = 2x1 + x2 and
u2 = x1 + x2 . Thus, we can describe any element of the critical group K(K4 )
by a pair (i, j), with 0 ≤ i ≤ 3 and 0 ≤ j ≤ 3, corresponding to the equiva-
lence class of the divisor ix1 + jx2 . We can describe the map τ ∗ on equivalence
classes in terms of ordered pairs on K4 and ordered triples on Γ (with respect
to the generators x1 and x2 for K(K4 ) and y1 , y2 , and y3 for K(Γ)) as
Lemma 4.9.1. Let s be a q-legal configuration and let Vf be the final set of
vertices produced by the burning moves described above. Then s is q-reduced if
and only if Vf = V , i.e., if and only if all vertices of the graph are eventually
burned.
Example 4.9.2. Let Γ be the diamond graph shown in Figure 4.13. Consider
the configurations s1 = (−2, 1, 0, 1) and s2 = (−2, 1, 1, 0). We will use Dhar’s
algorithm to show that s1 is q-reduced but s2 is not.
At each step, Vi is the set of burned vertices, Ei is the set of burned edges,
and Wi is the set of unburned vertices. We start with
For the next step, we add the edges e1 and e2 adjacent to q to the set of
burned edges. We note that
Since outdegW0 (v3 ) > s1 (v3 ) = 0 (the number of burned edges adjacent to
v3 exceeds the number of firefighters at v3 ) we add v3 to the set of burned
vertices to obtain
Now
outdegW1 (v2 ) = 2 and outdegW1 (v4 ) = 1.
e1 e2
e3
v2 v3
e4 e5
v4
3. Let Vnew be the union of Vold and all vertices vi ∈ W such that
QxW (i) > s(i).
Return the complement of Vnew in V .
If the set returned by Dhar’s algorithm is empty, then s is q-reduced. If
not, the set returned may be fired q-legally. We fire this set and repeat the
process until we obtain a reduced configuration.
Example 4.9.3. Consider the diamond graph of Example 4.9.2 and let
s = (−4, 2, 1, 1). We will use Dhar’s algorithm to find a reduced config-
uration equivalent to s. We start with W0 = {v2 , v3 , v4 } and note that
s(vi ) ≥ outdegW0 (vi ) for all i. Thus we can fire the set W0 q-legally. After
firing, the new configuration is s = (−2, 1, 0, 1), which is q-reduced, by the
calculations of Example 4.9.2.
Example 4.9.4. Consider the configuration s = (2, −1, 1, −2) on the dia-
mond graph Γ of Example 4.9.2. We wish to find a q-legal configuration
which is equivalent to s.
We first decompose s into the difference of q-legal configurations,
s = s+ − s− ,
where
s+ = (−1, 0, 1, 0) and s− = (−3, 1, 0, 2).
4.9 DHAR’S BURNING ALGORITHM 199
Recall that the maximum possible weight of a reduced divisor is the genus
g of Γ.
In the terminology of chip-firing games, a divisor is a configuration of chips
and the weight is the number of chips on the non-sink vertices. In terms of
Dhar’s algorithm, the chips are firefighters, each of which can put out a fire
approaching on one adjacent edge.
v2
e1
e5 e4
v1
e3 e2
v4 v3
e6
Figure 4.14: K4 with an edge ordering.
4.9 DHAR’S BURNING ALGORITHM 201
v1 , e3 , v4 , e6 , v3 , e5 , e4 , e2 , e1 , v2 .
Thus the spanning tree produced, given in terms of its three edges, is
TD = {e3 , e6 , e1 }.
The edge e2 is externally active. The edges e5 and e4 are externally passive
(external but not active).
Exercise 4.19. Use the method of Example 4.9.7 to find the spanning trees
corresponding to the remaining 15 v1 -reduced divisors on K4 under the given
ordering of the edges. Specify each tree as a list of three edges.
It is useful to classify the edges of Γ into three types: the edges in T , the
externally active edges, and the externally passive edges (all edges in E \ T
which are not externally active).
Lemma 4.9.8. For every spanning tree T of a connected graph Γ = (V, E)
there are g external edges, where g = |E| − |V | + 1 is the genus of the graph.
Proof. The |V | − 1 edges in T are its internal edges. The remaining |E| −
(|V | − 1) = g edges of Γ are the external edges.
Lemma 4.9.9. Let D be a q-reduced divisor and let T = TD be the spanning
tree of Γ produced by the ordered Dhar’s burning process. If an externally
active edge for T was burned in the ordered Dhar’s burning process, it was
burned at some step after both its adjacent vertices were burned.
Proof. Consider an externally active edge e for T and let C be the unique
cycle in T ∪ {e}. Then, by definition, e is the lowest order edge of C. If e was
burned during the burning process, then at least one of its adjacent vertices,
call it v, must have been burned before e.
Let P be the longest connected path in C containing v and such that
each edge in P was burned before e. Let t be an edge in P . Since t is in T ,
one endpoint of t was burned before t and the other endpoint was burned
immediately after t. Thus all vertices in P were burned before e.
Let w be the terminal vertex of P (the vertex in P farthest from v) and
let f be the edge in C which is adjacent to w and not in P . Suppose that
f = e. Since f has higher order than e, f must have been burned before
e. This is a contradiction to our assumption that f is not in P . Thus P
contains all edges in C except e, so both vertices of e must have been burned
before e.
Example 4.9.10. In Example 4.9.7, the edge e2 is the only externally active
edge. The vertices adjacent to e2 are v1 and v3 , both of which are burned
before e2 is burned.
202 4 CHIP-FIRING GAMES
The following lemma tells us that in the ordered Dhar’s burning process
there is one firefighter (i.e., one chip on a non-sink vertex) for each externally
passive edge for the resulting spanning tree.
Proof. Consider an edge e which is not in T and which is not externally active
for T . Suppose that e does not get burned during the ordered Dhar’s burning
process. Let C be the unique cycle in T ∪ {e}. At least one edge of C must
be of lower order than e, since e is not externally active. Every edge in C
other than e is in T , so every edge in C other than e must be burned. For
each such edge t, the fire burns through a vertex vt adjacent to t immediately
after burning through t. The one remaining vertex in C, call it w, must have
been the first vertex in the cycle to be burned.
Suppose that w is an endpoint of e. Let P be the shortest path in C from
w to an edge t of lower order than e. The edges e and t are both adjacent to P
and e is of higher order, so e must be burned before t, which is a contradiction
of our assumption.
Suppose now that w is not an endpoint of e. Then w partitions the edges
of C, other than e, into two paths from w to e. Let t be the edge of minimum
order in C, and let P be the path which does not contain t. Then all edges
of P must be burned before t. Since e is adjacent to P , e must be burned
before t, which again is a contradiction.
Thus e must be burned before the burning process terminates. Since e is
not in T , the fire in e is put out by a firefighter.
Now suppose that e is an edge that is burned and put out by a firefighter.
Then e cannot be in T , by the definition of T . Furthermore, e cannot be
externally active, by Lemma 4.9.9. Thus e must be externally passive.
Corollary 4.9.16 (Spanning tree theorem). The order of the critical group
of a connected graph is equal to the number of spanning trees.
To prove the proposition, we give the inverse map from spanning trees to
reduced divisors of degree 0.
We now have the tools to prove the following result of Merino [Me97], stated
in terms of q-reduced divisors, rather than q-critical divisors.
Theorem 4.9.18. (C. Merino) Let Γ = (V, E) be a connected graph and let
g = |E| − |V | + 1 be the genus of Γ. Suppose that an ordering has been fixed
on the edge set E. Then the number of spanning trees of Γ with j externally
active edges (with respect to the given ordering) is equal to the number of q-
reduced degree 0 divisors with weight g − j. In terms of the Tutte polynomial
TΓ (x, y) = ti,j xi y j ,
i,j
Example 4.9.21. Using the formula for the Tutte polynomial of K4 given
in Example 1.2.4, we obtain the number of q-reduced non-special divi-
sors on K4 as
TK4 (1, 0) = 6.
Example 4.9.22. Using the formula for the Tutte polynomial of the cube
graph given in Example 1.2.5, we obtain the number of q-reduced non-special
divisors on the cube graph as
4.9 DHAR’S BURNING ALGORITHM 205
Next, find the reduced form of each stable configuration using Dhar’s algo-
rithm. Delete all duplicates, and the remaining list is the required set of
reduced representatives of elements of the critical group.
Recall that the reduced representatives of the elements of the critical group
may be found using the Smith normal form as follows: Suppose that U1
and U2 are integer matrices with determinant 1 and Σ is a diagonal matrix
with diagonal entries 1, 1, . . . , 1, nk , nk+1 , . . . , nr , 0, where each ni is a positive
integer and ni |ni−1 for i = k, k + 1, . . . , r − 1, and such that U1 Σ = QU2 . Let
xi be the i-th column of Ui , for k ≤ i ≤ r. Then ni xi is in the image of Q,
for k ≤ i ≤ r. Thus the equivalence class of xi has order ni in the critical
group, and the configurations xk , xk+1 , . . . , xr generate the critical group.
We can then compute the q-reduced form of each of these generators. We
then compute an element in the equivalence class of each member of the
critical group, and the q-reduced form of each such element.
206 4 CHIP-FIRING GAMES
Jac(Wn ) ∼
= Z/5Z ⊕ Z/fn−2 Z ⊕ Z/fn−2 Z,
when n is odd and not a multiple of 5. Here, fn is the n-th Fibonacci number
and n is the n-th Lucas number:
fn+1 = fn + fn−1 , f0 = 1, f1 = 1,
n+1 = n + n−1 , 0 = 2, 1 = 1,
and Laplacian ⎛ ⎞
2 −1 0 −1
⎜ −1 3 −1 −1 ⎟
Q=⎜
⎝ 0 −1
⎟
2 −1 ⎠
−1 −1 −1 3
0• •1
3• •2
∗ r0 r1 r2 r3 r4 r5 r6 r7
r0 r0 r1 r2 r3 r4 r5 r6 r7
r1 r1 r7 r0 r4 r6 r3 r2 r5
r2 r2 r0 r6 r5 r3 r7 r4 r1
r3 r3 r4 r5 r0 r1 r2 r7 r6
r4 r4 r6 r3 r1 r7 r0 r5 r2
r5 r5 r3 r7 r2 r0 r6 r1 r4
r6 r6 r2 r4 r7 r5 r1 r3 r0
r7 r7 r5 r1 r6 r2 r4 r0 r3
208 4 CHIP-FIRING GAMES
∗ c0 c1 c2 c3 c4 c5 c6 c7
c0 c3 c4 c5 c0 c1 c2 c7 c6
c1 c4 c6 c3 c1 c7 c0 c5 c2
c2 c5 c3 c7 c2 c0 c6 c1 c4
c3 c0 c1 c2 c3 c4 c5 c6 c7
c4 c1 c7 c0 c4 c6 c3 c2 c5
c5 c2 c0 c6 c5 c3 c7 c4 c1
c6 c7 c5 c1 c6 c2 c4 c0 c3
c7 c6 c2 c4 c7 c5 c1 c3 c0
,
c0 c1 c2 c3 c4 c5 c6 c7
1 1 1 1
c0 0 2 2 0 2 2 0 0
1 5 3 1 7 1 3
c1 2 8 8 0 8 8 4 4
1 3 5 7 1 3 1
c2 2 8 8 0 8 8 4 4
c3 0 0 0 0 0 0 0 0
1 1 7 5 3 1 3
c4 2 8 8 0 8 8 4 4
1 7 1 3 5 3 1
c5 2 8 8 0 8 8 4 4
1 3 1 3 1 1
c6 0 4 4 0 4 4 2 2
3 1 3 1 1 1
c7 0 4 4 0 4 4 2 2
a, b
= 7/8, a, a
= 5/8.
For further reading on the critical group of a graph and other topics in this
chapter, see also Bacher and de la Harpe [BdlH97]; Baker and Norine [BN07]
and [BN09]; Baker and Shokrieh [BS13]; Biggs [Bi97], [Bi99], [Bi99b], and
[Bi07]; Blackburn [Bl08]; Bosch and Lorenzini [BL02]; Cori and Le Borgne
[CLB03]; Dhar [Dh90]; Menezes, Oorschot, and Vanstone [MvOV96]; Merino
[Me97], [Me99], and [Me04]; and Shokrieh [Sh09].
Chapter 5
Interesting Graphs
This chapter collects some examples of notable graphs, along with related
Sage computations and exercises. First, we recall some definitions.
For any graph Γ = (V, E), let dist: V × V → Z ∪ {∞} denote the distance
function. In other words, for any v1 , v2 ∈ V , dist(v1 , v2 ) is the length of the
shortest path from v1 to v2 (if it exists) and ∞ (if it does not). The diameter
of Γ, denoted diam(Γ), is the maximum value (possibly ∞) of this distance
function.
Let Γ = (V, E) be a graph, let dist: V × V → Z ∪ {∞} denote the distance
function, and let G = Aut(Γ) denote the automorphism group of Γ. For any
v ∈ V , and any k ≥ 0, let
Thus Γ1 (v) = N (v). For any subset S ⊂ V and any u ∈ V , let Nu (S) denote
the set of all s ∈ S which are neighbors of u, i.e., let
Nu (S) = S ∩ Γ1 (u).
This is a 3-regular graph with 102 vertices and 153 edges, depicted1 in Figure
5.1. It is the largest 3-regular distance-transitive graph.
It has chromatic number 3, chromatic index 3, radius 7, diameter 7, and
girth 9. It is also a 3-vertex-connected graph and a 3-edge-connected graph.
The characteristic polynomial of the Biggs–Smith graph is
(9, 153, 153, 153, 153, 153, 153, 153, 306, 306, 306, 306, 306, 306, 306, 306).
Sage
1 This plot contributed by Stolee found on the Wikipedia page for the Biggs–Smith Graph
is in the public domain.
5.1 BIGGS–SMITH GRAPH 211
Exercise 5.1. Use Sage to verify that the girth of the Biggs–Smith graph
is 9.
This graph, depicted in Figure 5.2, a 4-regular graph with 21 vertices and 42
edges discovered by Gunnar Brinkmann.
It has chromatic number 4, chromatic index 5, radius 3, diameter 3, and
girth 5. It is also a 3-vertex-connected graph and a 3-edge-connected graph.
It’s characteristic polynomial is given by
Exercise 5.2. Use Sage to verify that the radius of the Brinkmann graph
is 3.
5.2 BRINKMANN GRAPH 213
Exercise 5.3. Use Sage to verify that the chromatic number of the Chvátal
graph is 4.
2 This plot by David Eppstein found on the Wikipedia page for the Chvátal Graph is in
Exercise 5.4. Use Sage to verify that the diameter of the Coxeter graph
is 4.
3 This plot by David Eppstein found on the Wikipedia page for the Desargues graph is in
Computer calculations show that the critical group of the Desargues graph
has invariant factors (4, 8, 40, 40, 120).
Sage
Exercise 5.5. Use Sage to verify that the diameter of the Desargues graph
is 5.
Depicted in Figure 5.6 with 12 vertices and 18 edges, it’s named after Albrecht
Dürer, whose 1514 engraving Melencolia I includes a depiction of a solid
convex polyhedron having the Dürer graph as its skeleton.
It is a 3-vertex-connected simple planar graph. The automorphism group
of the Dürer graph is isomorphic to the dihedral group of order 12, D12 , and
the characteristic polynomial is
Computer calculations show that the critical group of the Dürer graph has
invariant factors (35, 210).
5.6 DÜRER GRAPH 219
Sage
Exercise 5.6. Use Sage to verify that the diameter of the Dürer graph is 4.
{20}, {0}, {9, 6, 17}, {3, 22, 31}, {8, 1, 7}, {11, 28, 13}, {26, 4, 30},
{2, 23, 15}, {16, 10, 14}, {25, 18, 5}, {24, 19, 21}, {27, 12, 29}.
The element
×(16, 17, 18, 19, 20, 21, 22, 23)(24, 25, 26, 27, 28, 29, 30, 31) ∈ Aut(Γ)
Exercise 5.7. Use Sage to verify that the diameter of the Dyck graph is 5.
Exercise 5.8. Assuming the critical group computations above, verify that
the quotient map Γ → Γ/G is not harmonic.
Exercise 5.9. Verify that the quotient map Γ → Γ/H is not harmonic.
222 5 INTERESTING GRAPHS
0 = {0, 4}, 1 = {1, 3, 5, 7, 10, 11, 12, 14, 15, 16}, 2 = {8, 9, 2, 13, 6}.
Computer calculations show that the critical group of the Errera graph
has invariant factors (52838, 264190) and the characteristic polynomial is
Exercise 5.10. Use Sage to verify that the radius of the Errera graph is 3.
224 5 INTERESTING GRAPHS
(8, 8, 8, 8, 8, 8, 8, 24, 24, 72, 360, 360, 360, 360, 360, 360, 360, 1080)
Exercise 5.11. Use Sage to verify that the diameter of the Foster graph
is 8.
This graph, depicted in Figure 5.10, is a 3-regular graph with 12 vertices and
18 edges named after Philip Franklin. It is Hamiltonian and has chromatic
number 2, chromatic index 3, radius 3, diameter 3, and girth 4. It is also
a 3-vertex-connected and 3-edge-connected perfect graph. Its characteristic
polynomial is
226 5 INTERESTING GRAPHS
Computer calculations show that the critical group of the Franklin graph
has invariant factors (4, 16, 144).
Sage
sage: G = graphs.FranklinGraph()
sage: G.automorphism_group().order()
48
sage: G.is_bipartite()
True
sage: G.chromatic_number()
2
sage: G.girth()
4
sage: G.is_hamiltonian()
True
sage: G.is_vertex_transitive()
True
sage: G.is_edge_transitive()
False
sage: G.is_planar()
False
sage: G.is_regular()
True
Exercise 5.12. Use Sage to verify that the diameter of the Franklin graph
is 3.
Computer calculations show that the critical group of the Gray graph
has invariant factors (3, 3, 3, 6, 18, 18, 18, 18, 18, 18, 54, 54, 54, 54, 16) and has
characteristic polynomial
Exercise 5.13. Use Sage to verify that the radius of the Gray graph is 6.
Sage
Exercise 5.14. Use Sage to verify that the radius of the Grötzsch graph
is 2.
232 5 INTERESTING GRAPHS
(x − 3) · (x + 3) · (x2 − 2)6 .
Sage
Exercise 5.15. Use Sage to verify that the girth of the Heawood graph is 6.
(x − 4) · (x + 4) · (x − 2)4 · (x + 2)4 · x6 .
Sage
Exercise 5.16. Use Sage to verify that the girth of the Hoffman graph is 4.
5.16 NAURU GRAPH 235
Exercise 5.17. Use Sage to verify that the girth of the Hoffman–Singleton
graph is 5.
4 This plot by David Eppstein found on the Wikipedia page for the Nauru graph is in the
public domain.
236 5 INTERESTING GRAPHS
Sage
Exercise 5.18. Use Sage to verify that the girth of the Hoffman–Singleton
graph is 5.
These, one of which is depicted in Figure 5.16, were named after Raymond
Paley.
Let q = pr be either an arbitrary power of a prime p congruent to 1
(mod 4), or an even power of any odd prime. Note that this implies that
GF (q) has a square root of −1. Let V = GF (q) and let
These graphs are strongly regular graphs. They give rise to a family of
expander graphs. When q is prime, the Paley graph is a Hamiltonian cir-
culant graph.
5.17 PALEY GRAPHS 237
Exercise 5.19. Show that for each nonzero square a ∈ GF (q)2 − {0} and
each b ∈ GF (q), the each map
ta,b : x
→ ax + b
(x − 3) · (x + 3) · x4 · (x2 − 3)6 .
5.18 PAPPUS GRAPH 239
Sage
Exercise 5.21. Use Sage to verify that the diameter of the Pappas graph
is 4.
(x − 3) · (x + 2)4 · (x − 1)5 .
Sage
Exercise 5.22. Use Sage to verify that the girth of the Petersen graph is 5.
Exercise 5.23. Use Sage to verify that the girth of the Shrikhande graph
is 3.
Chapter 6
Cayley Graphs of Bent Functions
and Codes
This chapter introduces some more advanced problems which arise at the
intersection of combinatorics, graph theory, error-correcting codes, and cryp-
tography.
6.1 Motivation
6.2 Introduction
Let p be a prime, and let GF (p) be the finite field of order p. A p-ary function
is a function f : GF (p)n → GF (p), where n is an integer. We are particu-
larly interested in bent p-ary functions, which are p-ary functions that are in
some sense the farthest from linear. We associate to each p-ary function f a
combinatorial structure on the level sets Dk = f −1 (k), for k ∈ GF (p) \ {0}
by counting the number of times each element of Dk is represented in the
form di − dj , for di ∈ Di and dj ∈ Dj , where i, j ∈ GF (p) \ {0}. We also
associate to each p-ary function f an edge-weighted Cayley graph Γf , with
vertex set GF (p)n , and with an edge (u, v) of weight f (u − v) for each pair
(u, v) such that f (u − v) = 0. If f (0) = 0, the graph Γf has no loops, and
if f (x) = f (−x) for all x (i.e., if f is even), then we may regard Γf as an
undirected graph.
We investigate how the properties of an even, bent p-ary function f with
f (0) = 0 are related to the combinatorial properties of the level sets Di and
to the graph-theoretic properties of the Cayley graph Γf . In the Boolean case
(p = 2), the theorems of Dillon and Bernasconi–Codenotti–VanderKam char-
acterize bent functions in terms of the combinatorial properties of their level
sets and in terms of their Cayley graphs. The p-ary case is more complicated.
We also describe Cayley graphs of binary linear codes.
Much of the material in this chapter was cowritten with Charles Celerier,
David Phillips, and Steven Walsh and appeared in [CJMPW15].
Fix a prime p and an integer n ≥ 1. Let GF (p) be the finite field of order p
(also denoted Z/pZ). Let ζ = e2πi/p . A p-ary function f : GF (p)n → GF (p)
determines a well-defined function ζ f : GF (p)n → C.
Let V = GF (p)n .
then
Wf (y)σ = Wkf (ky).
We will see that bent functions are “maximally nonlinear” in some sense
(see Proposition 6.3.9 (c)). They can be used to generate pseudorandom
sequences rather easily. Bent functions may also be characterized in terms of
an associated matrix (see Proposition 6.3.9 (b)).
Example 6.3.4. The following table shows the values of an even √ function
f : GF (3)2 → GF (3) and its Walsh transform (where z = 32 (1 + 3i)).
GF (3)2 (0, 0) (1, 0) (2, 0) (0, 1) (1, 1) (2, 1) (0, 2) (1, 2) (2, 2)
f 0 1 1 1 2 2 1 2 2
Wf −3 z z z z z z z z
It can be checked that the values of the Walsh transform (6.1) of f all have
absolute value 3. Therefore f is bent.
248 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
Note that
ĝ(0) = g(x).
x∈V
Wf (y) = (ζ f )∧ (y).
It is not hard to see that if g is even and real-valued, then the Fourier
transform of g is real valued. (However, this is not necessarily true of the
Walsh transform.)
1
h∨ (y) = h(z)ζ z,y .
pn
z∈V
ĝ ∨ (y) = g(y).
Proof. Let
Si = {x | g(x) = i} (6.3)
1 + ζ + ζ 2 + · · · + ζ p−1 = 0,
gives
If ζˆg (0) is rational (in particular, if ζˆg (0) = 0), then the expressions on both
sides of Equation (6.4) must be rational. This is possible only if
Furthermore, if ζˆg (0) = 0, then |S0 | = |S1 |. Therefore, if ζˆg (0) = 0, then g is
balanced.
Conversely, if g is balanced, Equation (6.4) implies that ζˆg (0) = 0.
is called the p-ary representation map and is a bijection. (For our purposes,
any bijection will do, but the p-ary representation map is the most natural
one.)
250 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
M M t = N IN ,
The following equivalences are known (see for example Tokareva [T10] and
Carlet and Ding [CD04]), but proofs are included for the convenience of the
reader.
Proposition 6.3.9. Let f be a p-ary function f : GF (p)n → GF (p). The
following are equivalent:
(a) The function f is bent.
(b) The matrix
ζ F = (ζ f (η(i)−η(j)) )0≤i,j≤pn −1
for b ∈ GF (p)n .
To prove that (a) implies (c), we note that the Fourier transform ĥ satisfies
ĥ(y) = b∈V x∈V ζ f (x+b)−f (x) ζ −y,b
= b∈V x∈V ζ f (x+b)−f
(x)−y,b−y,x+y,x
−f (x)+y,x f (x+b)−y,x+b
= x∈V ζ b∈V ζ
= ζ
f (y)ζ f (y)
= |ζ (y)|2
f
= |Wf (y)|2 .
To prove that (c) implies (a), we reverse the argument above. Suppose
Db f is balanced for all b ∈ GF (p)n such that b = 0. By Lemma 6.3.7, h is
supported at 0, so ĥ is a constant, by Exercise 6.2. Substituting y = 0 and
using the fact that Db f is balanced, we see that the constant value of ĥ must
be ĥ(0) = |V | = pn . Thus |Wf (y)| = pn/2 .
To prove that (c) implies (b), note that
n
p −1
t
(ζ F ζ F )ik = ζ f (η(i)−η(j))−f (η(k)−η(j))
j=0
= ζ f (x+b)−f (x)
x∈V
Db f ∧
= (ζ ) (0),
Exercise 6.3. Show that there are 8 functions f : GF (2)2 → GF (2) with
f (0) = 0 (all Boolean functions are even), of which 4 are bent. Express these
252 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
Corollary 6.4.4. If f is bent and Wf (0) is rational (i.e., belongs to Q), then
n must be even.
• f is weakly regular.
• Wf (u)/Wf (0) is a p-th root of unity for all u ∈ GF (p)n .
• f is regular.
• Wf (0)/pn/2 is a p-th root of unity.
Proof. One direction is clear. Suppose that f is a weakly regular bent func-
tion with μ-regular dual f ∗ and suppose that Wf (0)/(pn/2 ) = ζ i . Note
that Wf (0) = μζ f ∗(0) pn/2 = ζ i pn/2 so that μ = ζ i−f ∗(0) . Let g(u) =
f ∗ (u) − f ∗ (0) + i (where we are treating i as an element of GF (p)). Then
∗
(0) g(u)+f ∗ (0)−i n
Wf (u) = μζ f ∗(u) pn/2 = ζ i−f ζ p /2 = ζ g(u) pn/2 ,
so f is regular.
254 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
Lemma 6.4.7. Suppose that f is bent and weakly regular, with μ-regular
dual f ∗ . Then f ∗ is bent and weakly regular, with μ−1 -regular dual f ∗∗ given
by f ∗∗ (x) = f (−x). If f is also even, then f ∗ is even and f ∗∗ = f .
Proof. Suppose that f is bent and weakly regular with μ-regular dual f ∗ .
Then ∗ n
Wf (u) = μζ f (u) p 2
and, if wi = 0,
ζ −ywi = ζ 0 + ζ 1 + · · · + ζ p−1 = 0.
y∈GF (p)
6.5 PARTIAL DIFFERENCE SETS 255
It follows that f ∗ is bent with μ−1 -regular dual f ∗∗ given by f ∗∗ (x) = f (−x)
and that if f is even, f ∗∗ = f .
Furthermore, if f is even,
∗ n
(−u)
ζf = μ−1 p− 2 Wf (−u)
n
= μ−1 p− 2 ζ f (x) ζ −−u,x
x∈V
−1 − n
=μ 2 p ζ f (−w) ζ −u,w
w∈V
−1 − n
=μ 2 p ζ f (w) ζ −u,w since f is even
w∈V
n
= μ−1 p− 2 Wf (u)
∗
(u)
= ζf .
Since f ∗ takes values in GF (p), it follows that f ∗ (−u) = f ∗ (u) for all u in
V , so f ∗ is even.
Exercise 6.5. Let G = Z/7Z and D = {1, 2, 4}. Does D form a difference
set? If so, what are its parameters?
Exercise 6.6. Let G = Z/11Z and D = {1, 3, 4, 5, 9}. Does D form a differ-
ence set? If so, what are its parameters?
Exercise 6.7. Let G = Z/2Z × Z/8Z and
D = {(0, 0), (0, 1), (0, 5), (1, 0), (1, 6)}.
Does D form a difference set? If so, what are its parameters? Is it a Hadamard
difference set?
Definition 6.5.2. Let G be a finite abelian multiplicative group of order
v, and let D be a subset of G of order k. The set D is a (v, k, λ, μ)-partial
difference set (PDS) if the list of differences d1 d−1
2 , where d1 , d2 ∈ D, repre-
sents every nonidentity element in D exactly λ times and every nonidentity
element in the complement G \ D exactly μ times.
Let D−1 = {d−1 | d ∈ D}.
Exercise 6.8. Let G be a finite abelian multiplicative group of order v, and
let D be a subset of G of order k such that D = D−1 . Show that if (G, D) is
an (v, k, λ, λ)-partial difference set, then it is also a (v, k, λ)-difference set.
Example 6.5.3. Consider the finite field
D = {1, 2, x, 2x}.
v = 9, k = 4, λ = 1, μ = 2.
Consider functions
f : GF (p)n → GF (p),
where p is a prime and n > 1 is an integer. Dillon’s thesis [D74] was one
of the first publications to discuss the relationship between bent functions
and combinatorial structures, such as difference sets. His work concentrated
on the Boolean case. Dillon proved that the support of f , i.e., the level set
f −1 (1), is a difference set in GF (2)n .
Two (naive) analogs of Dillon’s correspondence are formalized in Analog
6.16.1 and Analog 6.16.2.
Theorem 6.5.5. (Dillon Correspondence, [D74] Theorem 6.2.10 p. 78) The
function f : GF (2)n → GF (2) is bent if and only if f −1 (1) is an elementary
Hadamard difference set of GF (2)n .
Proof. Suppose that f is bent. Then n is even, so 2n = 4m2 for some integer
m. Let V = GF (p)n and let k = |f −1 (1)|. Since f is bent, Db f is balanced,
so there are 2m2 values x ∈ V such that Db f (x) = 1, It follows that there
are m2 pairs x, x + b such that f (x) = 1 and f (x + b) = 0. This accounts for
m2 elements in the support f −1 (1) of f . The remaining k − m2 elements x in
the support of f must satisfy f (x) = f (x + b) = 1, so Db f (x) = 0 for these
values of x. The differences (x + b) − x represent b a total of λ = k − m2 times
as differences of elements of the support of f . Note that by Lemma 6.3.11,
n
k = 2n−1 ± 2 2 −1 = 2m2 ± m, so λ = m2 ± m. Thus (GF (2)n , f −1 (1)) is a
difference set with parameters (4m2 , 2m2 ± m, m2 ± m).
Conversely, suppose that (GF (2)n , f −1 (1)) is a Hadamard difference set.
Then there are λ = m2 ± m elements of f −1 (1) in pairs x, x + b (i.e., such
that both x and x + b are in f −1 (1)), and the remaining m2 elements x of
f −1 (1) satisfy f (x + b) = 0. For these x, Db f (x) = 1 and Db f (x + b) = 1.
Thus, there are exactly 2m2 elements of V at which Db f is nonzero. Thus
Db f is balanced, so f is bent.
Definition 6.6.1. The Cayley graph Γ = Γ(G, D) associated with the pair
(G, D) is the graph whose vertices are the elements of G and such that a
directed edge connects two vertices g2 and g2 if g2 = dg1 for some d ∈ D.
If D = D−1 = {d−1 |d ∈ D}, the Cayley graph Γ(G, D) is an undirected
graph, since if g2 = dg1 for some d ∈ D, we have g1 = d−1 g2 , where d−1 ∈ D.
Note, that if D is a partial difference set such that λ = μ, then D = D−1
(Proposition 1 in Pohill [Po03]).
Example 6.6.2. Let G be the abelian group GF (3)2 and let D be the subset
{(0, 1), (0, 2), (1, 0), (2, 0)}. Then (G, D) is a (9, 4, 1, 2)-partial difference set
such that D = D−1 . Sage can be used to plot the Cayley graph of (G, D)
(Figure 6.1). Note that the partial difference set (G, D) is isomorphic to the
partial difference set of Example 6.5.3.
Sage
sage: V = range(9); V
[0, 1, 2, 3, 4, 5, 6, 7, 8]
sage: E = [(0,1),(0,2),(0,3),(0,6),(1,2),(1,4),(1,7),(2,5),(2,8),(3,4),
(3,5),(3,6),(4,5),(4,7),(5,8),(6,7),(6,8),(7,8)]
sage: Gamma = Graph([V,E])
sage: Gamma.is_regular(4)
True
sage: Gamma.is_strongly_regular()
True
Figure 6.1: The Cayley graph for the PDS of Example 6.6.2.
Remark 6.6.3. We will see in §6.13.1 that the partial difference set D of
Example 6.6.2 is the support of the even bent functions b2 and b3 = −b2 of
Proposition 6.13.1.
6.6 CAYLEY GRAPHS 259
D · D−1 = (k − μ) · 1 + (λ − μ) · D + μ · G.
k 2 − k = kλ + (v − k − 1)μ. (6.8)
where J is the all 1’s matrix and I is the identity matrix. This identity
is relatively easy to verify by simply computing (A2 )ij in the three separate
cases (a) i = j, (b) i = j and i, j adjacent, and (c) i = j and i, j nonadjacent3 .
Remark 6.6.8. Suppose that f : GF (p)n → GF (p) is an even function such
that f (0) = 0, and let
λd = |{(g, h) ∈ D × D | g − h = d}|,
k 2 − k = kλ + (v − k − 1)μ.
Exercise 6.9. Find the incidence matrix and girth of the Cayley graph of
the partial difference set in Example 6.5.3.
Exercise 6.10. Find the adjacency matrix and diameter of the Cayley graph
of the partial difference set in Example 6.5.3.
3 It can also be proven by character-theoretic methods, but this method seems harder to
where the edge (u, v) ∈ E has weight f (u − v). We routinely identify GF (p)
with the set {0, 1, . . . , p − 1} when referring to the edge weights of Γf . If f is
even, then we can (and do) regard Γf as a weighted undirected graph.
For example, the Cayley graph of the even bent function in Example 6.3.4
is given in Figure 6.2.
For the case of Boolean functions, we have the following Bernasconi-
Codenotti-VanderKam correspondence (see [B98], [BC99], and [BCV01])
characterizing bent functions in terms of their Cayley graphs.
0
1 2
2 2
1 8
1
1
1
1 1
1 2
2 2 1
1
2 7
2 2
2
2 1 1 1
2 2 2
1
3 6
1 1
2
2 1 2
1 2
2
4 5
1
Figure 6.2: The undirected Cayley graph of an even GF (3)-valued bent function of two
variables from Example 6.3.4. (The vertices are ordered as in the example.)
The following definition is standard, but we give Pott, Tan, Feng, and Ling
[PTFL11] as a reference.
S × S = R0 ∪ R 1 ∪ · · · ∪ R s ,
For each k, and for all x, y ∈ Rk , the integer ρij (x, y) is a constant,
denoted ρkij .
Next, we recall (see Herman [He11]) the matrix-theoretic version of this def-
inition.
Let M atm×m (Z) denote the non-abelian ring of m × m matrices with
integer coefficients.
S × S = R0 ∪ R1 ∪ · · · ∪ Rs ,
We say that the subring of Z[M atm×m (Z)] generated by the set {Ai } of
adjacency matrices is an adjacency ring (also called a Bose–Mesner algebra)
provided the set of adjacency matrices satisfies the following five properties:
• for each integer i ∈ {0, 1, 2, . . . , s}, Ai is a (0, 1)-matrix;
s
• i=0 Ai = J (where J is the all 1’s matrix);
R0 = ΔG ,
R2 = {(g, h) | gh−1 ∈
/ D, g = h}.
For the following definition, we identify any subset S of G with the formal
sum of its elements in C[G].
Definition 6.7.3. Let G be a finite abelian group and let C0 , C1 , . . . , Cs
denote finite subsets with the following properties.
• C0 = {1} is the singleton containing the identity.
• We have a disjoint union
G = C0 ∪ C1 ∪ · · · ∪ Cs ,
• For each i there is a j such that Ci−1 = Cj (and if Ci−1 = Ci for all i,
then we say the Schur ring is symmetric).
• For all i, j, we have
s
Ci · Cj = ρkij Ck ,
k=0
Ri = {(g, h) ∈ G × G | gh−1 ∈ Ci },
Ri = {(g, h) ∈ G × G| gh−1 ∈ Di }.
r+1
Di · Dj = ρij D , (6.10)
=0
r
Di · Dj = δij ki · D0 + λi,j, D + μi,j Dr+1 (6.11)
=1
266 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
r
i,r+1 = ki −
ρr+1 μi,j , for 1 ≤ i ≤ r, and
j=1
r
r
r
r+1,r+1 = kr+1 − 1 −
ρr+1 ki + μi,j .
i=1 i=1 j=1
Remark 6.7.5. For a more general version of this, see Theorem 6.10.4
below.
D = G \ (D ∪ {1}).
D · D = (k − μ) · 1 + (λ − μ) · D + μ · G
(6.12)
= k · 1 + λ · D + μ · D ,
and
D · D = (−k + μ) · 1 + (−1 − λ + μ) · D + (k − μ) · G
(6.13)
= 0 · 1 + (k − 1 − λ) · D + (k − μ) · D .
k = v − k − 1
λ = v − 2k − 2 + μ, and (6.14)
μ = v − 2k + λ.
Proof. We will show that D is a (v, k , λ , μ )-partial difference set. The first
of these three equations is immediate, from the definition of D . The fact that
D = (D )−1 also follows immediately from the hypotheses.
By the definition of D, and because D−1 = D, we have
D · D = k1 + λD + μD . (6.15)
kG = D · G
= D · ({1} + D + D )
= D + D · D + D · D
so that
D · D = (k − λ − 1)D + (k − μ)D . (6.16)
k G = G · D
= ({1} + D + D ) · D
= D + D · D + D · D
so that
With the identities in the above example, one can verify that a partial dif-
ference set naturally yields an associated Schur ring and a 2-class association
scheme.
268 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
(a) If u and v are distinct vertices of Γ but (u, v) is not an edge of Γ, then
we say the weight of (u, v) is w = p.
(b) If u = v is a vertex of Γ (so (u, v) is not an edge, since Γ has no loops),
then we say the weight of (u, v) is w = 0.
D = D1 ∪ · · · ∪ Ds , (6.20)
/ D. Let ki = |Di |.
and assume 1 ∈
r+1
Di · Dj = ρkij Dk
k=0
over all i, 0 ≤ i ≤ r + 1:
r+1 r+1
G · Dj = ( ρkij )Dk .
k=0 i=0
We know that G · Dj = |Dj | · G, and all the Dk are disjoint. Consider the
above-displayed equation as an identity in the Schur ring. Each element of G
must occur |Dj | times on each side of this equation. Therefore,
r+1
|Dj | = ρkij .
i=0
So the sum of the elements in the j-th row of Pk is |Dj | for each j and k.
The analogous claim for the row sums is proven similarly.
These constants ρkij are called the intersection numbers or structure con-
stants of the Schur ring.
D0 = {(0, 0)},
D1 = {(1, 0), (2, 0), (0, 1), (0, 2)}, and
D2 = {(1, 1), (2, 1), (1, 2), (2, 2)},
ρ0ij 0 1 2 ρ1ij 0 1 2
0 1 0 0 0 0 1 0
1 0 4 0 1 1 1 2
2 0 0 4 2 0 2 2
ρ2ij 0 1 2
0 0 0 1 no ρ3ij
1 0 2 2
2 1 2 1
How does the above notion of a weighted partial difference set relate to
the usual notion of a partial difference set?
Proof. The claim is that (G, D) is a partial difference set with parameters
(v, k, λ, μ). Since v = |G| and
times. By hypothesis, this does not depend on , so the claim regarding λ has
been verified.
272 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
times. This verifies the claim regarding μ and completes the proof of the
lemma.
D = {1, 2, x, 2x}.
Let D1 = {1, 2} and D2 = {x, 2x}. We will use square brackets [ ] when
we wish to denote multi-sets, in which repetition is allowed. Translating the
multiplicative notation to the additive notation, we find that as multi-sets,
k1 = 2, k2 = 2,
and
μ1,1 = 0, μ1,2 = 1, μ2,1 = 1, μ2,2 = 0.
Ri = {(g, h) ∈ G × G| gh−1 ∈ Di }, 0 ≤ i ≤ r + 1.
for each i = 1, 2, . . . , p−1. Let A0 be the pn ×pn identity matrix. Let Ap be the
(0, 1)-matrix such that A0 +A1 +· · ·+Ap−1 +Ap = J, the pn ×pn matrix with
all entries 1. Let R denote the matrix ring generated by {A0 , A1 , . . . , Ap }. The
intersection numbers pkij defined by
p
Ai Aj = pkij Ak (6.22)
k=0
for all i, j, k = 1, 2, . . . , p.
is the number of (i, j)-weighted walks (of length 2) from the zero vector to
any k-neighbor of it. This is equivalent to the definition of the number pkij in
the matrix-walk theorem.
The following corollary is well-known (see Cameron and van Lint [CvL91]
p. 202).
where the last set is the collection of all vectors u + v, for some v ∈ supp(f ).
6.10 WEIGHTED CAYLEY GRAPHS 279
N (u, a) = u + Sa , (6.25)
ω = ωf = wt(f ),
Note that
1 + ζ + ζ 2 + · · · + ζ p−1 = 0,
gives
and
In particular,
We note here some useful facts about the action of nondegenerate linear
transforms on p-ary functions. Suppose that f : V = GF (p)n → GF (p) and
φ : V → V is a nondegenerate linear transformation (isomorphism of V ),
and g(x) = f (φ(x)). The functions f and g both have the same signature,
(|f −1 (i)| | i = 1, . . . , p − 1).
6.10 WEIGHTED CAYLEY GRAPHS 281
Proof. We can explore this question by utilizing the Schur ring generated by
the sets Di . Define D0 = {0}, where 0 denotes the zero vector in GF (p)n ,
and define Dp = GF (p)n − ∪0≤i≤p−1 Di .
The collection (D0 , D1 , D2 , . . . , Dp−1 , Dp ) forms a weighted partial differ-
ence set for GF (p)n if and only if (C0 , C1 , C2 , . . . , Cp ) forms a Schur ring in
C[GF (p)n ], where
C1 = D1 , . . . , Cp−1 = Dp−1
p
Ci · Cj = ρkij Ck ,
k=0
for some intersection numbers ρkij ∈ Z. Note that f is even, so Ci = Ci−1 for all
i, where Ci−1 = {−x | x ∈ Ci }. Define Si = g −1 (i) = {v ∈ GF (p)n : g(v) = i}.
Di = f −1 (i) = (g ◦ φ−1 )−1 (i) = (φ · g −1 )(i) = φ(Si ). So the map φ sends Si
to Di . φ can be extended to a map from C[GF (p)n ] → C[GF (p)n ] such that
φ(g1 + g2 ) = φ(g1 ) + φ(g2 ) and φ(Si ) = Di . So φ is a homomorphism from
the Schur ring of g to the Schur ring of f . Therefore, the level curves of g
give rise to a Schur ring, and the weighted partial difference set generated by
f is sent to a weighted partial difference set generated by g under the map
282 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
In other words,
Wf (u) = a∈V ca x∈GF (p)n ζ −u,x f (x − a)
= a∈V ca x∈GF (p)n ζ −u,x+a f (x)
(6.29)
−u,a
−u,x
= a∈V ca ζ x∈GF (p)n ζ f (x)
= fˆ(u) a∈V ca ζ −u,a .
This may be regarded as the product of Fourier transforms (that of the func-
tion fC and that of the function c, which depends on f ). In other words, there
is a relationship between the Fourier transform of a GF (p)-valued function
and its Walsh-Hadamard transform. However, it is not explicit unless one
knows the function c (which depends on f in a complicated way).
Recall
ω = ωf = wt(f )
σ(Γ) = {λ1 , λ2 , . . . , λN },
284 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
supp(fv0 ) = {v ∈ V | f (v − v0 ) = 0},
supp(fv0 ) = v0 + supp(f ).
We first show how to find the algebraic normal form of the atomic function
fv , for v = (v0 , v1 , . . . , vn−1 ) ∈ GF (p)n .
n−1
(p − 1)!
=
i=0
(p − 1)!
= 1.
Example 6.12.4. Sage can easily list all the atomic functions over GF (3)
having 2 variables:
286 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
Sage
sage: V = GF(3)^2
sage: x0,x1 = var("x0,x1")
sage: xx = [x0,x1]
sage: [expand(prod([2*prod([GF(3)(j)+v[i]-xx[i] for j in range(1,3)])
for i in range(2)])) for v in V]
[x0^2*x1^2 + 2*x0^2 + 2*x1^2 + 1,
x0^2*x1^2 + x0*x1^2 + 2*x0^2 + 2*x0,
x0^2*x1^2 + 2*x0*x1^2 + 2*x0^2 + x0,
x0^2*x1^2 + x0^2*x1 + 2*x1^2 + 2*x1,
x0^2*x1^2 + x0^2*x1 + x0*x1^2 + x0*x1,
x0^2*x1^2 + x0^2*x1 + 2*x0*x1^2 + 2*x0*x1,
x0^2*x1^2 + 2*x0^2*x1 + 2*x1^2 + x1,
x0^2*x1^2 + 2*x0^2*x1 + x0*x1^2 + 2*x0*x1,
x0^2*x1^2 + 2*x0^2*x1 + 2*x0*x1^2 + x0*x1]
sage: f = x0^2*x1^2 + x0^2*x1 + x0*x1^2 + x0*x1
sage: [f(x0=v[0],x1=v[1]) for v in V]
[0, 0, 0, 0, 1, 0, 0, 0, 0]
n(p − 1)
deg(f ) ≤ + 1.
2
The degree of any weakly regular bent function f : GF (p)n → GF (p), when
represented in algebraic normal form, satisfies
n(p − 1)
deg(f ) ≤ ,
2
GF (3)2 (0, 0) (1, 0) (2, 0) (0, 1) (1, 1) (2, 1) (0, 2) (1, 2) (2, 2)
b1 0 1 1 1 2 2 1 2 2
b2 0 2 2 1 0 0 1 0 0
b3 0 1 1 2 0 0 2 0 0
b4 0 2 2 0 1 0 0 0 1
b5 0 0 0 2 1 0 2 0 1
b6 0 1 1 0 2 0 0 0 2
b7 0 0 0 1 2 0 1 0 2
b8 0 2 2 0 0 1 0 1 0
b9 0 0 0 2 0 1 2 1 0
b10 0 2 2 2 1 1 2 1 1
b11 0 0 0 0 2 1 0 1 2
b12 0 2 2 1 2 1 1 1 2
b13 0 1 1 2 2 1 2 1 2
b14 0 1 1 0 0 2 0 2 0
b15 0 0 0 1 0 2 1 2 0
b16 0 0 0 0 1 2 0 2 1
b17 0 2 2 1 1 2 1 2 1
b18 0 1 1 2 1 2 2 2 1
The group G = GL(2, GF (3)) acts on the set B of all such bent functions.
There are two orbits in B/G:
288 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
The functions in the orbit B1 are all regular. The functions in the orbit
B2 are all weakly regular (but not regular).
Each of these bent functions gives rise to a weighted partial difference set
and hence an edge-weighted strongly regular Cayley graph.
Exercise 6.11. Verify that b4 is bent.
Proposition 6.13.2. (S. Walsh [W14]) Let f : GF (3)2 → GF (3) be an
even bent function with f (0) = 0. Then the level curves of f ,
ρ2ij 0 1 2 3 ρ3ij 0 1 2 3
0 0 0 1 0 0 0 0 0 1
1 0 0 0 2 1 0 0 1 1
2 1 0 1 0 2 0 1 0 1
3 0 2 0 2 3 1 1 1 1
ρ0ij 0 1 2 ρ1ij 0 1 2
0 1 0 0 0 0 1 0
1 0 4 0 1 1 1 2
2 0 0 4 2 0 2 2
ρ2ij 0 1 2
0 0 0 1 no ρs ij 3
1 0 2 2
2 1 2 1
6.13 EXAMPLES OF BENT FUNCTIONS 289
b1 = b6 + b15 = b7 + b14 ,
b10 = b4 + b9 = b5 + b8 ,
b12 = b2 + b11 = b7 + b8 ,
b13 = b3 + b11 = b6 + b9 ,
b17 = b2 + b16 = b4 + b15 ,
b18 = b3 + b16 = b5 + b14 .
5 We say edge-weighted graphs are isomorphic if there is a bijection of the vertices which
supp(b2 ) = supp(b3 ) = {(0, 1), (0, 2), (1, 0), (2, 0)},
supp(b4 ) = supp(b6 ) = {(1, 0), (2, 0), (1, 1), (2, 2)},
supp(b8 ) = supp(b14 ) = {(1, 0), (2, 0), (1, 2), (2, 1)},
supp(b9 ) = supp(b15 ) = {(0, 1), (0, 2), (1, 2), (2, 1)},
supp(b5 ) = supp(b7 ) = {(0, 1), (0, 2), (1, 1), (2, 2)},
supp(b11 ) = supp(b16 ) = {(1, 1), (2, 2), (1, 2), (2, 1)},
and
S1 ∩ S2 = ∅ or |S1 ∩ S2 | = 2.
S = {∅} ∪ {supp(f ) | f ∈ B1 ∪ B2 },
6 What is true in the binary case is an oddly similar result: the vectors in the support of a
bent function form a Hadamard difference set in the additive group GF (2)n .
6.13 EXAMPLES OF BENT FUNCTIONS 291
2
1
2
2 1
2
1 1 2
1
2
1
1
1
2
2 1
D = {1, 2, x, 2x}.
Let Γ be the graph whose vertices are GF (9) and whose edges e = (a, b) are
those pairs for which a − b ∈ D.
The graph looks like the Cayley graph for b8 in Figure 6.3, except
8 → 0, 0 → 2x + 2, 1 → 2x + 1, 2 → 2x,
3 → x + 2, 4 → x + 1, 5 → x, 6 → 2, 7 → 1, 8 → 0.
v 0 1 2 3 4 5 6 7 8
N (v, 0) 3,4,6,8 4,5,6,7 3,5,7,8 0,2,6,7 0,1,7,8 1,2,6,8 0,1,3,5 1,2,3,4 0,2,4,5
N (v, 1) 5,7 3,8 4,6 1,8 2,6 0,7 2,4 0,5 1,3
N (v, 2) 1,2 0,2 0,1 4,5 3,5 3,4 7,8 6,8 6,7
Sage and Mathematica were used to find and classify the even bent functions
f : GF (3)3 → GF (3) such that f (0) = 0. There are 2340 such functions.
There are four orbits B1 , B2 , B3 = −B1 , and B4 = −B2 under the action
of the group G = GL(3, GF (3)), with sizes |B1 | = |B3 | = 234 and |B2 | =
|B4 | = 936. Note that by Hou’s theorem (Proposition 6.12.5) the degree d of
a bent function f : GF (3)3 → GF (3), when represented in algebraic normal
form, satisfies d ≤ 4, and if f is weakly regular then d ≤ 3.
A representative of B1 is
A representative of B2 is
It can be shown that Wf (0)/33/2 is a 6-th root of unity, but not a cube root
of unity. It therefore follows from Lemma 6.4.5 that f is not weakly regular.
Sage and Mathematica were used to find and classify the even bent functions
f : GF (5)2 → GF (5) such that f (0) = 0. There are 1420 such functions. Note
that by Hou’s theorem (Proposition 6.12.5) the degree d of a bent function
f : GF (5)2 → GF (5), when represented in algebraic normal form, satisfies
d ≤ 5, and if f is weakly regular then d ≤ 4.
There are 11 orbits Bi under the action of the group G = GL(2, GF (5)),
with representatives given in Table 6.1. The sizes of the orbits are |B1 | = 40,
|B2 | = 60, |B3 | = · · · = |B9 | = 120, and |B10 | = |B11 | = 240.
6.13 EXAMPLES OF BENT FUNCTIONS 293
The bent functions which give rise to symmetric weighted partial difference
sets are those in the orbits of f1 , f2 , f5 , f6 , and f9 in Table 6.1. The bent
functions in the orbits of the other fi ’s do not.
The function f1 is weakly regular, and the functions f2 , . . . , f11 are regular.
φ : GF (5)2 → GF (25),
(a, b) −→ bx + a ,
Show that the level curves of this function do not give rise to a weighted
partial difference set.
0
1
1
1
1 8
1
1 2 1
2 1
1 1
2 2
2 7
1
2 2 1
2
1
1 2
3 6
2 1
1 1
1
4 5
1
Figure 6.4: The weighted Cayley graph of a non-bent even GF (3)-valued function.
GF (3)2 (0, 0) (1, 0) (2, 0) (0, 1) (1, 1) (2, 1) (0, 2) (1, 2) (2, 2)
f 0 1 1 2 0 1 2 1 0
⎛ ⎞
0 1 1 2 0 1 2 1 0
⎜ 1 0 1 1 2 0 0 2 1 ⎟
⎜ ⎟
⎜ 1 1 0 0 1 2 1 0 2 ⎟
⎜ ⎟
⎜ 2 1 0 0 1 1 2 0 1 ⎟
⎜ ⎟
A=⎜
⎜ 0 2 1 1 0 1 1 2 0 ⎟.
⎟
⎜ 1 0 2 1 1 0 0 1 2 ⎟
⎜ ⎟
⎜ 2 0 1 2 1 0 0 1 1 ⎟
⎜ ⎟
⎝ 1 2 0 0 2 1 1 0 1 ⎠
0 1 2 1 0 2 1 1 0
The matrix N22 whose u, v-entry is |N (u, 2) ∩ N (v, 2)|, (where u and v are
vertices of Γ), is:
⎛ ⎞
2 0 0 1 0 0 1 0 0
⎜ 0 2 0 0 1 0 0 1 0 ⎟
⎜ ⎟
⎜ 0 0 2 0 0 1 0 0 1 ⎟
⎜ ⎟
⎜ 1 0 0 2 0 0 1 0 0 ⎟
⎜ ⎟
N22 = ⎜
⎜ 0 1 0 0 2 0 0 1 0 ⎟.
⎟
⎜ 0 0 1 0 0 2 0 0 1 ⎟
⎜ ⎟
⎜ 1 0 0 1 0 0 2 0 0 ⎟
⎜ ⎟
⎝ 0 1 0 0 1 0 0 2 0 ⎠
0 0 1 0 0 1 0 0 2
Exercise 6.15. Show that all the values of N22 [u, v] are the same if u, v are
distinct vertices which are not neighbors. Show μ(2,2) = 0.
Exercise 6.16. Show that all the values of N22 [v, v] are the same. Show
k2 = 2.
Exercise 6.17. Show that all the values of N22 [u, v] are the same if u, v are
neighbors with edge-weight 2. Show λ(2,2,2) = 1.
Exercise 6.18. Show that all the values of N22 [u, v] are the same if u, v are
neighbors with edge-weight 1. Show λ(2,2,1) = 0.
Using these sorts of combinatorial considerations, one can show
Using these parameters, one can verify the statements in the conclusion of
Analog 6.16.4 for this function. In other words, the associated edge-weighted
Cayley graph is strongly regular. (However, f is not bent.)
296 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
Ri = {(g, h) ∈ G × G | gh−1 ∈ Di }, i = 1, 2,
and Di = f −1 (i).
sage: FF = GF(3)
sage: V = FF^2
sage: Vlist = V.list()
sage: flist = [0,2,2,0,0,1,0,1,0]
sage: f = lambda x: GF(3)(flist[Vlist.index(x)])
sage: F = matrix(ZZ, [[f(x-y) for x in V] for y in V])
sage: eval1 = lambda x: int((x==1))
sage: eval2 = lambda x: int((x==2))
sage: F1 = matrix(ZZ, [[eval1(f(x-y)) for x in V] for y in V])
sage: F2 = matrix(ZZ, [[eval2(f(x-y)) for x in V] for y in V])
sage: F1*F2-F2*F1 == 0
True
sage: delta = lambda x: int((x[0]==x[1]))
sage: F3 = matrix(ZZ, [[(eval0(f(x-y))+delta([x,y])) %2 for x in V] for y in V])
sage: F3*F2-F2*F3==0
True
sage: F3*F1-F1*F3==0
True
sage: F0 = matrix(ZZ, [[delta([x,y]) for x in V] for y in V])
sage: F1*F3 == 2*F2 + F3
True
A1 A3 = 2A2 + A3
3 1 8
1 1 1 1 1 1
6 0 4 7 2 5
1 1 1
Figure 6.5: The undirected Cayley graph of an even GF (3)-valued function of two vari-
ables from Example 6.14.3. (The vertices are ordered as in the example.)
GF (3)2 (0, 0) (1, 0) (2, 0) (0, 1) (1, 1) (2, 1) (0, 2) (1, 2) (2, 2)
f 0 0 0 1 0 0 1 0 0
Sage
sage: V = GF(3)^2
sage: flist = [0,0,0,1,0,0,1,0,0]
sage: f = lambda x: GF(3)(flist[Vlist.index(x)])
sage: A = matrix([[f(x-y) for x in V] for y in V])
sage: Gamma = Graph(A)
sage: Gamma.connected_components_number()
3
GF (3)2 (0, 0) (1, 0) (2, 0) (0, 1) (1, 1) (2, 1) (0, 2) (1, 2) (2, 2)
f 0 0 0 1 0 0 1 0 0
Ff 8 2 2 −1 −1 −1 −1 −4 −4
Sage
sage: V = GF(3)^2
sage: Vlist = V.list()
sage: Vlist
[(0, 0), (1, 0), (2, 0), (0, 1), (1, 1), (2, 1), (0, 2), (1, 2), (2, 2)]
sage: flist = [0,1,1,2,0,1,2,1,0]
sage: f = lambda x: GF(3)(flist[Vlist.index(x)])
sage: A = matrix([[f(x-y) for x in V] for y in V])
sage: Gamma = Graph(A)
sage: Gamma.spectrum()
[8, 2, 2, -1, -1, -1, -1, -4, -4]
This shows that, in this case, the spectrum of the Cayley graph of f agrees
with the values of the Fourier transform of fC . See Example 2.7.7 for more
details.
6.15 CAYLEY GRAPHS OF LINEAR CODES 299
E = {(v, w) ∈ V × V | v + w ∈ B}.
Example 6.15.2. Let C ⊂ GF (2)7 denote the (Hamming) linear [7, 4, 3]-
code with generator matrix
⎛ ⎞
1 0 0 0 0 1 1
⎜0 1 0 0 1 0 1⎟
G=⎜ ⎝0 0 1 0 1
⎟.
1 0⎠
0 0 0 1 1 1 1
0, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 7.
The vertices of the associated Cayley graph Γ(V, E) will be V = GF (2)4 . For
example, the vertices v1 = (1, 1, 1, 1) and (0, 1, 1, 1) are connected by an edge
since v1 + v2 = (1, 0, 0, 0) is a column of G. Indeed, Γ is a 7-regular graph
with 56 edges. The eigenvalues of the Laplacian matrix of Γ are
0, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 14,
Figure 6.6: The Cayley graph of the Hamming [7, 4, 3] code, created using Sage.
Analog 6.16.1. Using the notation of Theorem 6.10.6, under what condi-
tions on an even bent function f will the tuple
of some degree.
302 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES
For further reading on p-ary bent functions and related topics from this
chapter, see Bernasconi [B98]; Bernasconi and Codenotti [BC99]; Bernasconi,
Codenotti and VanderKam [BCV01]; Carlet [C10]; Carlet and Ding [CD04];
Celerier, Joyner, Melles, and Phillips [CJMP12]; Celerier, Joyner, Melles,
Phillips, and Walsh [CJMPW15]; Cesmelioglu and Meidl [CM12]; Chee, Tan,
and Zhang [CTZ10]; Coulter and Matthews [CoM77]; Cusick and Stanica
[CS09]; Delsarte [De73]; Fen, Wen, Xiang, and Yin [FWXY10]; Helleseth and
Kholosha [HK10], [HK10], and [HK13]; Hou [H04]; Mesnager [Mes16] Pott,
Tan, Feng, and Ling [PTFL11]; Stanica [St07]; and Tokareva [T10] and [T15].
Appendix A
Selected Answers
Selected answers and hints for the exercises are provided below.
Chapter 1
Exercise 1.1 The sensitivity is 4.
Exercise 1.2 (a) The adjacency matrix is
⎛ ⎞
0 1 0 0 1 1 0 0
⎜1 0 1 0 1 0 1 0⎟
⎜ ⎟
⎜0 1 0 1 0 0 1 1⎟
⎜ ⎟
⎜0 0 1 0 1 0 0 0⎟
⎜ ⎟.
⎜1 1 0 1 0 0 0 0⎟
⎜ ⎟
⎜1 0 0 0 0 0 1 1⎟
⎜ ⎟
⎝0 1 1 0 0 1 0 0⎠
0 0 1 0 0 1 0 0
(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1)}.
Chapter 4
Exercise 4.5 xtW QxW = 3.
Exercise 4.10
Exercise 4.17 Fire the sets {v2 , v3 , v4 }, {v4 }, and {v2 , v3 , v4 } in that order,
to obtain the reduced configuration (−2, 1, 0, 1).
Exercise 4.19
D TD
D TD
−3v1 + 2v2 + v3 {e1 , e2 , e3 }
−2v1 + 2v3 {e2 , e3 , e5 }
−3v1 + v2 + 2v4 {e1 , e2 , e5 }
−2v1 + v2 + v4 {e2 , e4 , e6 }
−3v1 + 2v2 + v4 {e1 , e2 , e6 }
−2v1 + 2v4 {e2 , e4 , e5 }
−3v1 + v2 + 2v3 {e1 , e3 , e4 }
−v1 + v4 {e2 , e5 , e6 }
−3v1 + 2v3 + v4 {e1 , e4 , e5 }
−v1 + v3 {e3 , e4 , e5 }
−3v1 + v3 + 2v4 {e1 , e4 , e6 }
−v1 + v2 {e3 , e4 , e6 }
−2v1 + v3 + v4 {e1 , e5 , e6 }
0 {e3 , e5 , e6 }
−2v1 + v2 + v3 {e2 , e3 , e4 }
Chapter 6
Exercise 6.1
1
ĝ ∨ (y) = g(x)ζ z,y−x
pn
z∈V x∈V
1
= n g(x) ζ z,y−x .
p
x∈V z∈V
The sum
p−1
zi
(ζ ai )
zi =0
306 APPENDIX A: SELECTED ANSWERS
1
ĝ ∨ (y) = g(y) ζ 0 = g(y).
pn
z∈V
so ĝ is constant.
Exercise 6.3 Let f be a Boolean function on GF (2)2 . The value of f (0) must
be 0, and there are 2 possible values for f at each of the other 3 elements
of GF (2)2 , so that there are 23 possible functions. The bent functions must
have supports of size 1 or 3, by Lemma 6.3.11. There are 4 such functions.
These functions may be expressed in terms of variables x0 and x1 over GF (2)
as x0 x1 , x0 x1 + x0 , x0 x1 + x1 , and x0 x1 + x0 + x1 .
Exercise 6.4 The values of the 4 bent functions at the points of GF (2)2 are
given by the following table. Each function differs from each other function
at exactly two points, so the Hamming distance between any two functions
is exactly 2.
GF (2)2 (0, 0) (0, 1) (1, 0) (1, 1)
x0 x1 0 0 0 1
x0 x1 + x0 0 1 0 0
x0 x1 + x1 0 0 1 0
x0 x1 + x0 + x1 0 1 1 1
[BdlH97] R. Bacher, P. de la Harpe, The lattice of integral flows and the lattice
of integral cuts on a finite graph. Bull. Soc. Math. France 125, 167–198
(1997)
[Ba14] S. Backman, Riemann-Roch Theory for Graph Orientations, preprint,
(2014). http://arxiv.org/abs/1401.3309
[BN07] M. Baker, S. Norine, Riemann-Roch and Abel-Jacobi theory on a finite
graph. Adv. Math. 215, 766–788 (2007)
[BN09] M. Baker, S. Norine, Harmonic morphisms and hyperelliptic graphs. Int.
Math. Res. Not. IMRN. 2914–2955 (2009)
[BS13] M. Baker, F. Shokrieh, Chip-firing games, potential theory on graphs, and
spanning trees. J. Combin. Theory Ser. A 120, 164–182 (2013)
[BCT10] B. Benson, D. Chakrabarty, P. Tetali, G -parking functions, acyclic ori-
entations and spanning trees. Discret. Math. 310, 1340–1353 (2010)
[B98] A. Bernasconi, Mathematical Techniques for the Analysis of Boolean
Functions, Ph.D. dissertation TD-2/98 (Universit di Pisa-Udine, 1998)
[BC99] A. Bernasconi, B. Codenotti, Spectral analysis of Boolean functions as a
graph eigenvalue problem. IEEE Trans. Comput. 48:3, 345–351 (1999).
http://ilex.iit.cnr.it/codenotti/ps files/graph fourier.ps
[BCV01] A. Bernasconi, B. Codenotti, J. VanderKam, A characterization of bent
functions in terms of strongly regular graphs. IEEE Trans. Comput. 50(9),
984–985 (2001)
[Bi93] N. Biggs, Algebraic Graph Theory, 2nd edn. (Cambridge University Press,
Cambridge, 1993)
[Bi97] N. Biggs, Algebraic potential theory on graphs. Bull. Lond. Math. Soc.
29, 641–682 (1997)
[Bi99] N. Biggs, Chip-firing and the critical group of a graph. J. Algebraic Com-
bin. 9, 25–45 (1999)
[Bi99b] N. Biggs, The Tutte polynomial as a growth function. J. Algebraic Com-
bin. 10, 115–133 (1999)
[Bi07] N. Biggs, The critical group from a cryptographic perspective. Bull. Lond.
Math. Soc. 39, 829–836 (2007)
[Bi08] N. Biggs, Codes: An Introduction to Information, Communication, and
Cryptography (Springer, Berlin, 2008)
[CS99] J. Conway, N. Sloane, Sphere Packings, Lattices and Groups, 3rd edn.
(Springer, Berlin, 1999)
[CLB03] R. Cori, Y. Le Borgne, The sandpile model and Tutte polynomials. Adv.
Appl. Math. 30, 44–52 (2003)
[Co11] S. Corry, Genus bounds for harmonic group actions on finite graphs. Int.
Math. Res. Not. 19, 4515–4533 (2011). http://arxiv.org/abs/1006.0446
[CoM77] R. Coulter, R. Matthews, Bent polynomials over finite fields. Bull. Aust.
Math. Soc. 56, 429–437 (1977)
[Cu76] R. Curtis, A new combinatorial approach to M24 . Math. Proc. Cambridge
Philos. Soc. 79, 25–42 (1976)
[Cu84] R. Curtis, The Steiner system S(5, 6, 12), the Mathieu group M12 , and the
kitten, in Computational Group Theory, ed. by M. Atkinson (Academic
Press, 1984)
[CS09] T. Cusick, P. Stanica, Cryptographic Boolean Functions and Applications
(Academic Press - Elsevier, New York, 2009)
[DKR13] P. Dankelmann, J. Key, B. Rodrigues, Codes form incidence matrices
of graphs. Des. Codes Cryptogr. 68, 373–393 (2013). http://www.ces.
clemson.edu/∼keyj/Key/dakero1Rev UD.pdf
[DSV03] G. Davidoff, P. Sarnak, A. Valette, Elementary Number Theory, Group
Theory, and Ramanujan Graphs, London Mathematical Society (Cam-
bridge University Press, Cambridge, 2003)
[De73] P. Delsarte, An algebraic approach to the association schemes of coding
theory. Philips Res. Rep. Suppl. No. 10, (1973)
[Dh90] D. Dhar, Self-organized critical state of sandpile automaton models. Phys.
Rev. Lett. 64, 1613–1616 (1990)
[D74] J. Dillon, Elementary Hadamard difference sets, Ph.D. thesis, (University
of Maryland, 1974)
[DF99] D. Dummit, R. Foote, Abstract Algebra, 2nd edn. (Wiley, New York, 1999)
[DL17] A. Doerr, K. Levasseur, Applied Discrete Structures, Version 3.3
(2017). http://faculty.uml.edu/klevasseur/ads2/ and https://applied-
discrete-structures.wiki.uml.edu/
[Du09] N. Durgin, Abelian sandpile model on symmetric graphs, thesis, Har-
vey Mudd College, (2009). https://www.math.hmc.edu/seniorthesis/
archives/2009/ndurgin/ndurgin-2009-thesis.pdf
[Duu01] I. Duursma, A Riemann hypothesis analogue for self-dual codes, in Codes
and Association Schemes, eds. by A. Barg, S. Litsyn, AMS DIMACS
Series 56, (2001) pp. 115–124
[Duu03a] I. Duursma, Results on zeta functions for codes, Fifth Conference on
Algebraic Geometry, Number Theory, Coding Theory and Cryptography,
University of Tokyo, 17–19 Jan 2003
[Duu03b] I. Duursma, Extremal weight enumerators and ultraspherical polynomials.
Discret. Math. 268, 103–127 (2003)
[Duu04] I. Duursma, Combinatorics of the two-variable zeta function in finite fields
and applications. Lecture Notes in Comput. Sci. 2948, 109–136 (2004)
[FWXY10] T. Fen, B. Wen, Q. Xiang, J. Yin, Partial difference sets from quadratic
forms and p -ary weakly regular bent functions, in Number Theory and
Related Areas, ALM 27 (International Press of Boston, 2010) pp. 25–40
[Fi73] M. Fiedler, Algebraic connectivity of graphs. Czechoslovak Math. J. 23,
298–305 (1973)
[Fr99] M. Frazier, An Introduction to Wavelets through Linear Algebra
(Springer, Berlin, 1999)
[GR01] C. Godsil, G. Royle, Algebraic Graph Theory, Graduate Texts in Mathe-
matics, vol. 207 (Springer, New York, 2001)
312 BIBLIOGRAPHY
[Me97] C. Merino, López, Chip-firing and the Tutte polynomial. Ann. Comb. 1,
253–259 (1997)
[Me99] C. Merino, Matroids, the Tutte Polynomial, and the Chip Firing Game,
Ph.D. thesis, Oxford University, (1999). http://calli.matem.unam.mx/
∼merino/e publications.html#2 and http://www.dmtcs.org/dmtcs-ojs/
pdf
[Wi03] S. Weintraub, Representation Theory of Finite Groups: Algebra and
Arithmetic, Graduate Studies in Mathematics, vol. 59 (American Math-
ematical Society, Providence, R.I., 2003)
Index
Symbols B
(83 volumes) balanced function, 248, 249, 279
(k, r)-expander, 66 BCV correspondence, 262
C 0 (Γ, F ), xi analog of, 301
C 1 (Γ, F ), xi bent function, 185, 247, 250, 286
ωf , 279, 283 Cayley graph of, 261
σf , 279, 283 dual of, 252
coc(T, h), 16 group action on, 280
cyc(T, e), 6 μ-regular, 252
fC , 279 μ-regular dual of, 252
regular, 252
regular dual of, 252
A weakly regular, 252
abelian sandpile model, 146 weakly regular dual, 252
action Biggs cryptosystem, 146
free, 125 Biggs graph, 186
harmonic, 125 Biggs’ cryptosystem, 206
transitive, 125 Biggs–Smith graph, 210
action, transitively, 6 bond, 16
active vertex, 154 space, 16, 99
acyclic orientation, 205 Bose–Mesner algebra, 264
additive Cayley graph, 77 Brinkmann graph, 212
adjacency, 2 Butson matrix, 250
adjacency matrix, 8, 151, 275
PDS, 272, 275
weight-specific, 268 C
adjacency ring, 264 canonical divisor, 131
algebraic normal form, 284 degree of, 132
association scheme, 263 Cartesian product graph, 92
intersection numbers of, 263 Cayley graph, 68, 181, 258, 294
parameters of, 263 associated with partial difference set,
structure constants of, 263 258
symmetric, 263 edge-weighted, 69, 278
atomic p-ary function, 284 of p-ary function, 80, 275
automorphism Cayley graph of p-ary function, 261
of graph, 122
c Springer International Publishing AG 2017 315
W.D. Joyner and C.G. Melles, Adventures in Graph Theory,
Applied and Numerical Harmonic Analysis,
https://doi.org/10.1007/978-3-319-68383-6
316 INDEX
T multiplicity, 107
tetrad, 36 vertical multiplicity, 107
tetrahedron graph, 3, 101, 103, 116, 122
theta graph, 141
Trace, 49 W
traceable graph, 8 walk, 3
trail, 8 length of, 3
transitive action, 6, 125 Walsh transform, 246
translation invariant transformation, 63 Walsh–Hadamard transform
translation map, 63 see Walsh transform, 246
tree, 5, 178
weakly regular bent function, 252
spanning, 5
weakly regular function, 288
Tutte polynomial, 174, 180, 195, 204
weighted partial difference set, 288
wheel graph, 4, 180, 186, 206
spokes of, 4
V
Whitney rank generating function, 22
vector representation, 14
vertex, 1
active, 154
adjacent, 2 Z
degree of, 5, 107 zeta function
space, 11 Duursma, 30, 32
stable, 154 Ihara, 28
vertex-transitive graph, 210, 218, 220, of a code, 30
232, 235 of a graph, 32
vertical zeta polynomial
edge, 107 of a code, 30
Applied and Numerical Harmonic
Analysis
(83 volumes)
T. Qian, M.I. Vai, and Y. Xu: Wavelet Analysis and Applications (ISBN
978-3-7643-7777-9)
G.T. Herman and A. Kuba: Advances in Discrete Tomography and Its Ap-
plications (ISBN 978-0-8176-3614-2)
M.C. Fu, R.A. Jarrow, J.-Y. Yen, and R.J. Elliott: Advances in Mathematical
Finance (ISBN 978-0-8176-4544-1)
O. Christensen: Frames and Bases (ISBN 978-0-8176-4677-6)
P.E.T. Jorgensen, J.D. Merrill, and J.A. Packer: Representations, Wavelets,
and Frames (ISBN 978-0-8176-4682-0)
M. An, A.K. Brodzik, and R. Tolimieri: Ideal Sequence Design in Time-
Frequency Space (ISBN 978-0-8176-4737-7)
S.G. Krantz: Explorations in Harmonic Analysis (ISBN 978-0-8176-4668-4)
B. Luong: Fourier Analysis on Finite Abelian Groups (ISBN 978-0-8176-
4915-9)
G.S. Chirikjian: Stochastic Models, Information Theory, and Lie Groups, Vol-
ume 1 (ISBN 978-0-8176-4802-2)
C. Cabrelli and J.L. Torrea: Recent Developments in Real and Harmonic
Analysis (ISBN 978-0-8176-4531-1)
M.V. Wickerhauser: Mathematics for Multimedia (ISBN 978-0-8176-4879-4)
B. Forster, P. Massopust, O. Christensen, K. Gröchenig, D. Labate, P. Van-
dergheynst, G. Weiss, and Y. Wiaux: Four Short Courses on Harmonic
Analysis (ISBN 978-0-8176-4890-9)
O. Christensen: Functions, Spaces, and Expansions (ISBN 978-0-8176-
4979-1)
J. Barral and S. Seuret: Recent Developments in Fractals and Related Fields
(ISBN 978-0-8176-4887-9)
O. Calin, D.-C. Chang, and K. Furutani, and C. Iwasaki: Heat Kernels for
Elliptic and Sub-elliptic Operators (ISBN 978-0-8176-4994-4)
C. Heil: A Basis Theory Primer (ISBN 978-0-8176-4686-8)
J.R. Klauder: A Modern Approach to Functional Integration (ISBN 978-0-
8176-4790-2)
J. Cohen and A.I. Zayed: Wavelets and Multiscale Analysis (ISBN 978-0-
8176-8094-7)
D. Joyner and J.-L. Kim: Selected Unsolved Problems in Coding Theory (ISBN
978-0-8176-8255-2)
326 Applied and Numerical Harmonic Analysis
G.S. Chirikjian: Stochastic Models, Information Theory, and Lie Groups, Vol-
ume 2 (ISBN 978-0-8176-4943-2)
J.A. Hogan and J.D. Lakey: Duration and Bandwidth Limiting (ISBN 978-0-
8176-8306-1)
G. Kutyniok and D. Labate: Shearlets (ISBN 978-0-8176-8315-3)
P.G. Casazza and P. Kutyniok: Finite Frames (ISBN 978-0-8176-8372-6)
V. Michel: Lectures on Constructive Approximation (ISBN 978-0-8176-8402-
0)
D. Mitrea, I. Mitrea, M. Mitrea, and S. Monniaux: Groupoid Metrization
Theory (ISBN 978-0-8176-8396-2)
T.D. Andrews, R. Balan, J.J. Benedetto, W. Czaja, and K.A. Okoudjou:
Excursions in Harmonic Analysis, Volume 1 (ISBN 978-0-8176-8375-7)
T.D. Andrews, R. Balan, J.J. Benedetto, W. Czaja, and K.A. Okoudjou:
Excursions in Harmonic Analysis, Volume 2 (ISBN 978-0-8176-8378-8)
D.V. Cruz-Uribe and A. Fiorenza: Variable Lebesgue Spaces (ISBN 978-3-
0348-0547-6)
W. Freeden and M. Gutting: Special Functions of Mathematical (Geo-)Physics
(ISBN 978-3-0348-0562-9)
A. Saichev and W.A. Woyczyński: Distributions in the Physical and Engi-
neering Sciences, Volume 2: Linear and Nonlinear Dynamics of Continuous
Media (ISBN 978-0-8176-3942-6)
S. Foucart and H. Rauhut: A Mathematical Introduction to Compressive
Sensing (ISBN 978-0-8176-4947-0)
G. Herman and J. Frank: Computational Methods for Three-Dimensional
Microscopy Reconstruction (ISBN 978-1-4614-9520-8)
A. Paprotny and M. Thess: Realtime Data Mining: Self-Learning Techniques
for Recommendation Engines (ISBN 978-3-319-01320-6)
A. Zayed and G. Schmeisser: New Perspectives on Approximation and Sam-
pling Theory: Festschrift in Honor of Paul Butzer’s 85th Birthday (978-3-319-
08800-6)
R. Balan, M. Begue, J. Benedetto, W. Czaja, and K.A Okoudjou: Excursions
in Harmonic Analysis, Volume 3 (ISBN 978-3-319-13229-7)
H. Boche, R. Calderbank, G. Kutyniok, J. Vybiral: Compressed Sensing and
its Applications (ISBN 978-3-319-16041-2)
S. Dahlke, F. De Mari, P. Grohs, and D. Labate: Harmonic and Applied
Analysis: From Groups to Signals (ISBN 978-3-319-18862-1)
Applied and Numerical Harmonic Analysis 327