0% found this document useful (0 votes)
276 views344 pages

Grafos PDF

Uploaded by

Manuel acuña
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
276 views344 pages

Grafos PDF

Uploaded by

Manuel acuña
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 344

Applied and Numerical Harmonic Analysis

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

Editorial Advisory Board

Akram Aldroubi Gitta Kutyniok


Vanderbilt University Technische Universität Berlin
Nashville, TN, USA Berlin, Germany

Douglas Cochran Mauro Maggioni


Arizona State University Duke University
Phoenix, AZ, USA Durham, NC, USA

Hans G. Feichtinger Zuowei Shen


University of Vienna National University of Singapore
Vienna, Austria Singapore, Singapore

Christopher Heil Thomas Strohmer


Georgia Institute of Technology University of California
Atlanta, GA, USA Davis, CA, USA

Stéphane Jaffard Yang Wang


University of Paris XII Michigan State University
Paris, France East Lansing, MI, USA

Jelena Kovačević
Carnegie Mellon University
Pittsburgh, PA, USA

More information about this series at http://www.springer.com/series/4968


W. David Joyner Caroline Grant Melles

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

ISSN 2296-5009 ISSN 2296-5017 (electronic)


Applied and Numerical Harmonic Analysis
ISBN 978-3-319-68381-2 ISBN 978-3-319-68383-6 (eBook)
https://doi.org/10.1007/978-3-319-68383-6
Library of Congress Control Number: 2017954489

Mathematics Subject Classification (2010): 05C10, 05C25, 57M15, 94C15

© Springer International Publishing AG 2017


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or
part of the material is concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way,
and transmission or information storage and retrieval, electronic adaptation, computer software,
or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this
publication does not imply, even in the absence of a specific statement, that such names are
exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in
this book are believed to be true and accurate at the date of publication. Neither the publisher
nor the authors or the editors give a warranty, express or implied, with respect to the material
contained herein or for any errors or omissions that may have been made. The publisher remains
neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Printed on acid-free paper

This book is published under the trade name Birkhäuser (www.birkhauser-science.com)


The registered company is Springer International Publishing AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
To Garvin, Garvin, and John
Caroline Grant Melles

To the memory of T.S. Michael


W. David Joyner
ANHA Series Preface

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:

Antenna theory Prediction theory


Biomedical signal processing Radar applications
Digital signal processing Sampling theory
Fast algorithms Spectral estimation
Gabor theory and applications Speech processing
Image processing Time  frequency and
Numerical partial differential equations time  scale analysis
Wavelet theory

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!

College Park, USA John J. Benedetto


Preface

For now, think of a graph C ¼ ðV; EÞ as a pair of sets: V is a finite set of


points, called vertices, and E is a finite set of pairs of vertices, called edges.
If the edges of C are labeled

E ¼ fe1 ; e2 ; . . .; em g;

the vertices of C are labeled

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

For an excellent (and free!) introduction to more basic discrete mathe-


matics, also using SageMath, see the book by Doerr and Lavasseur [DL17].

Graph theory and calculus


How can these be similar? One deals with a finite set of vertices and edges, the
other deals with functions on the (infinite) real line.
You are all familiar with the usual definition of the derivative of a function
f : R ! R (where R denotes the real numbers):

f ða þ eÞ  f ðaÞ
f 0 ðaÞ ¼ lim ; a 2 R:
e!0 e

We want to replace this by either a function f : V ! R, or a function


g : E ! R, and find an analogous definition. Before proceeding, we need to
assume that the graph is “oriented”. That is, we assume that each edge e 2 E
has a “head” hðeÞ and a “tail” tðeÞ. Roughly speaking, for any pair of neigh-
boring vertices (i.e., two vertices which are connected by an edge), there is a
well-defined direction to travel from one to the other. If the vertices of a
graph is the set V ¼ f0; 1; . . .; n  1g then the default orientation of an edge
e ¼ ðu; vÞ is defined by hðeÞ ¼ maxfu; vg; tðeÞ ¼ minfu; vg:
One way to proceed is to define, for f : V ! R, the derivative by

f 0 ðeÞ ¼ f ðhðeÞÞ  f ðtð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

then the derivative map f ! f 0 may be regarded as an m  n matrix, M.


Indeed, the entries of this matrix are
8
< 1; if vj ¼ hðei Þ;
Mi;j ¼ 1; if vj ¼ tðei Þ;
:
0; otherwise:

(By the way, this matrix is the transpose of the incidence matrix, and will be
studied in more detail in later chapters.)
Preface xiii

Another way to proceed is to define, for g 2 C 1 ðC; CÞ, the derivative by


X X
g0 ðvÞ ¼ gðeÞ  gðeÞ:
e2E;hðeÞ¼v e2E;tðeÞ¼v

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

then the derivative map g ! g0 may be regarded as an n  m matrix, B.


Indeed, the entries of this matrix are
8
< 1; if vi ¼ hðej Þ;
Bi;j ¼ 1; if vi ¼ tðej Þ;
:
0; otherwise:

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 .

Graph theory and groups


There are several well-known constructions of graphs arising from a finite
group G. These so-called Cayley graphs are named for Arthur Cayley1. It’s
not hard to show that the Cayley graph of a permutation group and a set of
generators is connected.

1
Cayley, 1821–1895, worked for 14 years as a lawyer before his election to the Sadleirian
Professorship at Cambridge University.
xiv Preface

Let X be a finite set, let S ¼ fg1 ; g2 ; . . .; gn g be a set of permutations of X,


and let G be the permutation group generated by them:

G ¼ hg1 ; g2 ; . . .; gn i  SX ;

where SX denotes the symmetric group on X. If S is, in addition, a symmetric


generating set (meaning that it is closed under inverses) then we define the
Cayley graph of G with respect to S to be the graph

C ¼ CayðG; SÞ ¼ ðV; EÞ;

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

be the group of the 3  3  3 Rubik’s Cube generated by the quarter-turn


moves, where S54 is the symmetric group on the 54 facets of the cube, and R
denotes the move which rotates the Right face of the cube a quarter-turn
counterclockwise (and similarly for Left, Up, Down, Front, Back).
Let

S ¼ fR; L; U; D; F; B; R1 ; L1 ; U 1 ; D1 ; F 1 ; B1 g:

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

S ¼ fR; L; U; D; F; B; R2 ; L2 ; U 2 ; D2 ; F 2 ; B2 ; R1 ; L1 ; U 1 ; D1 ; F 1 ; B1 g:

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

LðDÞ ¼ ff 2 FðXÞ j divðf Þ þ D  0g [ f0g;

where divðf Þ denotes the (principal) divisor of the function f .


The Riemann–Roch space LðDÞ may be regarded as a vector space of
rational functions with prescribed zeroes and allowed poles on X. Let ‘ðDÞ ¼
dimðLðDÞÞ denote its dimension. We recall the Riemann–Roch theorem,

‘ðDÞ  ‘ðK  DÞ ¼ degðDÞ þ 1  g;

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

Graph theory and Fourier transforms


The theory of Fourier series is a part of a branch of mathematics called
harmonic analysis. Given a manifold X with a Laplacian operator D ¼ DX ,
harmonic analysis, roughly speaking, seeks to express the functions on X as
expansions in terms of the eigenfunctions of D, then to derive consequences
from this “Fourier series.” Can this general motif carry over to graph theory?
In Chapter 2, we discuss some connections between the spectrum of the
Laplacian Q ¼ QC of the graph and the graph C itself. In the simple case of
circulant graphs, we even show (see x2.4) that functions on the graph can be
expressed as expansions in terms of the eigenfunctions of the Laplacian.
Historically, Fourier series were discovered by J. Fourier, a French
mathematical physicist2.
To have a Fourier series, you must be given two things: (1) a period
P ¼ 2L, and (2) a suitably behaved function f ðxÞ defined on an interval of
length 2L, say L\x\L. The Fourier series of f ðxÞ with period 2L is

X
1  
npxi
FSðf ÞðxÞ ¼ an exp ;
n¼1
L

where an is given by the integral formula3,


Z  
1 L
npxi
an ¼ f ðxÞexp dx: ð1Þ
2L L L

The Fourier operator f 7! FSðf Þ has eigenvectors expðnpxi


L Þ.

Graph-theoretic Fourier series

For the cycle graph on n vertices, Cn , the eigenvalues of the adjacency


matrix are kk ¼ 2 cosð2pk=nÞ, for 0  k  n  1, with eigenvectors vk ¼
ðexpðpjki=nÞÞj2f0;...;n1g . These k’s are not all distinct but the multiplicities can
be described as follows.
• (n even) The only eigenvalues of Cn which occur with multiplicity 1 are 2
and 2. The eigenvalues 2cosð2pk=nÞ, for 1  k  n2 2 , all occur with
multiplicity 2.

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

• (n odd) The only eigenvalue of Cn which occurs with multiplicity 1 is 2.


The eigenvalues 2cosð2pk=nÞ, for 1  k  n1
2 , all occur with multiplicity 2.

For example, the graph C8 has eigenvalues (counted according to their


pffiffiffi pffiffiffi pffiffiffi pffiffiffi
multiplicity) 2, 2, 2, 0, 0,  2,  2, 2.
We identify the vertices V of a cycle graph C having n vertices with the
abelian group of integers mod n, Z=nZ. If C denotes the field of complex
numbers, let

C0 ðC; CÞ ¼ ff j f : Z=nZ ! Cg:

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

If G 2 C 0 ðC; CÞ, the inverse discrete Fourier transform of G is the function


ðF 1 _
n GÞ 2 C ðC; CÞ (also written G ) defined by
0

1 X
ðF 1 _
n GÞð‘Þ ¼ G ð‘Þ ¼ GðkÞf‘k ; ‘ 2 Z=nZ:
n k2Z=nZ

Using this, any function in C0 ðC; CÞ has an expansion in terms of the


eigenvectors of the Laplacian.

Graph theory and cryptography


In Chapter 6, we explore a fascinating connection between graph theory,
combinatorics, and cryptography.
Let GFðpÞ be the prime field of characteristic p and let d [ 1. A function
GFð2Þd ! GFð2Þ is a Boolean function on d variables. A function GFðpÞd !
GFðpÞ is a p-ary function on d variables. Let

suppðf Þ ¼ fv 2 V j f ðvÞ 6¼ 0g

denote the support of f , where V ¼ GFðpÞd .


The set of invertible n  n matrices having coefficients in the field GFðpÞ is
denoted GLðn; pÞ. This set is a group under matrix multiplication. The group
GLðd; pÞ acts on the set of p-ary functions f : GFðpÞd ! GFðpÞ by
xviii Preface

g : f 7! f g ;

where

f g ðxÞ ¼ f ðgxÞ; x 2 GFðpÞd :

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Þ;

which, given initial values x0 ; . . .; xd1 ; gives rise to a sequence x0 ; . . .; xn ; . . . ;


where xn ¼ Cðxnd ; . . .; xn1 Þ for n  d. When C is a linear function, iterating
the map C generates a linear feedback shift register (LFSR). These are
pseudorandom sequences in GFðpÞ with long periods. Unfortunately, while
LFSRs have some good pseudorandomness properties, they are not very
secure. Here is one way to fix this. Consider a periodic sequence of period P,

x ¼ x0 ; . . .; xn ; . . . ;

for example, a LFSR. Given F : GFðpÞd ! GFðpÞ, construct a filtered


sequence by setting

yi ¼ Fðxid ; . . .; xi1 Þ;

for i  d, and yi ¼ xi for 0  i  d  1. For suitably chosen F, these can be used


to build secure stream ciphers.
What kind of function f makes a good filter function? A very nonlinear one.
How to measure nonlinearity? One way is with a finite field analog of the
Fourier transform. The Walsh–Hadamard transform of a GFðpÞ-valued
function f is a complex-valued function on V ¼ GFðpÞd that can be defined as
X
Wf ðuÞ ¼ ff ðxÞhu;xi ;
x2V

where f ¼ e2pi=p :
The Walsh transform of an affine function is a “spike” (supported at a
single vector).
We call f bent if

jWf ðuÞj ¼ pn=2 ;

for all u 2 V. In some sense, bent functions are maximally nonlinear. Bent
functions are good filter functions (F above).
Preface xix

There is an interesting connection between bent functions and combina-


torial structures called difference sets. The Dillon correspondence states that
a function f : GFð2Þd ! GFð2Þ is bent if and only if f 1 ð1Þ is an elementary
Hadamard difference set of GFð2Þn .
There is also an interesting connection between bent functions and graph
theory. The Bernasconi–Codenotti–VanderKam correspondence states that a
function f : GFð2Þd ! GFð2Þ is bent if and only if the Cayley graph of f is a
strongly regular graph having parameters ð2d ; k; k; kÞ for some k, where
k ¼ jsuppðf Þj. (In fact, the values of k are known more explicitly.)
Is there a weighted analog, for p [ 2, of the Dillon and Bernasconi–
Codenotti–VanderKam correspondences? Questions of this sort are studied
further in Chapter 6.
Graph theory and error-correcting codes
There are several well-known constructions of error-correcting codes that
arise from a graph. Roughly speaking, an error-correcting code is a subset
C  GFðqÞn (where GFðqÞ is a finite field having q elements), for which dif-
ferent elements are distinct enough that a small number of errors can be
corrected by a suitable decoding algorithm.
For example, there is the binary code which is generated by the rows of the
incidence matrix of a graph. There are also error-correcting codes over a finite
field GFðqÞ arising from cycles or cocycles of a graph. And there are expander
codes constructed from specially constructed Cayley graphs.
Constructions in the other direction, graphs from codes, are less well
known, but here’s an example. Let C  GFð2Þn denote an error-correcting
code with (full rank) k  n generator matrix G. Let fi : GFð2Þn ! GFð2Þ
denote the function supported on the i-th row of G, let

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

1 Introduction: Graphs—Basic Definitions . . . . . . . . . . . . . . . . . . . . 1


1.1 Graph theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Basic definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Simple examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2 Some polynomial invariants for graphs . . . . . . . . . . . . . . . . . 21
1.2.1 The Tutte polynomial of a graph . . . . . . . . . . . . . . . 22
1.2.2 The Ihara zeta function . . . . . . . . . . . . . . . . . . . . . . 27
1.2.3 The Duursma zeta function . . . . . . . . . . . . . . . . . . . 29
1.2.4 Graph theory and mathematical blackjack . . . . . . . . 34
2 Graphs and Laplacians . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.2 Basic results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3 The Moore–Penrose pseudoinverse . . . . . . . . . . . . . . . . . . . . 53
2.4 Circulant graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.4.1 Cycle graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.4.2 Relationship to convolution operators . . . . . . . . . . . 61
2.5 Expander graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.6 Cayley graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.6.1 Cayley graphs on abelian groups . . . . . . . . . . . . . . . 70
2.6.2 Cayley graphs for non-abelian groups . . . . . . . . . . . . 71
2.7 Additive Cayley graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.7.1 Cayley graphs and p-ary functions . . . . . . . . . . . . . . 80
2.8 Graphs of group quotients . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.8.1 Example of the Biggs–Smith graph . . . . . . . . . . . . . 94
3 Graphs as Manifolds . . . . . . . . . ....... . . . . . . . . . . . . . . . . . . . 97
3.1 Motivation . . . . . . . . . . . ....... . . . . . . . . . . . . . . . . . . . 97
3.2 Calculus on graphs . . . . . ....... . . . . . . . . . . . . . . . . . . . 97
3.3 Harmonic morphisms on a graph . . . . . . . . . . . . . . . . . . . . . 99

xxiii
xxiv Contents

3.3.1 Matrix formulation of graph morphisms . . . . . . . . . . 102


3.3.2 Identities for harmonic morphisms . . . . . . . . . . . . . . 106
3.3.3 Covering maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
3.3.4 Graph spectra for harmonic morphisms . . . . . . . . . . 119
3.3.5 Riemann–Hurwitz formula . . . . . . . . . . . . . . . . . . . . 120
3.4 G-equivariant covering graphs . . . . . . . . . . . . . . . . . . . . . . . 121
3.5 A Riemann–Roch theorem on graphs . . . . . . . . . . . . . . . . . . 126
3.5.1 Divisors and the Jacobian . . . . . . . . . . . . . . . . . . . . 126
3.5.2 Linear systems on graphs . . . . . . . . . . . . . . . . . . . . . 127
3.5.3 Non-special divisors . . . . . . . . . . . . . . . . . . . . . . . . . 128
3.5.4 The Riemann–Roch theorem for graphs . . . . . . . . . . 132
3.6 Induced maps on divisors . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
3.6.1 The pushforward map . . . . . . . . . . . . . . . . . . . . . . . 136
3.6.2 The pullback map . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.6.3 Dimensions of linear systems and harmonic
morphisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4 Chip-Firing Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.2.1 The Laplacian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
4.3 Configurations on graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.3.1 Legal configurations . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.3.2 Chip-firing and set-firing moves . . . . . . . . . . . . . . . . 150
4.3.3 Stable, recurrent, and critical configurations . . . . . . 154
4.3.4 Identifying critical configurations . . . . . . . . . . . . . . . 156
4.3.5 Reduced configurations . . . . . . . . . . . . . . . . . . . . . . 158
4.4 Energy pairing on degree 0 configurations . . . . . . . . . . . . . . 161
4.5 Equivalence classes of configurations . . . . . . . . . . . . . . . . . . 165
4.6 Critical group of a graph . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
4.6.1 The Jacobian and the Picard group . . . . . . . . . . . . . 170
4.6.2 Simple examples of critical groups . . . . . . . . . . . . . . 170
4.6.3 The Smith normal form and invariant factors . . . . . . 171
4.6.4 Energy pairing on the critical group . . . . . . . . . . . . . 175
4.7 Examples of critical groups . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.7.1 Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
4.7.2 Cycle graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
4.7.3 Complete graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
4.7.4 Wheel graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
4.7.5 Example of Clancy, Leake, and Payne . . . . . . . . . . . 180
4.7.6 Some Cayley graphs . . . . . . . . . . . . . . . . . . . . . . . . 181
4.7.7 Graphs with cyclic critical groups . . . . . . . . . . . . . . 186
4.8 Harmonic morphisms and Jacobians . . . . . . . . . . . . . . . . . . 187
4.8.1 Example: morphism from cube to K4 . . . . . . . . . . . . 190
Contents xxv

4.9 Dhar’s burning algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 195


4.9.1 Finding reduced configurations . . . . . . . . . . . . . . . . 197
4.9.2 Finding a q-legal configuration equivalent to s . . . . . 198
4.9.3 Ordered Dhar’s algorithm . . . . . . . . . . . . . . . . . . . . 199
4.9.4 Merino’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . . 204
4.9.5 Computing the critical group of a graph . . . . . . . . . . 205
4.10 Application: Biggs’ cryptosystem . . . . . . . . . . . . . . . . . . . . . 206
5 Interesting Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
5.1 Biggs–Smith graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
5.2 Brinkmann graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
5.3 Chvátal graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
5.4 Coxeter graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
5.5 Desargues graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
5.6 Dürer graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
5.7 Dyck graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
5.8 Errera graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
5.9 Foster graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
5.10 Franklin graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
5.11 Gray graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
5.12 Grötzsch graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
5.13 Heawood graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
5.14 Hoffman graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
5.15 Hoffman–Singleton graph . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
5.16 Nauru graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
5.17 Paley graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
5.18 Pappus graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
5.19 Petersen graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
5.20 Shrikhande graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
6 Cayley Graphs of Bent Functions and Codes . . . . . . . . . . . . . . . . . 245
6.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
6.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
6.3 Bent functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
6.4 Duals and regularity of bent functions . . . . . . . . . . . . . . . . . 252
6.5 Partial difference sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
6.5.1 Dillon’s correspondence . . . . . . . . . . . . . . . . . . . . . . 257
6.6 Cayley graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
6.6.1 Strongly regular graphs . . . . . . . . . . . . . . . . . . . . . . 259
6.6.2 Cayley graphs of bent functions . . . . . . . . . . . . . . . . 261
6.7 Association schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
6.7.1 Adjacency rings (Bose–Mesner algebras) . . . . . . . . . 263
6.7.2 Schur rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
6.8 The matrix-walk theorem . . . . . . . . . . . . . . . . . . . . . . . . . . 268
xxvi Contents

6.9 Weighted partial difference sets . . . . . . . . . . . . . . . . . . . . . . 269


6.10 Weighted Cayley graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
6.10.1 Edge-weighted strongly regular graphs . . . . . . . . . . . 273
6.10.2 Weighted partial difference sets . . . . . . . . . . . . . . . . 273
6.10.3 Level curves of p-ary functions . . . . . . . . . . . . . . . . . 275
6.10.4 Intersection numbers . . . . . . . . . . . . . . . . . . . . . . . . 275
6.10.5 Cayley graphs of p-ary functions . . . . . . . . . . . . . . . 278
6.10.6 Group actions on bent functions . . . . . . . . . . . . . . . 280
6.11 Fourier transforms and graph spectra . . . . . . . . . . . . . . . . . 282
6.11.1 Connected components of Cayley graphs . . . . . . . . . 283
6.12 Algebraic normal form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
6.13 Examples of bent functions . . . . . . . . . . . . . . . . . . . . . . . . . 286
6.13.1 Bent functions GFð3Þ2 ! GFð3Þ . . . . . . . ......... 286
6.13.2 Bent functions GFð3Þ3 ! GFð3Þ . . . . . . . ......... 292
6.13.3 Bent functions GFð5Þ2 ! GFð5Þ . . . . . . . . . . . . . . . . 292
6.14 Examples of Cayley graphs . . . . . . . . . . . . . . . . . . . . . . . . . 294
6.15 Cayley graphs of linear codes . . . . . . . . . . . . . . . . . . . . . . . . 299
6.16 Analogs and questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
6.17 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Appendix A: Selected Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Applied and Numerical Harmonic Analysis . . . . . . . . . . . . . . . . . . . . . . 323
Chapter 1
Introduction: Graphs—Basic
Definitions

1.1 Graph theory

By a graph, we don’t mean a chart or function plot or a diagram. We mean


a combinatorial structure which consists of vertices, also called points or
nodes, connected by edges, also called arcs. If you wish, think of vertices as
destinations and edges as routes. A more precise statement is given below.
Graphs are used in many branches of science but the only application we
consider here is to cryptography—the Biggs cryptosystem studied briefly in
Chapter 4.

1.1.1 Basic definitions

We begin with a precise definition of a graph.

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  .


The neighborhood of a vertex v in a graph Γ is the set


N (v) = NΓ (v) = {v  ∈ V | (v, v  ) is an edge in Γ}.

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

If e ∈ E is an edge and v ∈ V is a vertex on either “end” of e, then we


say v is incident to e (or that e is incident to v). If u, v are vertices and
e = (u, v) ∈ E is an edge, then u and v are called adjacent or neighboring
vertices. The vertices u and v are sometimes called the endpoints of e.

Graphs can be used to model electrical networks and other situations


involving flows. Various matching problems can be stated in terms of graphs.
If you think of vertices as gamblers and edges as bets between them, then
the weight of an edge could be the cost of a bet between those gamblers,
and the weight of a vertex could represent the numbers of chips that gambler
has to play with. Edge weights in a graph could also represent costs or flow
capacities.
There are situations in which we may wish to generalize the concept of a
graph to allow more than one edge between a pair of vertices. Such graphs
are called multigraphs.

Definition 1.1.2. An undirected multigraph Γ is an ordered pair of sets


(V, E), where V is a set of vertices and E is a set of edges, together with a
map E → V (2) , assigning to each edge an unordered pair of distinct vertices
which are said to be incident to that edge.

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 Γ.

Definition 1.1.4. An orientation of the edges is an injective function ι :


E → V × V . If e = {u, v} and ι(e) = (u, v), then we call v the head of e
and u the tail of e. We define the head and tail functions h : E → V and
t : E → V by h(e) = v and t(e) = u, i.e., h(e) is the head of e and t(e) is
the tail of e. If the vertices of a graph are the set V = {0, 1, . . . , n − 1}, then
the default orientation of an edge e = (u, v) is defined by h(e) = max{u, v},
t(e) = min{u, v}. If the vertices of a graph are the set V = {0, 1, . . . , n − 1}
and if the edges of a graph are indexed E = {e1 , e2 , . . . , em }, then we can
associate to each orientation ι a vector,

oι = (o1 , o2 , . . . , om ) ∈ {1, −1}m ,

as follows: if ei = {u, v} and h(ei ) = max{u, v}, then define oi = 1, but


if h(ei ) = min{u, v}, then define oi = −1. This oι is called the orientation
vector associated to ι.
1.1 GRAPH THEORY 3

If u and v are two vertices in a graph Γ = (V, E), a u–v walk, W , is an


alternating sequence of vertices and edges starting with u and ending at v,

W : e0 = (v0 , v1 ), e1 = (v1 , v2 ), . . . , ek−1 = (vk−1 , vk ), (1.1)

where v0 = u, vk = v, and each ei ∈ E. The number of edges in a walk is


called its length, denoted len(W ) = k. Notice that consecutive vertices in a
walk are adjacent to each other. We are allowed to have repeated vertices and
edges in a walk. A cycle is a walk with the same starting and ending vertex.
A cycle is also called a closed walk. A graph Γ = (V, E) is called connected
provided it has the property that for any two vertices u, v ∈ V there exists a
u–v walk.

Definition 1.1.5. We define2 the genus of a connected graph Γ to be

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.

Figure 1.1: K4 or the tetrahedron graph.

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.

Figure 1.2: The diamond graph.

2 This is not the usual definition of genus: the minimal integer n such that the graph can

be embedded in a surface of genus n.


4 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS

Example 1.1.8. A graph with n vertices v1 , v2 , . . . , vn and edges (v1 , v2 ),


(v2 , v3 ), . . . , (vn−1 , vn ), (vn , v1 ) is called a cycle graph and denoted Cn . All
cycle graphs have genus 1. The cycle graph C5 is shown in Figure 1.3.

Figure 1.3: The cycle graph C5 .

Example 1.1.9. Suppose we start with a cycle graph on n − 1 vertices and


add a vertex q and an edge from q to each vertex of the cycle graph. The
resulting graph is called a wheel graph and denoted Wn . The vertices from
the cycle graph are known as the spoke vertices and the corresponding edges
from the spoke vertices to q are the spokes. The genus of Wn is n − 1. The
wheel graph W6 is shown in Figure 1.4.

Figure 1.4: The wheel graph W6 .

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.

Figure 1.5: A banana graph.

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

and then Γ is uniquely determined by specifying an n × n matrix A = (aij ),


where aij = 1 if vertex i shares an edge with vertex j, and aij = 0 otherwise.
This matrix A is called the (undirected, unweighted) adjacency matrix of the
graph.

Figure 1.6: A graph created using Sage.

If no weights on the vertices or edges are specified, we usually assume all


the weights are implicitly 1 and call the graph unweighted. In this case, the
degree of a vertex j ∈ V is the number of edges in Γ incident to j, denoted

degΓ (j) = 1.
e∈E, j∈e

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

A graph Γ = (V, E) having no cycles is called a forest (or a tree in the


connected case). A spanning tree T of a connected graph is a tree that contains
all the vertices of the graph. The smallest number of edges we can remove
from Γ making it into a forest is called the circuit rank. For example, the
circuit rank of the graph in Example 1.1.28 is 1. This is discussed further in
§1.2.2.

Lemma 1.1.11. Let Γ = (V, E) denote a connected graph and let T be a


spanning tree of Γ. For each edge e ∈ E not in T , there is a unique cycle
cyc(T, e) of Γ containing only e and edges in T .
6 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS

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,

where the minimum runs over all u–v walks W .


The girth of Γ is the length of a shortest cycle (if it exists) contained in Γ.
If no cycles exist in Γ the girth is, by convention, defined to be ∞.
If Γ is connected, the diameter is

diam(Γ) = max dist(u, v).


u,v∈V

The radius of a connected graph is the minimum value

radius(Γ) = min max dist(u, v).


u∈V v∈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

Γ is a subgraph which is connected and not the proper subgraph of another


connected subgraph of Γ. The number of connected components of the graph
Γ is denoted c(Γ).

Definition 1.1.13. Let Γ = (V, E) denote the sensitivity graph of a Boolean


function f : GF (2)n → GF (2), defined to be the (bipartite) graph containing
only edges with different f -values:

V = GF (2)n ,

E = {(u, v) | u, v ∈ GF (2)n , f (u) = f (v)}.

In general, the sensitivity of f , denoted s(f ), is the maximum vertex degree


of the sensitivity graph, Γ.

When the sensitivity of f is small relative to the number of variables, it


means that for every vertex v ∈ GF (2)n , flipping one coordinate will change
the value of f only for relatively few coordinates.

Example 1.1.14. Let f (x) denote the Boolean function

f (x0 , x1 , x2 , x3 ) = x0 x1 x2 x3 + x0 x1 x2 + x1 x2 x3 + x0 x1 + x0 x2 .

The sensitivity graph Γ of this function on GF (2)4 is depicted in Figure 1.7.

Figure 1.7: The sensitivity graph associated to f .

One of the major outstanding problems about Boolean functions is the


sensitivity conjecture, which states that the minimum degree of a real poly-
nomial that interpolates a Boolean function f is bounded above by some
fixed power of the sensitivity of f .

Exercise 1.1. Compute the sensitivity of the graph in Figure 1.7.

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:

(i, j) ∈ E2 =⇒ (fV (i), fV (j)) ∈ E1 .

Therefore, the map fE : E2 → E1 given by fE (i, j) = (fV (i), fV (j)) is well-


defined. We say f is an isomorphism if both fV and fE are bijections.
Lemma 1.1.15. Two graphs Γ1 and Γ2 are isomorphic if and only if there
is a permutation matrix P such that

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. 

3 In the case of an unweighted multigraph Γ without loops, we associate to that graph an

edge-weighted graph Γ whose edge weights are given by the corresponding edge multiplic-
ities of Γ.
1.1 GRAPH THEORY 9

The characteristic polynomial of Γ is

pΓ (x) = det(xIn − AΓ ) = xn + c1 xn−1 + · · · + cn−1 x + cn ,

where n = |V |, and In denotes the n × n identity matrix.


Since A = AΓ is symmetric, it is diagonalizable. Therefore, A has an
orthonormal set of eigenvectors v1 , . . . , vn corresponding to eigenvalues λ1 ,
. . . , λn . If Ek is the n × n idempotent matrix

Ek = vk · vkt , k = 1, . . . , n,

then the spectral decomposition of A is


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

sage: Gamma = graphs.CycleGraph(4)


sage: A = Gamma.adjacency_matrix()
sage: v1 = vector(QQ, [1/2, 1/2, 1/2, 1/2])
sage: v2 = vector(QQ, [1/2, -1/2, 1/2, -1/2])
sage: v3 = vector(RR, [0, 1/sqrt(2), 0, -1/sqrt(2)])
sage: v4 = vector(RR, [1/sqrt(2), 0, -1/sqrt(2), 0])
sage: lambda1 = 2; A*v1 == lambda1*v1
True
sage: lambda2 = -2; A*v2 == lambda2*v2
True
sage: lambda3 = 0; A*v3 == lambda3*v3
True
sage: lambda4 = 0; A*v4 == lambda4*v4
True
sage: E1 = v1.tensor_product(v1)
sage: E2 = v2.tensor_product(v2)
sage: E3 = v3.tensor_product(v3)
sage: E4 = v4.tensor_product(v4)
sage: lambda1*E1 + lambda2*E2 + lambda3*E3 + lambda4*E4 == A.change_ring(RR)
True
10 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS

Definition 1.1.17. The incidence matrix of an oriented graph Γ, with ori-


entation ι, is an n × m matrix B = BΓ,ι = (bij ), where m and n are the
numbers of edges and vertices, respectively, such that bij = 1 if the vertex
vi is the head of edge ej , bij = −1 if the vertex vi is the tail of edge ej , and
bij = 0 otherwise. The incidence matrix of an undirected graph (or a graph
without a prescribed orientation) Γ is an n × m matrix B = BΓ = (bij ) such
that bij = 1 if the edge ej is incident to vertex vi , and bij = 0 otherwise.

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 Γ.

Unfortunately, the literature is not consistent in the definition of some


of the technical terms in graph theory. For example, the rank of a graph Γ
is sometimes defined to be the rank of its adjacency matrix A = AΓ and
sometimes defined to be the rank of its signed incidence matrix B = BΓ,ι (as
we’ll see below, this rank does not depend on the orientation ι chosen). The
lemma below concerns the latter definition.
We prove the following lemma for the oriented incidence matrix (see Godsil
and Royle [GR01] for more details). In particular, the rank is independent of
the orientation chosen.

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.

Proof. Suppose the matrix B is n × m and z ∈ Rn is in the left kernel of B:


i.e., zB = 0. For each edge (u, v) ∈ E, zB = 0 implies zu = zv . Therefore, z
is constant on connected components. This implies that the left kernel of B
has dimension equal to the number of connected components of the graph.
The result now follows from the rank plus nullity theorem from matrix theory.


Definition 1.1.19. If F is a field such as R or GF (q) or a ring such as Z, let

C 0 (Γ, F ) = {f : V → F }, C 1 (Γ, F ) = {f : E → F },
1.1 GRAPH THEORY 11

be the sets of F -valued functions defined on V and E, respectively. These


sets are sometimes called the vertex space over F and the edge space over F .

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.

Lemma 1.1.20. (a) F = {fi } ⊂ C 0 (Γ, F ) is a basis. (b) G = {gj } ⊂


C 1 (Γ, F ) is a basis.

Proof. The proof is left as an exercise. 

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

(Bf, g)C 0 (Γ,F ) = (f, B ∗ g)C 1 (Γ,F ) ,

for all f ∈ C 1 (Γ, f ) and g ∈ C 0 (Γ, F ). The matrix representation of B ∗ is


the transpose of the matrix representation of B.

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

Figure 1.8: The house graph.

Sage

sage: Gamma = graphs.HouseGraph()


sage: Gamma.edges(labels=None)
[(0, 1), (0, 2), (1, 3), (2, 3), (2, 4), (3, 4)]
sage: Gamma.vertices()
[0, 1, 2, 3, 4]
sage: B = Gamma.incidence_matrix(); B

[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()

Free module of degree 6 and rank 1 over Integer Ring


Echelon basis matrix:
[ 1 -1 -1 1 0 0]
sage: B.left_kernel()

Free module of degree 5 and rank 0 over Integer Ring


Echelon basis matrix:
[]

The unsigned incidence matrix is


⎛ ⎞
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

while the signed incidence matrix associated to the default orientation is


1.1 GRAPH THEORY 13
⎛ ⎞
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

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

sage: Gamma = graphs.HouseGraph()


sage: Gamma.edges(labels=None)
[(0, 1), (0, 2), (1, 3), (2, 3), (2, 4), (3, 4)]
sage: Gamma.vertices()
[0, 1, 2, 3, 4]
sage: B1 = incidence_matrix(Gamma,6*[1])
sage: B2 = incidence_matrix(Gamma,[1,-1,1,-1,1,-1])
sage: B1.right_kernel()

Vector space of degree 6 and dimension 2 over Rational Field


Basis matrix:
[ 1 -1 1 0 -1 1]
[ 0 0 0 1 -1 1]
sage: B1.left_kernel()

Vector space of degree 5 and dimension 1 over Rational Field


Basis matrix:
[1 1 1 1 1]
sage: B2.right_kernel()

Vector space of degree 6 and dimension 2 over Rational Field


Basis matrix:
[ 1 1 1 0 -1 -1]
[ 0 0 0 1 1 1]
sage: B2.left_kernel()

Vector space of degree 5 and dimension 1 over Rational Field


Basis matrix:
[1 1 1 1 1]
sage: B1.right_kernel()==B2.right_kernel()
False

4 Also called the flow space or the space of circulation functions.


14 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS

The signed incidence matrix associated to the default orientation is


⎛ ⎞
1 1 0 0 0 0
⎜ −1 0 1 0 0 0 ⎟
⎜ ⎟
B1 = ⎜
⎜ 0 −1 0 1 1 0 ⎟,

⎝ 0 0 −1 −1 0 1 ⎠
0 0 0 0 −1 −1

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

Suppose Γ = (V, E) is given an orientation ι and that o is the associated


orientation vector. Order the edges

E = {e1 , e2 , . . . , em },

in some arbitrary but fixed way. Consider a path from u to v in Γ (u, v ∈ V ),


which we may regard as a subgraph Γ = (V  , E  ) of Γ, E  ⊂ E, with a fixed
orientation of the edges as in (1.1) so it is directed from u = v0 to v = vk . A
vector representation of a path Γ is an m-tuple

Γ = (a1 , a2 , . . . , am ) ∈ {1, −1, 0}m , (1.5)

where ai = 1, if ei ∈ E  and the orientations of ei in Γ and Γ agree; ai = −1,


if ei ∈ E  and the orientations of ei in Γ and Γ are opposite; and ai = 0, if
ei ∈/ E  . In particular, this defines a mapping

{cycles of Γ = (V, E)} → {1, −1, 0}m ,


C
→ C.

Example 1.1.23. Consider the house graph Γ = (V, E) in Example 1.1.21.


Label the edges as follows:

E = {e1 = (0, 1), e2 = (0, 2), e3 = (1, 3), e4 = (2, 3), e5 = (2, 4), e6 = (3, 4)},
1.1 GRAPH THEORY 15

oriented with the default orientation, so o = (1, 1, 1, 1, 1, 1). Let Γ denote


the cycle 2 → 3 → 4 → 2, oriented as indicated. The vector representation of
this cycle is Γ = (0, 0, 0, 1, −1, 1).

Lemma 1.1.24. The cycle space of an oriented connected graph Γ = (V, E)


is the vector space spanned by the vector representations of the cycles of Γ.

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. 

Indeed, let T = (V, ET ) be a spanning tree of Γ. The set of fundamental


cycles
cyc(T, g) | g ∈ E − ET },

defined via Lemma 1.1.11, is a set of linearly independent vectors in Z. This


is a basis of the cycle space Z.

Definition 1.1.25. For any nontrivial partition

V = V1 ∪ V2 , Vi = ∅, V1 ∩ V2 = ∅,

the set of all edges e = (v1 , v2 ) ∈ E, with vi ∈ Vi (i = 1, 2), is called a cocycle


(or edge cut subgraph or disconnecting set or seg or edge cut set) of Γ. A cut
is a partition of the vertex set of Γ = (V, E) into two subsets, V = S ∪ T .
The cocycle of such a cut is the set

{(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 Γ.

Lemma 1.1.26. Let Γ = (V, E) denote a connected graph and let T be a


spanning tree of Γ. For each edge h ∈ E which is also an edge in T , there is
a unique cocycle coc(T, h) of Γ containing only h and edges not in T .

This Lemma defines coc(T, h).

Proof. The proof is left as an exercise. 

Suppose Γ = (V, E) is given an orientation ι and that o is the associated


orientation vector. Order the edges

E = {e1 , e2 , . . . , em },

in some arbitrary but fixed way. Consider a cut H of Γ (associated to a


partition V = V1 ∪ V2 ), which we may regard as a subgraph H = (V  , E  ) of
Γ. We fix an orientation on H so that for any edge (u, v) ∈ E  , u ∈ V1 and
v ∈ V2 . A vector representation of H is an m-tuple

 = (b1 , b2 , . . . , bm ) ∈ {1, −1, 0}m ,


H (1.6)

where

 oi , if ei ∈ E  ,
bi = bi (Γ , ι) =
0, if ei ∈ / E.

In particular, this defines a mapping

{cocycles of Γ = (V, E)} → {1, −1, 0}m ,


H
→ H.

The vector space spanned by the vector representations of the cocycles of


Γ is the cocycle space (or cut space or bond space), B.
We shall see later (see Lemma 3.2.2) that the orthogonal complement of
the cycle space Z with respect to the inner product (1.3) is the cocycle space,

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

1.1.2 Simple examples

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

The cycle space Z has basis

(1, 0, −1, 0, 1, 0, 0, 0, 0, −1, 1, −1), (0, 1, −1, 0, 0, 0, 1, 0, 0, −1, 0, 0),

(0, 0, 0, 1, −1, 0, 0, 1, 0, 0, −1, 0), (0, 0, 0, 0, 0, 1, −1, 1, 0, 0, 0, −1),

and (0, 0, 0, 0, 0, 0, 0, 0, 1, −1, 1, −1). The cocycle space B has basis

(1, 0, 0, 0, 0, −1, 0, 0, 1, 0, 0, −1), (0, 1, 0, 0, 0, −1, 0, 0, 0, −1, 0, −1),

(0, 0, 1, 0, 0, 0, 0, 0, −1, −1, 0, 0), (0, 0, 0, 1, 0, −1, 0, 0, 0, 0, −1, −1),

(0, 0, 0, 0, 1, 0, 0, 0, −1, 0, −1, 0), (0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1),

(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1).

Note that B⊥ = Z.

Figure 1.9: The cube graph in R3 .


18 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS

Exercise 1.4. Pick an orientation of the tetrahedron graph Γ depicted in


Figure 1.10, for example the default orientation. Find a basis for the cycle
space and a basis for the cocycle space of Γ.

Figure 1.10: The tetrahedron graph.

Example 1.1.28. Consider the graph in Figure 1.11.

0 2

4 3
Figure 1.11: An oriented graph with 5 vertices.

This graph has incidence matrix


⎛ ⎞
−1 −1 0 0 0
⎜ 0 1 1 0 0 ⎟
⎜ ⎟
B=⎜
⎜ 1 0 −1 −1 0 ⎟.

⎝ 0 0 0 1 −1 ⎠
0 0 0 0 1

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

The eigenvalues of A are 4, 1, 1, 1, 1, −2, −2, −2, −2.

1 2a+2

2 2a+1

a 2a

a+1 a+2

Figure 1.12: A Paley graph created using Sage.

Example 1.1.30. Consider the unoriented graph Γ below, with edges


labeled as indicated, together with a spanning tree, depicted to its right,
in Figure 1.13.

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

You can see from Figure 1.13 that


• by adding edge 2 to the tree, you get a cycle 0, 1, 2 with vector represen-
tation
g1 = (1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0),

• 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).

The vectors {g1 , g2 , g3 } form a basis of the cycle space of Γ.

Example 1.1.31. Consider the unoriented graph Γ below, with edges


labeled as indicated, together with an example of a bond, depicted to its
right, in Figure 1.14.

7 9
0 4 8
2 6 10
1 3 5
Figure 1.14: A graph and a cocycle of it.

You can see from Figure 1.14 that


• by removing edge 3 from the graph, you get a cocycle with vector repre-
sentation
b1 = (0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0),

• 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).

The vectors {b1 , b2 , b3 , b4 , b5 , b6 , b7 , b8 } form a basis of the cocycle space of Γ.


Note that these vectors are not orthogonal to the basis vectors of the cycle
space in Example 1.1.30 unless we work over GF (2).

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.

Definition 1.1.32. A graph Γ is said to be planar if it has an embedding


in the plane (roughly speaking, if it can be drawn in the plane without edge
crossings). A dual graph Γ∗ of a planar graph Γ is a graph whose vertices
correspond to the faces (or planar regions) of a such an embedding (including
the infinite region). An edge of Γ∗ is adjacent to two vertices of Γ∗ if the
corresponding regions of the embedding of Γ have a common edge.

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].

1.2 Some polynomial invariants for graphs

Polynomial invariants for graphs include the (vertex) chromatic polynomial,


the (factorial, respectively, geometric) cover polynomial (for directed graphs),
22 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS

and one introduced above: the characteristic polynomial of the adjacency


matrix.
Some others are introduced below.

1.2.1 The Tutte polynomial of a graph

Let Γ = (V, E) be a graph. For any subset S of E, let ΓS = (V, S) be the


spanning subgraph of Γ containing all vertices of Γ and the edges S.
Definition 1.2.1. We let

c(S) = the number of connected components of ΓS .

The rank of S is defined to be

r(S) = |V | − c(S).

Thus the rank is the number of edges in a minimal spanning subgraph of ΓS ,


i.e., in a spanning forest (where trees of 0 edges are allowed). The nullity of
S is defined to be

n(S) = |S| − r(S) = |S| − |V | + c(S).

For example, if Γ is the complete graph on 4 vertices K4 and if ΓS is the


subgraph consisting of a 3-cycle and a disjoint 4th vertex, then c(ΓS ) = 2
and r(ΓS ) = 2. If ΓS is the subgraph with 4 vertices and no edges, we say
that c(Γ) = 4 and r(Γ) = 0.
Definition 1.2.2. The Tutte polynomial of Γ is

TΓ (x, y) = (x − 1)r(E)−r(S) (y − 1)|S|−r(S) ,
S⊂E

where the sum is taken over all subsets S of E.


This formula can be rewritten in terms of the number of components and
the nullity of spanning subgraphs as

TΓ (x, y) = (x − 1)c(S)−c(E) (y − 1)n(S) .
S⊂E

Definition 1.2.3. The Whitney rank generating function of Γ is defined as



RΓ (x, y) = xr(E)−r(S) y |S|−r(S) .
S⊂E
1.2 SOME POLYNOMIAL INVARIANTS FOR GRAPHS 23

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).

Example 1.2.4. For example, consider the complete graph on 4 vertices,


K4 . There are 6 edges, so there are 26 subsets S of the edge set, with ranks
given as follows:
• The empty set has |S| = 0 and r(S) = 0.
• There are 6 subsets with |S| = 1 and r(S) = 1.
• There are 15 subsets with |S| = 2 and r(S) = 2 (12 two-paths and 3 sets
of two disconnected edges).
• There are 4 subsets with |S| = 3 and r(S) = 2 (the 4 three-cycles).
• There are 16 subsets with |S| = 3 and r(S) = 3 (12 three-paths and the
4 complements of the three-cycles).
• There are 15 subsets with |S| = 4 and r(S) = 3 (3 four-cycles and the 12
complements of the two-paths).
• There are 6 subsets with |S| = 5 and r(S) = 3.
• If S consists of all edges in K4 , |S| = 6 and r(S) = 3.
Thus

TK4 (x, y) = (x − 1)3 + 6(x − 1)2 + 15(x − 1) + 4(x − 1)(y − 1)


+ 16 + 15(y − 1) + 6(y − 1)2 + (y − 1)3
= x3 + 3x2 + 4xy + 2x + y 3 + 3y 2 + 2y.

Example 1.2.5. Computer calculations show that the Tutte polynomial of


the cube graph on 8 vertices is

Tcube (x, y) = x7 + 5x6 + 15x5 + 6x4 y + 29x4 + 24x3 y + 40x3


+ 12x2 y 2 + 52x2 y + 32x2 + 8xy 3 + 39xy 2 + 46xy
+ 11x + y 5 + 7y 4 + 20y 3 + 25y 2 + 11y.
24 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS

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.

Definition 1.2.6. Let Γ = (V, E) be a connected graph with a fixed ordering


on E. Let T be a subset of E which forms a spanning tree of Γ. Let e be
an edge in T . If we remove e from the tree T , the remaining graph has
two components, with vertex sets V1 and V2 , and with V (Γ) = V1 ∪ V2 .
(It is possible that a component consists of a single vertex.) The cut of Γ
determined by T and e consists of all edges of Γ from a vertex in V1 to a
vertex in V2 . The edge e is in the cut determined by T and e. We say that
e is an internally active edge of T if it is the smallest edge in the cut, with
respect to the given ordering on the edges of Γ. The number i of edges of T
which are internally active in T is called the internal activity of T .

Definition 1.2.7. Let Γ = (V, E) be a connected graph with a fixed ordering


on E. Let T be a subset of E which forms a spanning tree of Γ. Let e be an
edge which is not in T . If we add the edge e to T , we obtain a graph with
exactly one cycle. We say that e is an externally active edge for T if it is the
smallest edge in the cycle it determines, with respect to the given ordering
on the edges of Γ. The number j of edges of E \ T which are externally active
for T is called the external activity of T .

The following theorem describes the Tutte polynomial in terms of spanning


trees. The proof can be found in Bollobás [Bo98].

Theorem 1.2.8. Let Γ = (V, E) be a connected graph, with an ordering on


the set of edges of Γ. Then the Tutte polynomial of Γ is given by

TΓ (x, y) = tij xi y j ,
i,j

where tij denotes the number of spanning trees of internal activity i and
external activity j.

Corollary 1.2.9. For a connected graph Γ, TΓ (1, 1) is the number of span-


ning trees of Γ.

For example,

TK4 (1, 1) = 16 and Tcube (1, 1) = 384.


1.2 SOME POLYNOMIAL INVARIANTS FOR GRAPHS 25

Example 1.2.10. Consider the complete graph on 4 vertices K4 . Fix an


ordering v1 , v2 , v3 , v4 of the vertices and order the edges lexicographically:
e1 = v1 v2 , e2 = v1 v3 , e3 = v1 v4 , e4 = v2 v3 , e5 = v2 v4 , and e6 = v3 v4 , as
shown in Figure 1.15.

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

• The tree {e3 , e5 , e6 } has i = 0 and j = 3, so t03 = 3.


Thus

TK4 (x, y) = tij xi y j
i,j

= x3 + 3x2 + 2x + 4xy + 2y + 3y 2 + y 3

as above.

Another approach to calculating the Tutte polynomial is to use reduction


formulas under deletion and contraction of edges (see, e.g., Bollobás [Bo98]].
Several other evaluations of the Tutte polynomial are known (see D. Welsh
[We99], for example).

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 Γ,

(b) TΓ (2, 1) is the number of spanning forests of Γ,

(c) TΓ (2, 2) is the number of spanning subgraphs of Γ,

(d) TΓ (1 − k, 0) is the number of proper k-vertex colorings of Γ,

(e) TΓ (2, 0) is the number of acyclic orientations of Γ, and

(f ) TΓ (0, −2) is the number of Eulerian orientations of Γ.

From Merino [Me04], it is known in general that TΓ (1, 0) represents the


number of critical configurations of level 0 (discussed further in
Chapter 4). Using Sage, it is easy to compute this quantity.

Example 1.2.12. Using Sage, we compute the Tutte polynomial of the cube
graph and the tetrahedron graph.
Sage

sage: Gamma = graphs.CubeGraph(3)


sage: Gamma.tutte_polynomial()
x^7 + 5*x^6 + 15*x^5 + 6*x^4*y + y^5 + 29*x^4 + 24*x^3*y + 12*x^2*y^2
+ 8*x*y^3 + 7*y^4 + 40*x^3 + 52*x^2*y + 39*x*y^2 + 20*y^3 + 32*x^2
+ 46*x*y + 25*y^2 + 11*x + 11*y
sage: Gamma.tutte_polynomial()(x=1,y=0)
133
sage: Gamma = graphs.TetrahedralGraph()
sage: Gamma.tutte_polynomial()
x^3 + y^3 + 3*x^2 + 4*x*y + 3*y^2 + 2*x + 2*y
sage: Gamma.tutte_polynomial()(x=1,y=0)
6
1.2 SOME POLYNOMIAL INVARIANTS FOR GRAPHS 27

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

TCn (x, y) = xn−1 + xn−2 + · · · x + y.

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 ,

i.e., TΓn (x, y) = TCn (y, x).

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

TΓ (x, y) = TΓ1 (x, y)TΓ2 (x, y).

1.2.2 The Ihara zeta function

Recall the circuit rank χ(Γ) of an undirected graph Γ is the minimum number
edges to remove from Γ, making it into a forest.

Lemma 1.2.13. The circuit rank is given by the simple formula

m − n + c,

where m is the size of Γ (i.e., number of edges), n is the order of Γ (i.e.,


the number of vertices), and c is the number of connected components. The
circuit rank is equal to the dimension of the cycle space of Γ.

This is well known and the proof is omitted.


Let
p = (u0 , . . . , ulen(p)−1 , u0 )

be a cycle of the graph Γ = (V, E) of length len(p). We say p is a prime cycle


if it is a closed cycle of Γ having no backtracks and is not a multiple of a
cycle with a smaller number of edges.
28 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS

The Ihara zeta function can be defined by the product formula:

1
= (1 − ulen(p) ).
ζΓ (u) p

This product is taken over all prime cycles p of the graph6 .


It is known that for regular graphs the Ihara zeta function is a rational
function.

Lemma 1.2.14. (Ihara, Sunada) If Γ is k-regular with adjacency matrix A,


then
1
ζΓ (u) = ,
(1 − u2 )χ(Γ)−1 det(I − Au + (k − 1)u2 I)

where χ(Γ) is the circuit rank of Γ.

By Lemma 1.2.13, the circuit rank of Γ is given by the formula

χ(Γ) = |E| − |V | + c,

where c denotes the number of connected components of Γ.

Example 1.2.15. For the cycle graph having 4 vertices, we have

χ(Γ) = 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

= (u2 + 1)2 (u + 1)2 (u − 1)2 .

6 This formulation in a graph-theoretic setting is actually due to Sunada [Su86], rather

than Ihara.
1.2 SOME POLYNOMIAL INVARIANTS FOR GRAPHS 29

Here is some Sage code verifying this.


Sage

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

Note these last two outputs agree.


Indeed, there is this generalization (see Terras [Te10]).
Proposition 1.2.16. (Hashimoto, Bass) Assume Γ = (V, E) is a connected
graph having no vertices of degree 1 and |E| ≥ |V |. Let A denote the adjacency
matrix of Γ and let Δ0 denote the |V | × |V | diagonal matrix whose entries
are the values of deg(v) − 1, v ∈ V . Then

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

ζΓ (u)−1 = (1 − u2 )(1 − u)(1 + u2 )(1 + u + 2u2 )(1 − u2 − 2u3 ).

1.2.3 The Duursma zeta function

In a fascinating series of papers starting in the 1990s, Iwan Duursma intro-


duced a new class of zeta functions. They are intended to be for linear codes,
but they were implicitly introduced for other objects as well.

The Duursma zeta function of a code

Before we define the Duursma zeta function of a graph, we introduce the


Duursma zeta function of a linear block code, following Duursma [Duu01],
[Duu03a], [Duu03b], and [Duu04]. For more on codes, see Biggs [Bi08].
Let q denote a prime power. A linear (error-correcting) code C over GF (q)
is a subspace of GF (q)n , where GF (q)n is provided with the standard basis.
The parameter n is called the length of the code C. The Hamming weight
of v ∈ GF (q)n ,
wt(v) = |{i | vi = 0}|,
30 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS

is the number of nonzero coordinates of v = (v1 , . . . , vn ). The weight enu-


merator of C is

n
AC (x, y) = Ai xi y n−i ,
i=0

where Ai is the number of codewords in C of weight i. The minimum value


on C − {0},
dC = min wt(c),
c∈C,c=0

is called the minimum distance of the code C.


Let C be an [n, k, d]q code, i.e., a linear code over GF (q) of length n,
dimension k (as a vector space over GF (q)), and minimum distance d = dC .
The Singleton bound states that k + d ≤ n + 1 (see for example [HP10] for
a proof). If equality is satisfied in this bound, then we call C a minimum
distance separable or MDS code.
Motivated by analogies with local class field theory, in [Duu04] Iwan
Duursma introduced the zeta function Z = ZC associated to a linear code C
over a finite field,
P (T )
Z(T ) = , (1.8)
(1 − T )(1 − qT )

where P (T ) is a polynomial of degree n + 2 − d − d⊥ (the Duursma zeta


polynomial defined below)7 .
If C ⊥ denotes the dual code of C, with parameters [n, n − k, d⊥ ], then the
MacWilliams identity relates the weight enumerator of C ⊥ to that of C:

AC ⊥ (x, y) = |C|−1 AC (x + (q − 1)y, x − y).

Definition 1.2.17. A polynomial P (T ) for which

(xT + (1 − T )y)n AC (x, y) − xn n−d


P (T ) = · · · + T + ... .
(1 − T )(1 − qT ) q−1

is called a Duursma zeta polynomial of C.

The Duursma zeta function is defined in terms of the zeta polynomial by


means of (1.8) above.
(xT +y(1−T ))n
Lemma 1.2.18. If we expand (1−T )(1−qT ) in powers of T , we find it is
equal to

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

b0,0 y n T 0 + (b1,1 xy n−1 + b1,0 y n )T 1


+(b2,2 x2 y n−2 + b2,1 xy n−1 + b2,0 y n )T 2 + · · ·
+(bn−d,n−d xn−d y d + bn−d,n−d−1 xn−d−1 y d+1 + · · · + bn−d,0 y n )T n−d + · · · ,

where bi,j are coefficients given by

 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

It is not hard to see that



 q j+1 − 1
1
= T j,
(1 − T )(1 − qT ) j=0 q − 1

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].

The Duursma zeta function of a graph

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

As is well known (see for example, Dankelmann, Key, and Rodrigues


[DKR13]), the binary code B = BΓ generated by the incidence matrix of
Γ is the cocycle space of Γ over GF (2), and the dual code B ⊥ is the cycle
space Z = ZΓ of Γ:
BΓ⊥ = ZΓ .

Proposition 1.2.20. Let F = GF (2). The cycle code of Γ = (V, E) is a


linear binary block code of length |E|, dimension g(Γ) (namely, the genus
of Γ), and minimum distance equal to the girth of Γ. If C ⊂ GF (2)|E| is
the cycle code associated to Γ and C ∗ is the cocycle code associated to Γ,
then C ∗ is the dual code of C. In particular, the cocycle code of Γ is a linear
binary block code of length |E|, and dimension r(Γ) = |E| − n(Γ).
This follows from Hakimi and Bredeson [HB68] (see also Jungnickel and
Vanstone [JV10]) in the binary case8 .
Proof. Let d denote the minimum distance of the code C. Let g denote the
girth of Γ, i.e., the smallest cardinality of a cycle in Γ. If K is a cycle in Γ, then
the vector vec(K) ∈ GF (2)|E| is an element of the cycle code C ⊂ GF (2)|E| .
This implies d ≤ g.
In the other direction, suppose K1 and K2 are cycles in Γ with associ-
ated support vectors v1 = vec(K1 ), v2 = vec(K2 ). Assume that at least
one of these cycles is a cycle of minimum length, say K1 , so the weight of
its corresponding support vector is equal to the girth g. The only way that
wt(v1 +v2 ) < min{wt(v1 ), wt(v2 )} can occur is if K1 and K2 have some edges
in common. In this case, the vector v1 + v2 represents a subgraph which is
either a cycle or a union of disjoint cycles. In either case, by minimality of
K1 , these new cycles must be at least as long. Therefore, d ≥ g, as desired.

Definition 1.2.21. Define pΓ to be the Duursma zeta polynomial P = PB
of Γ, in the notation of Proposition 1.2.19, where B = BΓ is the cocycle space
of Γ. Define the Duursma zeta function of Γ by

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.

The (Duursma) genus of the cocycle space is the quantity

γ = γΓ = m + 1 − rank(B) − dΓ ,

where m = |E| denotes the number of edges in Γ (the number of columns


of the incidence matrix of Γ), B is the incidence matrix over GF (2), and dΓ
denotes the minimum distance of the cocycle space BGF (2) (as a binary linear
code over GF (2) in the standard basis). It’s well known that for connected
Γ,
rank(B) = |V | − 1,

and it’s known9 , that


dΓ = λ(Γ),

where λ(Γ) denotes the edge connectivity of Γ, i.e., the minimum cardinality
of an edge cut. Therefore,

γ = |E| + 2 − |V | − λ(Γ).

In any case, define the normalized Duursma zeta function by

zΓ (t) = t1−γ ζΓ (t).

If Γ is a planar graph, and if F denotes the set of faces of Γ, then the


formula for the Euler characteristic gives us

|E| + 2 − |V | = |F |,

so that in this case, γ = |F | − λ(Γ). If Γ is a planar graph, then we also have


the functional equation
zΓ⊥ (t) = zΓ (1/2t), (1.11)

9 See Theorem 1 in Dankelmann, Key, and Rodrigues [DKR13].


34 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS

where Γ⊥ denotes the planar dual graph of Γ.


The following question asks when an analog of the Riemann hypothesis
holds.

Open Question 1. For which planar graphs Γ satisfying Γ⊥ ∼ = Γ, are all


the roots of the Duursma zeta polynomial on the circle |t| = 2−1/2 ?

1.2.4 Graph theory and mathematical blackjack

In this section, we illustrate a connection between graph theory, (set-theoretic)


combinatorics, and a combinatorial game called mathematical blackjack.
An m-(sub)set is a (sub)set with m elements. For integers k < m < n, a
Steiner system S(k, m, n) is an n-set X and a set S of m-subsets having the
property that any k-subset of X is contained in exactly one m-set in S.

Example 1.2.24. Let

P1 (GF (11)) = {∞, 0, 1, 2, . . . , 9, 10}

denote the projective line over the finite field GF (11) with 11 elements. Let

Q = {0, 1, 3, 4, 5, 9}

denote the quadratic residues and 0 and let

L = α, β ∼
= P SL(2, GF (11)),

where α(y) = y + 1 and β(y) = −1/y. Let

S = {λ(Q) | λ ∈ L}.

In other words, each element of S is a subset of P1 (GF (11)) of size 6.

Lemma 1.2.25. S is a Steiner system of type (5, 6, 12).

If X = {1, 2, . . . , 12}, a Steiner system S(5, 6, 12) is a set of 6-sets, called


hexads, with the property that any set of 5 elements of X is contained in
(“can be completed to”) exactly one hexad.
A decomposition of a graph Γ is a set of subgraphs H1 , . . . , Hk that par-
tition the edges of Γ. If all the Hi are isomorphic to a given group H, then
we say the decomposition is an H-decomposition. In chapter 6, we shall run
into graph decompositions in our discussion of the Cayley graph of a p-ary
function.
1.2 SOME POLYNOMIAL INVARIANTS FOR GRAPHS 35

From the perspective of Steiner systems, if H is any connected subgraph of


Kn (the complete graph on n vertices), an H-decomposition of Kn gives rise
to a S(k, m, n), where m is the number of vertices of H and k is the smallest
number such that any k vertices of H must contain at least 2 neighbors.
Question 1.1. Is the Steiner system S(5, 6, 12) described above associated
to a graph decomposition of K12 ?

The MINIMOG description

This section is devoted to Conway’s [Co84] construction of S(5, 6, 12) using


a 3 × 4 array called the MINIMOG.
The tetracode words are
0 0 0 0 0 + + + 0 - - -
+ 0 + - + + - 0 + - 0 +
- 0 - + - + 0 - - - + 0

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

(0, a, a, a), (1, a, b, c), (2, c, b, a),

where abc is any cyclic permutation of 012.


The MINIMOG in the shuffle numbering is the 3 × 4 array

6 3 0 9
5 2 7 10
4 1 8 11

We label the rows as follows:


• the first row has label 1,
• the second row has label +, and
• the third row has label −.
0 6 3 0 9
+ 5 2 7 10
- 4 1 8 11
36 1 INTRODUCTION: GRAPHS—BASIC DEFINITIONS

A col (or column) is a placement of three + signs in a column of the array:


+ + + +
+ + + +
+ + + +
A tet (or tetrad) is a placement of 4 + signs having entries corresponding
(as explained below) to a tetracode.
+ + + + + +
+ + +
+ + +
0 0 0 0 0 + + + 0 - - -
+ + +
+ + + + + +
+ + +
+ 0 + - + + - 0 + - 0 +
+ + +
+ + +
+ + + + + +
- 0 - + - + 0 - - - + 0
Each line in GF (3)2 with finite slope occurs once in the 3 × 3 part of some
tet. The odd man out for a column is the label of the row corresponding to
the nonzero digit in that column; if the column has no nonzero digit, then
the odd man out is a “?”. Thus the tetracode words associated in this way
to these patterns are the odd men out for the tets.
The signed hexads are the combinations 6-sets obtained from the MINI-
MOG from patterns of the form

col-col, col+tet, tet-tet, col+col-tet.

Lemma 1.2.26. (Conway [CS99], Chapter 11, p. 321) If we ignore signs,


then from these signed hexads we get the 132 hexads of a Steiner system
S(5, 6, 12). These are all possible 6-sets in the shuffle labeling for which the
odd men out form a part (in the sense that an odd man out “?” is ignored or
regarded as a “wild-card”) of a tetracode word and the column distribution is
not 0, 1, 2, 3 in any order10 .
Example 1.2.27. Associated to the col-col pattern
+ + + -
+ - + = + -
+ + + -

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

Mathematical blackjack is a 2-person combinatorial game whose rules will


be described below. What is remarkable about it is that a winning strategy,
discovered by Conway and Ryba (see Conway and Sloane [CS86] and Kahane
and Ryba [KR01]), depends on knowing how to determine hexads in the
Steiner system S(5, 6, 12).
Mathematical blackjack is played with 12 cards, labeled 0, . . . , 11 (for
example, king, ace, 2, 3, . . . , 10, jack, where the king is 0 and the jack is 11).
Divide the 12 cards into two piles of 6 (to be fair, this should be done ran-
domly). Each of the 6 cards of one of these piles is to be placed face up on
the table. The remaining cards are in a stack which is shared and visible to
both players. If the sum of the cards face up on the table is less than or equal
to 21, then no legal move is possible11 so you must shuffle the cards and deal
a new game.
• Players alternate moves.
• A move consists of exchanging a card on the table with a lower card from
the other pile.
• The player whose move makes the sum of the cards on the table under
21 loses.
The winning strategy (given below) for this game is due to Conway and
Ryba (see [CS86] and [KR01]). There is a Steiner system S(5, 6, 12) of hexads

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.

This result is proven in Kahane and Ryba [KR01].


If you are unfortunate enough to be the first player starting with a hexad
from S(5, 6, 12) then, according to this strategy and properties of Steiner
systems, there is no winning move. In a randomly dealt game, there is a
probability of
132
  = 1/7
12
6

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.

Example 1.2.30. We play a game.


• Initial deal: 0, 2, 4, 6, 7, 11. The total is 30. The pattern for this deal is
• •
• •
• •
where • is a ±. No combinations of ± choices will yield a tetracode odd
men out, so this deal is not a hexad.
• First player replaces 7 by 5: 0, 2, 4, 5, 6, 11. The total is now 28. (Note this
is a square in the picture at 1.) This corresponds to the col+tet
+ +
+ +
- +
with tetracode odd men out − + 0 −.
• Second player replaces 11 by 7: 0, 2, 4, 5, 6, 7. The total is now 24. Inter-
estingly, this 6-set corresponds to the pattern
• •
• • •

(hence possible with tetracode odd men out 0 + + ?, for example).
However, it has column distribution 3, 1, 2, 0, so it cannot be a hexad.
1.2 SOME POLYNOMIAL INVARIANTS FOR GRAPHS 39

• First player replaces 6 by 3: 0, 2, 3, 4, 5, 7. (Note this is a cross in the


picture at 0.) This corresponds to the tet-tet pattern
+ -
+ - +
-
with tetracode odd men out − − + 0. Cards total 21. First player wins.

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

In this chapter, we are interested in exploring questions such as the following.

Question 2.1. If a group G acts on a graph Γ, what is the relationship


between the spectrum of Γ and the spectrum of the quotient Γ/G?

If G is a group acting on graphs Γ1 and Γ2 , then a G-equivariant map


Γ1 → Γ2 is a map that respects the action of G on these graphs.

Question 2.2. If G is a group acting on graphs Γ1 and Γ2 , and if there is


a G-equivariant map Γ1 → Γ2 , how are the Laplacians of Γ1 and Γ2 related?

2.2 Basic results

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

corresponds to the discrete Laplacian Q on f



(Qf )(v) = [f (w) − f (v)] (2.1)
w:d(w,v)=1

c Springer International Publishing AG 2017 41


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 2
42 2 GRAPHS AND LAPLACIANS

where d(w, v) is the graph distance function on V × V . Indeed,


∂2f [f (x + , y) − f (x, y)] + [f (x − , y) − f (x, y)]
= lim
∂x2 →0 2
and
∂2f [f (x, y + ) − f (x, y)] + [f (x, y − ) − f (x, y)]
= lim
∂y 2 →0 2

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

and a dual linear transformation

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)

where B is the linear transformation of Equation (2.2) above, and B ∗ is its


dual.
The matrix representation of the Laplacian will also be denoted Q. We
leave it as an exercise to show that the linear transformation Q = BB ∗ is
independent of the orientation chosen on Γ.

Exercise 2.1. Suppose that Γ is given an orientation, and denote by B the


n×m incidence matrix of Γ with respect to this orientation (and some order-
ings of the vertex and edge sets of Γ). Denote by Q the matrix representation
2.2 BASIC RESULTS 43

of the Laplacian. Show that the matrix BB t is independent of the orientation


chosen and that BB t = Q.

Recall that if the graph Γ has vertex set

V = VΓ = {0, 1, 2, . . . , n − 1},

then the (undirected, unweighted) adjacency matrix of Γ is the n × n matrix


A = (aij ), where aij = 1 if vertex i shares an edge with vertex j, and
aij = 0 otherwise. There is a simple connection between the Laplacian and
the adjacency matrix.

Lemma 2.2.1. For an oriented graph Γ with unsigned adjacency matrix A,


there is a natural basis of C 0 (Γ, F ) for which the matrix representation of the
Laplacian is given by

Q = Δ − A,

where Δ denotes the diagonal matrix of the degrees of the vertices of V :


⎛ ⎞
d0 0 0 ... 0
⎜ 0 d1 0 ... 0 ⎟
⎜ ⎟
⎜ 0 ⎟
Δ = ⎜ 0 0 d2 ... ⎟,
⎜ .. .. .. .. .. ⎟
⎝ . . . . . ⎠
0 0 0 . . . dn−1

where di = degΓ (i), for i ∈ V .

Proof. Let Q = (Qij ). Since Q = BB t , where B = (bij ) is the incidence


matrix, Qii is the inner product of the i-th row of the incidence matrix
with itself. This simply counts the number of edges incident to vertex i, so
Qii = degΓ (i). If i = j then Qij is the inner product of the i-th row of
the incidence matrix with the j-th row. This is nonzero if i and j are both
incident to the same edge, and zero if they are not. Indeed, if i and j are
both incident to edge k then either

bik = 1, bjk = −1, b,k = 0 for all  = i, j,

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

Example 2.2.2. Consider the graph in Figure 2.1.

Figure 2.1: A graph with 5 vertices.

This graph has Laplacian matrix


⎛ ⎞
2 −1 −1 0 0
⎜ −1 2 −1 0 0 ⎟
⎜ ⎟
Q = BB t = ⎜
⎜ −1 −1 3 −1 0 ⎟.

⎝ 0 0 −1 2 −1 ⎠
0 0 0 −1 1

Example 2.2.3. Consider the 3 × 3 grid graph in Figure 2.2.


Sage can be used to calculate the Laplacian matrix of this graph.
Sage

sage: Gamma = graphs.GridGraph([3,3])


## this is the 3x3 grid graph with 9 vertices
sage: B = incidence_matrix(Gamma, 12*[-1])
sage: B
[-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 0 0 0 0 0 0 0]
[ 1 0 0 0 0 -1 -1 0 0 0 0 0]
[ 0 0 1 0 0 0 1 -1 -1 0 0 0]
[ 0 0 0 0 1 0 0 0 1 -1 0 0]
[ 0 0 0 0 0 1 0 0 0 0 -1 0]
[ 0 0 0 0 0 0 0 1 0 0 1 -1]
[ 0 0 0 0 0 0 0 0 0 1 0 1]

Figure 2.2: The 3 × 3 grid graph.


2.2 BASIC RESULTS 45

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.

Lemma 2.2.4. For any vector x = (x0 , . . . , xn−1 ), we have



xt Qx = (xi − xj )2 .
(i,j)∈E,j>i

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

Example 2.2.5. Consider the tetrahedral graph, Γ. Using Sage, it is easy


to verify that the identity in Lemma 2.2.4 holds in this example.
Sage

sage: Gamma = graphs.TetrahedralGraph()


sage: Q = Gamma.laplacian_matrix(); Q
[ 3 -1 -1 -1]
[-1 3 -1 -1]
[-1 -1 3 -1]
[-1 -1 -1 3]
sage: x0,x1,x2,x3 = var("x0,x1,x2,x3")
sage: x = vector(SR, [x0,x1,x2,x3])
sage: expand(x.dot_product(Q*x))
3*x0^2 - 2*x0*x1 + 3*x1^2 - 2*x0*x2 - 2*x1*x2 + 3*x2^2 - 2*x0*x3
- 2*x1*x3 - 2*x2*x3 + 3*x3^2
sage: expand(x.dot_product(Q*x))-expand((x1-x0)^2+(x2-x1)^2+(x3-x2)^2
+(x2-x0)^2+(x3-x0)^2+(x3-x1)^2)
0
46 2 GRAPHS AND LAPLACIANS

For a given orientation of Γ, the edge Laplacian is the linear transformation


Qe = Qe,Γ : C 1 (Γ, F ) → C 1 (Γ, F ) defined by

Qe = B ∗ B, (2.4)

where B is the linear transformation of Equation (2.2) and B ∗ is its dual.


Unlike the vertex Laplacian, Qe depends on the orientation.
The following proposition describes the kernel of the Laplacian matrix of
a connected graph.

Proposition 2.2.6. If Γ is a connected graph, the kernel of the Laplacian


matrix Q consists of all multiples of the all 1’s vector 1 = (1, 1, . . . , 1), i.e., 1
is an eigenvector of Q corresponding to the eigenvalue 0, and the eigenspace
of 0 is 1-dimensional.

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 Γ. 

Corollary 2.2.7. If Γ is a connected graph, the rank of the Laplacian matrix


Q is n − 1, where n is the number of vertices of Γ.

Definition 2.2.8. The spectrum of a graph Γ is the multi-set of eigenval-


ues of the (unsigned) adjacency matrix A = AΓ . We sometimes denote the
spectrum of Γ by σ(Γ). The Laplacian spectrum of a graph Γ is the set of
eigenvalues of the Laplacian matrix Q = QΓ . The characteristic polynomial
pΓ of a graph Γ is the characteristic polynomial of A.

Let Γ be a simple connected graph. If Γ has n vertices, let

λ0 = 0 ≤ λ1 ≤ · · · ≤ λn−1 (2.5)

denote the eigenvalues of Q. By Lemma 2.2.4, Q is positive semidefinite.


This implies λi (Q) ≥ 0 for all i. Consequently, λ0 = 0, because the vector
v0 = (1, 1, . . . , 1) satisfies Qv0 = 0.

Lemma 2.2.9. If Γ is a k-regular graph, and the Laplacian Q of Γ has


eigenvalues λ0 , λ1 , . . . , λn−1 , then the adjacency matrix A of Γ has eigenval-
ues k − λ0 , k − λ1 , . . . , k − λn−1 .

Proof. This is an immediate corollary of Lemma 2.2.1. 

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 ,

where λ1 is as in Equation (2.5).

Proof. Since Q is symmetric, Rn has an orthonormal basis of eigenvectors of


Q.
It is a consequence of well-known facts from linear algebra1 that we have
v · Qv
λ1 = min .
v, v·1=0 v · v

Let f = (f0 , f1 , . . . , fn−1 ) denote an eigenvector of Q satisfying



(i,j)∈E (fj − fi )
2
λ1 = 2 .
i∈V fi

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

fir − fi0 = fir − fir−1 + fir−1 − fir−2 + · · · + fi1 − fi0

= (fir − fir−1 , fir−1 − fir−2 , . . . , fi1 − fi0 ) · (1, 1, . . . , 1)



≤ ((fir − fir−1 )2 + (fir−1 − fir−2 )2 + · · · + (fi1 − fi0 )2 )1/2 · d,

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

See Mohar [Mo91b] for details. See also Spielman [Sp10].

Example 2.2.12. A barbell graph (see Figure 2.3) illustrates how good
McKay’s lower bound really is.

Figure 2.3: A barbell graph created using Sage.


2.2 BASIC RESULTS 49

Sage

sage: Gamma = graphs.BarbellGraph(3,2)


sage: d = Gamma.diameter()
sage: n = len(Gamma.vertices())
sage: Q = Gamma.laplacian_matrix()
sage: spec = Q.eigenvalues()
sage: spec.sort()
sage: spec
[0, 0.1863934973516692?, 1, 2.470683419871161?, 3, 3, 4, 4.342923082777170?]
sage: 4.0/(d*n)
0.100000000000000

Let Γ be a graph, and let ρ be an element of the automorphism group


Aut(Γ) of Γ. If f is an eigenfunction of Q (regarded as a vector indexed by
the vertices V of Γ), we define ρf to be the eigenfunction whose entries are
permuted according to the action of ρ−1 on V , i.e., (ρf )(v) = f (ρ−1 (v)) for
any vertex v of Γ.
Definition 2.2.13. A representation of G is a homomorphism π : G →
GL(n, C). A vector subspace W ⊂ Cn is called G-invariant if π(g)w ∈ W
for all g ∈ G and all w ∈ W . The restriction of π to a G-invariant subspace
is known as a subrepresentation. A representation is said to be irreducible
if it has only trivial subrepresentations. A character χ of G is a trace of a
representation π, denoted

χ(g) = tr(π(g)), g ∈ G,

i.e., χ(g) is the trace of the matrix π(g) ∈ GL(n, C).


Lemma 2.2.14. The eigenspaces of the Laplacian of a graph Γ are repre-
sentations of the automorphism group Aut(Γ). In other words, if f is an
eigenfunction of Q = QΓ corresponding to an eigenvalue λ, then ρf is also
an eigenfunction of Q with eigenvalue λ.
Proof. We have

Q(ρf )(v) = (v,w)∈E (ρf (v) − ρf (w))
−1
= (v,w)∈E (f (ρ (v)) − f (ρ−1 (w)))
−1
= (ρ−1 v,w)∈E (f (ρ (v)) − f (w))

= Qf (ρ−1 (v))

= λf (ρ−1 (v))

= λ(ρf )(v).


50 2 GRAPHS AND LAPLACIANS

Lemma 2.2.15. Every row sum and column sum of Q is zero.

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. 

Example 2.2.16. The star graph Starn is a graph on n + 1 vertices v0 , . . . ,


vn with edges (v0 , vi ), for i = 1, . . . , n. For example, Star5 is depicted in
Figure 2.4.

Figure 2.4: A star graph created using Sage.

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.

Example 2.2.17. Consider the Paley graph on 9 vertices, Γ, depicted in


Figure 1.12.
This graph has incidence matrix

⎛ ⎞
−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

and Laplacian matrix


⎛ ⎞
4 −1 −1 0 −1 0 0 0 −1
⎜ −1 4 −1 0 0 −1 −1 0 0 ⎟
⎜ ⎟
⎜ −1 −1 4 −1 0 0 0 −1 0 ⎟
⎜ ⎟
⎜ 0 0 −1 4 −1 −1 0 −1 0 ⎟
⎜ ⎟
Q = BB = ⎜
t
⎜ −1 0 0 −1 4 −1 0 0 −1 ⎟.

⎜ 0 −1 0 −1 −1 4 −1 0 0 ⎟
⎜ ⎟
⎜ 0 −1 0 0 0 −1 4 −1 −1 ⎟
⎜ ⎟
⎝ 0 0 −1 −1 0 0 −1 4 −1 ⎠
−1 0 0 0 −1 0 −1 −1 4

The eigenvalues of Q are

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

pΓ (x) = 2Tn (x/2) − 2,

where Tn (x) is the n-th Chebyshev polynomial of the first kind (see
Stevanovic [St14]).

For an (undirected) graph Γ, denote the eigenvalues of the Laplacian by

λ0 (Q) ≤ λ1 (Q) ≤ · · · ≤ λn−1 (Q).

Recall the incidence matrix B and its transpose B t can be regarded as


homomorphisms

B : C 1 (Γ, Z) → C 0 (Γ, Z) and B t : C 0 (Γ, Z) → C 1 (Γ, Z).

Therefore, we can regard the Laplacian Q = BB t as a homomorphism


C 0 (Γ, Z) → C 0 (Γ, Z).

Lemma 2.2.19. The adjacency matrix of Γ has an eigenvector of all 1’s if


and only if Γ is regular.

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. 

The index of Γ is the largest eigenvalue of Γ. The index has an eigenvector


which consists of nonnegative components.

Lemma 2.2.20. Suppose Γ has connected components Γ1 , . . . , Γr .


(a) Possibly after reordering the vertices of Γ, Q is a block diagonal matrix,
where each block is the respective Laplacian matrix for a correspond-
ing component. In other words, Q is permutation conjugate to a block
diagonal matrix.
(b) If n = |V |, define the vector vj ∈ Rn to be the vector whose component
associated to a vertex in Γj is = 1 and all other components = 0. Then
vj is an eigenvector of Q having eigenvalue 0.

Proof. This proof is left as an exercise in every other textbook on graph


theory, so we should not be any different. Exercise! 

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.

Proof. This follows from the Perron–Frobenius Theorem: If an n × n matrix


has nonnegative entries then it has a nonnegative real eigenvalue λ which has
maximum absolute value among all eigenvalues. This eigenvalue λ has a non-
negative real eigenvector. If, in addition, the matrix has no block triangular
decomposition (i.e., it does not contain a k × (n − k) block of 0s disjoint from
the diagonal), then λ has multiplicity 1 and the corresponding eigenvector is
positive. 

Exercise 2.3. Show that the multiplicity of λ = 0 as an eigenvalue of the


Laplacian Q is the number of connected components in the graph.

Remark 2.2.22. Let Q∗ denote a reduced Laplacian matrix (obtained by


removing any row and the corresponding column of the Laplacian matrix
Q) of a connected graph Γ. Then the critical group of Γ is isomorphic to
2.3 THE MOORE–PENROSE PSEUDOINVERSE 53

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].

2.3 The Moore–Penrose pseudoinverse

Throughout this section, we assume that the underlying graph Γ is connected.


The Moore–Penrose pseudoinverse of the Laplacian matrix Q is a type
of generalized inverse of Q. There are other generalized inverses. General-
ized inverses are sometimes classified by the additional properties they have,
beyond that of the definition below.
After some preliminaries, we will give a construction of the Moore–Penrose
pseudoinverse of the Laplacian matrix. An alternative construction will also
be given (see Lemma 2.3.10).

Definition 2.3.1. If M and L are matrices such that M LM = M , then L


is said to be a generalized inverse of M .

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.

Remark 2.3.2. Note that


• QJ = JQ = 0 (the all 0’s matrix).
• J 2 = nJ.
n
• If x is any n-vector and deg(x) = i=1 xi , then Jx = deg(x)1.
• In particular, J1 = n1.
• If s has degree 0, then Js = 0 (the all 0’s vector) since deg(s) = 0.

Lemma 2.3.3. Q + n1 J is nonsingular.

We will prove this lemma at the end of §2.3, after giving an alternative
construction of the Moore–Penrose pseudoinverse.

Remark 2.3.4. Note that (Q + n1 J)J = J = J(Q + n1 J).

Definition 2.3.5. The Moore–Penrose pseudoinverse of Q is defined to be



−1
1 1
Q+ = Q+ J − J.
n n
54 2 GRAPHS AND LAPLACIANS

Example 2.3.6. The Paley graph on 9 vertices Γ has Laplacian matrix


⎛ ⎞
4 −1 −1 0 −1 0 0 0 −1
⎜ −1 4 −1 0 0 −1 −1 0 0 ⎟
⎜ ⎟
⎜ −1 −1 4 −1 0 0 0 −1 0 ⎟
⎜ ⎟
⎜ 0 0 −1 4 −1 −1 0 −1 0 ⎟
⎜ ⎟
Q=⎜ ⎜ −1 0 0 −1 4 −1 0 0 −1 ⎟⎟,
⎜ 0 −1 0 −1 −1 4 −1 0 0 ⎟
⎜ ⎟
⎜ 0 −1 0 0 0 −1 4 −1 −1 ⎟
⎜ ⎟
⎝ 0 0 −1 −1 0 0 −1 4 −1 ⎠
−1 0 0 0 −1 0 −1 −1 4

whose Moore–Penrose pseudoinverse is

⎛ ⎞
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

Proposition 2.3.7. The Moore–Penrose pseudoinverse Q+ has the follow-


ing properties:
i. Q+ is symmetric.
ii. Q++ = Q.
−1
iii. Q + n1 J = Q+ + n1 J.
iv. JQ+ = Q+ J = 0 (the all 0’s matrix).
v. QQ+ = Q+ Q = I − n1 J.
vi. QQ+ Q = Q and Q+ QQ+ = Q+ .
vii. Q+ = B + (B + )t , where B + = Q+ B and B is the incidence matrix.

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

Noting that JQ = 0 and J 2 = nJ, we obtain

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

Simplifying and using property (iv) gives


1
QQ+ + 0 + 0 + J =I
n

so that QQ+ = I − n1 J. Taking transposes and noting that Q and Q+ are


symmetric gives Q+ Q = I − n1 J.
Using property (v), we have


1 1
QQ Q = Q I − J = Q − QJ = Q.
+
n n

The proof that Q+ QQ+ = Q+ is similar.


Finally, we note that B + (B + )t = Q+ BB t (Q+ )t = Q+ QQ+ (since Q+ is
symmetric) which equals Q+ by property (vi). 

Corollary 2.3.8. If s is a vector whose entries sum to 0, then


QQ+ s = Q+ Qs = s and st QQ+ = st Q+ Q = st .

Proof. By part (v) of Proposition 2.3.7, QQ+ s = Q+ Qs = (I − n1 J)s. When


the entries of s sum to 0, Js = 0, so QQ+ s = Q+ Qs = Is = s. The proof of
the second statement is similar, and it also follows from the fact that Q and
Q+ are symmetric. 

Example 2.3.9. The cycle graph on 3 vertices Γ = C3 has Laplacian matrix


⎛ ⎞
2 −1 −1
Q = ⎝ −1 2 −1 ⎠
−1 −1 2
56 2 GRAPHS AND LAPLACIANS

whose Moore–Penrose pseudoinverse is


⎛ 2 ⎞
9 − 19 − 19
⎜ ⎟
Q+ = ⎝ − 91 2
9 − 19 ⎠ .
− 91 − 19 2
9

The signed incidence matrix attached to the edges

E = {e0 = (1, 0), e1 = (2, 0), e2 = (2, 1)}

having orientation [1, 1, 1] is


⎛ ⎞
1 1 0
B = ⎝ −1 0 1 ⎠,
0 −1 −1

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.

We will now give another construction of the Moore–Penrose pseudoin-


verse.
Since the Laplacian matrix Q is a real n × n symmetric matrix, we can
choose a basis of Rn consisting of n orthonormal eigenvectors w1 , w2 , . . . , wn
corresponding to eigenvalues λ1 , λ2 , . . . , λn of Q. For Γ a connected graph,
the rank of Q is n − 1, so we may assume that λ1 = 0 and w1 = √1n 1,
i.e., every entry of w1 is √1n . The nonzero eigenvalues are all positive, since
Q = BB t . Let U be the orthogonal matrix whose columns are the eigenvectors
w1 , w2 , . . . , wn and let Σ be the diagonal matrix whose diagonal entries are
λ1 = 0, λ2 , λ3 , . . . , λn . Then U U t = U t U = I and

Q = U ΣU t . (2.7)

We define the pseudoinverse of the diagonal matrix Σ to be the diagonal


matrix Σ+ whose i-th diagonal entry is the reciprocal of the i-th diagonal
entry of Σ, if this entry is nonzero, and zero otherwise, i.e., the diagonal
entries of Σ+ are 0, λ12 , λ13 , . . . , λ1n .
2.3 THE MOORE–PENROSE PSEUDOINVERSE 57

We define Q+ to be the matrix given by

Q+ = U Σ+ U t . (2.8)

The matrix Q+ is called a pseudoinverse of Q. We will show that Q+ is equal


to the Moore–Penrose pseudoinverse defined above, and is thus independent
of the choice of matrix U. Note that from Equation (2.8), it is clear that Q+
is symmetric and has the same rank n − 1 as Q. Furthermore, QQ+ = Q+ Q
and the matrices Q and Q+ have the same eigenvectors. Thus the all 1’s
vector 1 is a basis for the kernel of Q+ and Q+ J = JQ+ = 0, the all 0’s
matrix.

Lemma 2.3.10. The matrix Q+ given by Equation (2.8) is the Moore–


Penrose pseudoinverse, i.e.,

−1
1 1
U Σ+ U t = Q+ J − J. (2.9)
n n

Proof. By Equation (2.7), proving Equation (2.9) is equivalent to proving





1 1
U Σ+ U t + J U ΣU t + J = I.
n n

The left side of the previous equation expands to give

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

Exercise 2.5. Prove that the formula



−1
1 1
Q− J + J
n n

also gives the Moore–Penrose pseudoinverse of Q.

We will now prove Lemma 2.3.3.

Proof. Let Q = U ΣU t be a decomposition of Q as above. The diagonal


elements of Σ are 0, λ2 , λ3 , . . . , λn and the first column of U is the eigenvector
√1 1 corresponding to λ1 = 0. We can decompose J as J = U ΣJ U t where
n
ΣJ = I(1,1) is the diagonal matrix with 1 in the (1, 1)-entry and all other
entries zero. Then Q + n1 J = U Σ U t , where Σ is the diagonal matrix with
diagonal entries 1, λ2 , λ3 , . . . , λn . Thus, Q + n1 J is nonsingular. 

2.4 Circulant graphs

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.

Example 2.4.1. Consider the Möbius ladder graph on 8 vertices, Γ, depicted


in Figure 2.5.
2.4 CIRCULANT GRAPHS 59

Figure 2.5: A Möbius ladder graph created using Sage.

This graph has adjacency matrix


⎛ ⎞
0 1 0 0 1 0 0 1
⎜ 1 0 1 0 0 1 0 0 ⎟
⎜ ⎟
⎜ 0 1 0 1 0 0 1 0 ⎟
⎜ ⎟
⎜ 0 0 1 0 1 0 0 1 ⎟
AΓ = ⎜

⎟,

⎜ 1 0 0 1 0 1 0 0 ⎟
⎜ 0 1 0 0 1 0 1 0 ⎟
⎜ ⎟
⎝ 0 0 1 0 0 1 0 1 ⎠
1 0 0 1 0 0 1 0

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

and Laplacian matrix


60 2 GRAPHS AND LAPLACIANS
⎛ ⎞
3 −1 0 0 −1 0 0 −1
⎜ −1 3 −1 0 0 −1 0 0 ⎟
⎜ ⎟
⎜ 0 −1 3 −1 0 0 −1 0 ⎟
⎜ ⎟
⎜ 0 0 −1 3 −1 0 0 −1 ⎟
Q = BB t = ⎜

⎟.

⎜ −1 0 0 −1 3 −1 0 0 ⎟
⎜ 0 −1 0 0 −1 3 −1 0 ⎟
⎜ ⎟
⎝ 0 0 −1 0 0 −1 3 −1 ⎠
−1 0 0 −1 0 0 −1 3

It is a circulant graph.

2.4.1 Cycle graphs

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

Figure 2.6: A cycle graph created using Sage.

The adjacency matrix is circulant:


2.4 CIRCULANT GRAPHS 61
⎛ ⎞
0 1 0 0 0 0 0 1
⎜ 1 0 1 0 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 1 0 1 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 1 0 1 0 0 0 ⎟
AΓ8 =⎜

⎟.

⎜ 0 0 0 1 0 1 0 0 ⎟
⎜ 0 0 0 0 1 0 1 0 ⎟
⎜ ⎟
⎝ 0 0 0 0 0 1 0 1 ⎠
1 0 0 0 0 0 1 0
√ √
The
√ eigenvalues
√ (counted according to their multiplicity are 2, 2, 2, 0,
0, − 2, − 2, −2.
Let Γ1 be the cycle graph with n vertices, let Γ2 be the cycle digraph
(directed graph) with n vertices (with edges oriented counterclockwise around
the cycle), let Gi denote the automorphism group of Γi , i = 1, 2.
Lemma 2.4.2. The automorphism group G1 of the cycle graph Γ1 is the
dihedral group of order 2n, Dn .
Proof. We may assume that the vertices are labeled

V = {0, 1, . . . , n − 1},

and that the edges are

E = {(0, 1), (1, 2), . . . , (n − 1, 0)}.

Clearly, the “rotation” (written in disjoint cycle notation) belongs to the


automorphism group, i.e., (0, 1, . . . , n − 1) ∈ G1 . Clearly, the “reflection”
(written in disjoint cycle notation) belongs to the automorphism group, i.e.,
(0, n − 1)(1, n − 2) · · · ∈ G1 . The rotation and reflection generate Dn . The
remainder of the proof is left as Exercise 2.6. 
Exercise 2.6. Complete the proof of Lemma 2.4.2 above by showing that,
for n > 2, there are no other automorphisms of the cycle graph Γ1 beyond
the elements in the dihedral group, Dn . (Hint: Let g ∈ G1 . Suppose g : 0 → i.
Then it must send 1 and n − 1 to a neighbor of i.)
Exercise 2.7. Show that the automorphism group G2 of the cycle digraph
(directed graph) Γ2 is the cyclic group of order n, Cn .

2.4.2 Relationship to convolution operators

We identify the vertices V of a circulant graph Γ having n vertices with the


abelian group of integers mod n, Z/nZ. If C denotes the field of complex
numbers, let
62 2 GRAPHS AND LAPLACIANS

C 0 (Γ, C) = {f | f : Z/nZ → C}.

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

C 0 (Γ, C) × C 0 (Γ, C) → C 0 (Γ, C)


(2.10)
(f, g) −→ f ∗ g,

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

Define the inverse discrete Fourier transform of G by


1 
(Fn−1 G)() = G∨ () = G(λ)ζ −λ ,  ∈ Z/nZ.
n
λ∈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.

Lemma 2.4.3. For any f, g ∈ C 0 (Γ, C), we have

(f ∗ g)∧ (λ) = f ∧ (λ)g ∧ (λ).

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

Definition 2.4.4. For h ∈ C 0 (Γ, C), define Th : C 0 (Γ, C) → C 0 (Γ, C) by

Th (f ) = (h ⊗ f ∧ )∨ ,

where ⊗ denotes the componentwise product of two vectors:

(a0 , a1 , . . . , an−1 ) ⊗ (b0 , b1 , . . . , bn−1 ) = (a0 b0 , a1 b1 , . . . , an−1 bn−1 ).

A linear transformation M : C 0 (Γ, C) → C 0 (Γ, C) of the form M = Th ,


for some h ∈ C 0 (Γ, C), is called a Fourier multiplier operator.
Let τ : C 0 (Γ, C) → C 0 (Γ, C) denote the translation map: (τ f )(x) = f (x +
1) (addition in Z/nZ). Note τ sends (x0 , x1 , . . . , xn−1 ) to (x1 , x2 , . . . , xn−1 ,
x0 ). A transformation T : C 0 (Γ, C) → C 0 (Γ, C) which commutes with τ is
called translation invariant (or translation equivariant).
Define the convolution operator associated to g,

Tg : C 0 (Γ, C) → C 0 (Γ, C),

by Tg (f ) = f ∗ g.

Exercise 2.8. Show that a Fourier multiplier operator M = Th is a linear


transformation of the form Fn−1 DFn , where D is an n × n diagonal matrix.
(Hint: The diagonal elements of D may be taken to be values of h on the
elements of Z/nZ.)

Recall a matrix A is circulant if and only if there is an n such that Ak, =


Ak+1 (mod n), +1 (mod n) , for all 0 ≤ k ≤ n − 1, 0 ≤  ≤ n − 1.
The following result appears as Theorem 2.19 of Frazier [Fr99]. It charac-
terizes the Fourier multiplier operators on C 0 (Γ, C).

Theorem 2.4.5. Let T : C 0 (Γ, C) → C 0 (Γ, C) denote a linear operator. The


following statements are equivalent:
1. T is translation invariant.
2. The matrix [T ] representing T in the standard basis is circulant.
3. T is a convolution operator.
4. T is a Fourier multiplier operator.
5. The matrix B representing T in the Fourier basis is diagonal.

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

Lemma 2.4.6. The convolution operator Tg is translation invariant. In


other words, the diagram
τ
C 0 (Γ, C) −−−−→ C 0 (Γ, C)
⏐ ⏐
Tg 
⏐ Tg 

τ
C 0 (Γ, C) −−−−→ C 0 (Γ, C)

commutes, for all g ∈ C 0 (Γ, C).


Proof. For k ∈ Z/nZ, we have

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 f = (f (0), f (1), . . . , f (n − 1))t . In other words,



T (f )(k) = f ()Ak, ,
∈Z/nZ

for k ∈ Z/nZ. For k ∈ Z/nZ, we have



T (τ (f ))(k) = ∈Z/nZ Ak, (τ (f ))()

= ∈Z/nZ Ak, f ( + 1)

=  ∈Z/nZ Ak, −1 f ( ),

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

It follows that the linear transformation T is translation invariant if and only


if its matrix A is circulant: Ak, = Ak+1 (mod n), +1 (mod n) , for all 0 ≤ k ≤
n − 1, 0 ≤  ≤ n − 1. 

Lemma 2.4.8. A linear transformation T : C 0 (Γ, C) → C 0 (Γ, C) is a con-


volution map if and only if the matrix representing it in the standard basis is
circulant.

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). Replacing f by a translation (mod n) (since T is


translation invariant and g is periodic with period n) gives

T (f )(k) = g(k − )f (),
∈Z/N Z

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.

In graph-theoretic terms, a Fourier multiplier operator is a linear trans-


formation of the form BΓ−1 DBΓ , where D is an n × n diagonal matrix and
BΓ is a matrix of eigenvectors of the Laplacian of Γ.

Question 2.3. To what extent can the result above about Fourier multiplier
operators be generalized to arbitrary graphs?

2.5 Expander graphs

Let Γ = (V, E) be a graph, let S be a subset of V , and let

∂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).

Definition 2.5.1. Let Γ = (V, E) be a k-regular graph.


We call

λ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

The following result can be found in Roth [Ro06], §13.3.

Theorem 2.5.2. If Γ is a k-regular graph then Γ is a (k, r)-expander for


each r with 0 ≤ r ≤ 1 − γΓ .

Example 2.5.3. Consider the 4-regular Paley graph on 9 vertices Γ =


(V, E), depicted in Figure 1.12.
If S = {0, 1, 2} then

∂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

h(Γ) ≥ kr(1 − |S|/|V |),

for all nonempty subsets S ⊂ V , holds for 0 ≤ r ≤ 1 − γΓ . In this case, k = 4,


and so kr(1 − |S|/|V |) ≤ 32r/9.

Example 2.5.4. Consider the 6-regular graph on 16 vertices Γ = (V, E),


depicted in Figure 2.7 (Example 2.6.3 below). The eigenvalues of the adja-
cency matrix are

6, 2, 2, 2, 2, 2, 2, −2, −2, −2, −2, −2, −2, −2, −2, −2.

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

h(Γ) ≥ kr(1 − |S|/|V |),

for all nonempty subsets S ⊂ V , holds for 0 ≤ r ≤ 1 − γΓ . In this case, k = 6,


and so kr(1 − |S|/|V |) ≤ 15/8.

Let Γ = (V, E) be a connected k-regular graph with n = |V | vertices, and


let

k = λ0 (A) ≥ λ1 (A) ≥ · · · ≥ λn−1 (A)

be the eigenvalues of its adjacency matrix A = AΓ . If there exists λi = λi (A)


with |λi | < k, define

λ(Γ) = max |λi |.


|λi |<k
68 2 GRAPHS AND LAPLACIANS

We call Γ a Ramanujan graph if



λ(Γ) ≤ 2 k − 1.

Example 2.5.5. The above Example 2.5.4 is a 6-regular graph Γ satisfying


√ √
λ(Γ) = 2 ≤ 2 k − 1 = 2 5.

Therefore, it is an example of a Ramanujan graph.

The excellent book by Davidoff, Sarnak, and Valette [DSV03] contains a


detailed construction of an infinite family of Ramanujan graphs. For instance,

if p, q are odd primes with q > 2 p and p is not a quadratic residue (mod q),
they construct a symmetric generating set Sp,q of P GL(2, q), such that the
Cayley graph Cay(P GL(2, q), Sp,q ) (this notation is defined at the beginning
of §2.6 below) is a (p + 1)-regular Ramanujan graph. The details of the con-
struction require more number-theoretic background than we have introduced
here. We refer to [DSV03] for details.

2.6 Cayley graphs

Let G be a finite multiplicative group. Let S ⊂ G be a subset which satisfies


S = S −1 and 1 ∈ / S. The Cayley graph of (G, S) is the graph Γ = Cay(G, S)
whose vertices are V = G and whose edges E are defined by those pairs
(g1 , g2 ) such that g2 g1−1 ∈ S.
This is a k-regular graph having degree k = |S|. By Lemma 2.2.1, the
eigenvalues λi (Q) of the Laplacian Q are related to the eigenvalues λi (A) of
the (unweighted) adjacency matrix by

λi (Q) = k − λi (A).

Exercise 2.11. Show that a Cayley graph Γ = Cay(G, S) is regular with


degree |S|.

Exercise 2.12. Show that a Cayley graph Γ = Cay(G, S) is connected if


and only if S generates G.

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).

There is also an edge-weighted analog of this definition.


For g ∈ G, the conjugacy class of g is the subset

ClG (g) = {x−1 gx | x ∈ G}.

The set of conjugacy classes will be denoted G∗ . A function f : G → C is


called a class function if it is constant on conjugacy classes. In other words,
f is a class function if and only if the restriction f |γ is a constant (possibly
depending on γ), for each γ ∈ G∗ .
Let α : G → Z be a given class function. The edge-weighted Cayley graph
associated to (G, S, α), is the graph Γ = Cay(G, S), where edge (g1 , g2 ) has
weight α(g2 g1−1 ). We denote this graph by Cay(G, S, α). By convention, if
α(g2 g1−1 ) = 0 then we say that the 0-weighted edge (g1 , g2 ) does not exist.
Let n = |G|. A subgroup H of Sn acts on Γ if and only if it is an auto-
morphism group of the unweighted graph Γ∗ and each graph automorphism
h ∈ H also preserves the edge weights. In particular, the H-orbit of any
edge of Γ consists of edges which have the same edge weight. The set of such
actions on Γ forms a subgroup of the automorphism group of Γ∗ .
70 2 GRAPHS AND LAPLACIANS

2.6.1 Cayley graphs on abelian groups

The eigenvalues of the Cayley graph in the abelian case are easy to determine.

Proposition 2.6.2. Let G be a finite abelian group written multiplicatively,


let χ : G → C× be a homomorphism of G, and let S ⊂ G be a symmetric
set. Let A be the adjacency matrix of the Cayley graph Γ = Cay(G, S). Con-
sider the vector x ∈ CG such that xa = χ(a), where CG denotes the vector
space of complex-valued
functions on G. Then x is an eigenvector of A, with
eigenvalue χ(S) = s∈S χ(s).

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

and characteristic polynomial

(x − 6) · (x − 2)6 · (x + 2)9 .

The graph Γ is depicted in Figure 2.7.


2.6 CAYLEY GRAPHS 71

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

2.6.2 Cayley graphs for non-abelian groups

Let α : G → Z be a given class function. Let S ⊂ G be a subset which


generates G satisfying S = S −1 and 1 ∈ / S. Let Γ denote the edge-weighted
Cayley graph associated to (G, S, α), where edge (g1 , g2 ) has weight α(g2 g1−1 ).
In particular, we assume α is supported on S. In the notation above, Γ =
Cay(G, S, α). We assume that the (weighted) adjacency matrix of Γ is the
|G| × |G| matrix A = (ag,h ), where
ag,h = α(gh−1 ).

Let G∗ denote a complete set of inequivalent representations of G. We can


write
ρi : G → Aut(Vi ),

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:

g1 = 1, g2 = (2, 6)(3, 5), g3 = (1, 2)(3, 6)(4, 5), g4 = (1, 2, 3, 4, 5, 6),


g5 = (1, 3)(4, 6), g6 = (1, 3, 5)(2, 4, 6), g7 = (1, 4)(2, 3)(5, 6),
g8 = (1, 4)(2, 5)(3, 6), g9 = (1, 5)(2, 4), g10 = (1, 5, 3)(2, 6, 4),
g11 = (1, 6, 5, 4, 3, 2), g12 = (1, 6)(2, 5)(3, 4).

Let

S = {g4 , g11 , g3 , g7 , g12 }

and note S generates G, and is conjugation-invariant and closed under taking


inverses. The conjugacy classes clG (x) of G are ordered as follows:

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)]

The character table of G is

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

The associated (weighted) adjacency matrix is


⎛ ⎞
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 ⎟
A=⎜ ⎜ 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

sage: def alpha(x):


if x==S[0] or x==S[1]:
return 1
if x==S[2] or x==S[3] or x==S[4]:
return 2
return 0
sage: A = [[alpha(x*y^(-1)) for x in G] for y in G]; matrix(A)

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

Figure 2.8: The undirected edge-weighted Cayley graph of D6 with respect to S.


74 2 GRAPHS AND LAPLACIANS

[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

The weighted Cayley graph of (G, S, α) is shown in Figure 2.8.


The eigenvalues and eigenvectors of A are

λ0 = 8, x0 = (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),

λ1 = −4, x1 = (1, −1, −1, 1, −1, 1, −1, 1, −1, 1, 1, −1),

λ2 = 4, x2 = (1, −1, 1, −1, −1, 1, 1, −1, −1, 1, −1, 1),

λ3 = −8, x3 = (1, 1, −1, −1, 1, 1, −1, −1, 1, 1, −1, −1),

each occurring with multiplicity 1. Note that, for i = 0, 1, 2, 3, we have

xi = (χi (g1 ), . . . , χi (g12 )),

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

Eλ4 = Span((1, 0, 0, 0, 0, −1, 0, −1, 0, 0, 1, 0),


(0, 1, 0, 0, −1, 0, −1, 0, 0, 0, 0, 1),
(0, 0, 1, 0, 1, 0, 0, 0, −1, 0, 0, −1),
(0, 0, 0, 1, 0, 1, 0, 0, 0, −1, −1, 0)).

It is easy to see that

(χ4 (g1 ), . . . , χ4 (g12 )) = (2, 0, 0, 1, 0, −1, 0, −2, 0, −1, 1, 0)

is an element of Eλ4 . The eigenvalue λ5 = −1, has eigenspace

Eλ5 = Span((1, 0, 0, 0, 0, −1, 0, 1, 0, 0, −1, 0),


(0, 1, 0, 0, −1, 0, 1, 0, 0, 0, 0, −1),
(0, 0, 1, 0, −1, 0, 0, 0, 1, 0, 0, −1),
(0, 0, 0, 1, 0, −1, 0, 0, 0, 1, −1, 0)).

It is easy to see that

(χ5 (g1 ), . . . , χ5 (g12 )) = (2, 0, 0, −1, 0, −1, 0, 2, 0, −1, −1, 0)

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 }.

Each eigenvector of the adjacency matrix A has the form

(χ(g1 ), . . . , χ(gn )),


76 2 GRAPHS AND LAPLACIANS

where χ = tr(ρ), for some ρ ∈ G∗ , with eigenvalue


1 
λ = λρ = α(s)tr(ρ)(s),

s∈S

where dρ is the degree of ρ. Moreover, the multiplicity of λ is χ(1)2 .

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].

Proof. Suppose Γ has vertex set V , and W = C 0 (Γ, R) ∼ = RV is the R-vector


space spanned by the vertices of Γ. Part of this proof applies to any matrix
which commutes with the action of G, such as the (unweighted) adjacency
matrix A∗ or the Laplacian Q. By Schur’s Lemma3 , A∗ acts as a scalar on
each irreducible G-invariant subspace of W . In other words, the irreducible
G-invariant subspaces are eigenspaces of A∗ . If A∗ acts like θI on the irre-
ducible G-invariant subspace U = Wχ with character χ, then tr(A∗ g|U ) =
θχ(g).
Since S is a union of conjugacy classes of G, the weighted adjacency matrix
A commutes with the elements of G, and the previous discussion applies.
The regular representation of G decomposes into a direct sum of irreducible
subspaces, where for each irreducible character χ there are χ(1) copies of
Wχ . To be explicit, Wχ is spanned by vχ = (χ(g1 ), . . . , χ(gn )) and all its
images under the G-action. On each copy A acts like θI, for some θ ∈ R, and
dim(Wχ ) = χ(1), so θ has multiplicity χ(1)2 . We saw that

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

Example 2.6.6. This is an extension of (the already very long) Example


2.6.4.
Let G and Γ be as in Example 2.6.4. The unweighted adjacency matrix is
⎛ ⎞
0 0 1 1 0 0 1 0 0 0 1 1
⎜ 0 0 1 1 0 0 0 1 0 0 1 1 ⎟
⎜ ⎟
⎜ 1 1 0 0 1 1 0 0 0 1 0 0 ⎟
⎜ ⎟
⎜ 1 1 0 0 1 1 0 0 1 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 1 1 0 0 1 1 0 0 1 0 ⎟
⎜ ⎟
⎜ 0 0 1 1 0 0 1 1 0 0 0 1 ⎟

A0 = ⎜ ⎟.

⎜ 1 0 0 0 1 1 0 0 1 1 0 0 ⎟
⎜ 0 1 0 0 1 1 0 0 1 1 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 1 0 0 1 1 0 0 1 1 ⎟
⎜ ⎟
⎜ 0 0 1 0 0 0 1 1 0 0 1 1 ⎟
⎜ ⎟
⎝ 1 1 0 0 1 0 0 0 1 1 0 0 ⎠
1 1 0 0 0 1 0 0 1 1 0 0

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.

2.7 Additive Cayley graphs

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

and the graph


itself is depicted in Figure 2.9.
If χ(S) = s∈S χ(s), the values of χ(S), for χ ∈ G∗ , are listed as follows:

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.

The following result can be found in Brouwer and Haemers [BH11].

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

{χ(S) | χ ∈ G∗R } ∪ {±|χ(S)| | χ ∈ G∗ − G∗R }.

The eigenvector of χ(S), for χ ∈ G∗R , is


2.7 ADDITIVE CAYLEY GRAPHS 79

Figure 2.9: The undirected additive Cayley graph of Z/10Z with respect to S.

xχ = (χ(g1 ), . . . , χ(gn )).

Pick α = αS,χ ∈ C× so that |χ(S)| = α2 χ(S). The eigenvector of |χ(S)|, for


χ ∈ G∗ − G∗R , is

xχ,+ = (Re (αχ(g1 )), . . . , Re (αχ(gn ))).

The eigenvector of −|χ(S)|, for χ ∈ G∗ − G∗R , is

xχ,− = (Im (αχ(g1 )), . . . , Im (αχ(gn ))).

Proof. For x, y ∈ G, define x ∼ y if and only if x + y ∈ S. If the vertices of Γ


are denoted 1, . . . , n, then the (unweighted) adjacency matrix A acts on Rn
by sending a vector x = (x1 , . . . , xn ) to x = (x1 , . . . , xn ), where

xj = xi .
(i,j)∈EΓ

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

Since Γ is undirected, the spectrum is real.


If χ is a real character, then the computation displayed above tells us that
vχ is an eigenvector of A with eigenvalue χ(S). If χ is nonreal, then xχ,+
and xχ,− are eigenvectors with eigenvalues |χ(S)| and −|χ(S)|, respectively.
Indeed, the j-th component of Axχ,+ is

(Axχ,+ )j = (i,j)∈EΓ Re(αχ(gi ))

= Re(α (i,j)∈EΓ χ(gi ))

= Re(α s∈S χ(s − gj ))
= Re(α−1 χ(gj )α2 χ(S))
= |χ(S)| · Re(αχ(gj )).

An analogous definition of an additive Cayley graph associated to a subset


S ⊂ G is a graph Γ which 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. In this case,
we also require that S is symmetric: S = −S.
The next section is devoted to a class of graphs of this type.

2.7.1 Cayley graphs and p-ary functions

This section describes a type of Cayley graph attached to a p-ary function.


More details are in Chapter 6 and in Celerier, Joyner, Melles, Phillips, and
Walsh [CJMPW15].
Fix n ≥ 1 and let V = GF (p)n , where p is a prime.
If f : V → GF (p), then we let fC : V → C be the function whose values
are those of f but regarded as integers (i.e., we select the congruence class
residue representative in the interval {0, 1, . . . , p − 1}). We sometimes abuse
notation and often write f in place of fC .
Let f be a GF (p)-valued function on V such that f (0) = 0.
The Cayley graph of f is defined to be the edge-weighted directed graph

Γf = (GF (p)n , Ef ), (2.11)

whose vertex set is V = V (Γf ) = GF (p)n and whose set of edges is defined
by

Ef = {(u, v) ∈ GF (p)n | f (u − v) = 0},

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

The adjacency matrix A = Af is the matrix whose entries are

Ai,j = fC (η(i) − η(j)), (2.12)

where η(k) is the p-ary representation as in (6.5). Ignoring edge weights, we


let 
∗ 1, fC (η(i) − η(j)) = 0,
Ai,j = (2.13)
0, otherwise.

Let supp(f ) = {v ∈ V | f (v) = 0} be the support of f , let

ωf = |supp(f )|,

and let 
σf = fC (v).
v∈V

Clearly, the vertices in Γf connected to 0 ∈ V are in natural bijection with


the elements of supp(f ).
Recall that, given a graph Γ and its adjacency matrix A, the spectrum

σ(Γ) = {λ1 , λ2 , . . . , λN },

is the multi-set of real eigenvalues of A. When Γ is the Cayley graph of a


p-ary function on GF (p)n , we have N = pn . Following a standard convention,
we index the elements λi = λi (A) of the spectrum in such a way that they
are monotonically increasing. Because Γf is regular, the row sums of A are
all σf , hence the all 1’s vector is an eigenvector of A with eigenvalue σf . We
will see later (Corollary 2.7.6) that λN (A) = σf .
Let Δ denote the identity matrix multiplied by σf . The Laplacian of Γf
is the matrix Q = Δ − A.

Lemma 2.7.3. Assume f is even. As an edge-weighted graph, Γf is con-


nected if and only if λN −1 (A) < λN (A) = σf , where A is the adjacency
matrix of Equation (2.12). If we ignore edge weights, then Γf is connected if
and only if λN −1 (A∗ ) < λN (A∗ ) = ωf , where A∗ is the unweighted adjacency
matrix in (2.13).

Proof. We only prove the statement for the edge-weighted case.


Note that for i = 1, . . . , N , λi (Q) = σf − λN −i+1 (A), since det(Q − λI) =
det(σf I − A − λI) = (−1)n det(A − (σf − λ)I). Thus, λi (Q) ≥ 0, for all i.
By a theorem of Fiedler [Fi73], λ2 (Q) > 0 if and only if Γf is connected. But
λ2 (Q) > 0 is equivalent to σf − λN −1 (A) > 0. 

Recall 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.
82 2 GRAPHS AND LAPLACIANS

Our Fourier transform matrix F is not circulant, but is “block circulant.”


Like circulant matrices, it has the property that va = (ζ −
a,x | x ∈ V ) is
an eigenvector with eigenvalue λa = fˆ(−a) (something related to a value of
the Hadamard transform of f ). Thus, the proposition below shows that it
“morally” behaves like a circulant matrix in some ways.

Proposition 2.7.4. The eigenvalues λa = fˆ(−a) of this matrix F are values


of the Fourier transform of the function fC ,

fˆ(y) = fC (x)ζ −
x,y ,
x∈V

and the eigenvectors are the vectors of p-th roots of unity,

va = (ζ −
a,x | x ∈ V ).

Proof. In F = (Fi,j ), we have Fi,j = fC (η(i)−η(j)) for i, j ∈ {0, 1, . . . , pn −1}.


For each a ∈ GF (p)n , let

va = (ζ −
a,η(i) | i ∈ {0, 1, . . . , pn − 1}).

Then

F va = ( fC (x − y)ζ −
a,y | x ∈ V ).
y∈V

The entry in the i-th coordinate, where x = η(i) is given by



a,y

y∈V fC (x − y)ζ = y∈V fC (−y)ζ −
a,y+x

= ζ −
a,x y∈V fC (−y)ζ −
a,y

= ζ −
a,x y∈V fC (y)ζ
a,y

= ζ −
a,x fˆ(−a).

Therefore, the coordinates of the vector F va are the same as those of va , up to


a scalar factor. Thus λa = fˆ(−a) is an eigenvalue and va = (ζ −
a,x | x ∈ V )
is an eigenvector. 

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

Example 2.7.7. We take V = GF (3)2 and consider an even function f :


V → GF (3) given by

f (x0 , x1 ) = −x20 x21 + x20 + x0 x1 − x21 .

Its Cayley graph Γf has weighted adjacency matrix


⎛ ⎞
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 ⎟
⎜ ⎟
Aw = ⎜⎜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

As a weighted graph, the adjacency spectrum is

8, 2, 2, −1, −1, −1, −1, −4, −4,

while the Laplacian spectrum is

12, 12, 9, 9, 9, 9, 6, 6, 0.

The unweighted adjacency matrix is


⎛ ⎞
0 1 1 1 0 1 1 1 0
⎜1 0 1 1 1 0 0 1 1 ⎟
⎜ ⎟
⎜1 1 0 0 1 1 1 0 1 ⎟
⎜ ⎟
⎜1 1 0 0 1 1 1 0 1 ⎟
⎜ ⎟
A=⎜ ⎜0 1 1 1 0 1 1 1 0 ⎟.

⎜1 0 1 1 1 0 0 1 1 ⎟
⎜ ⎟
⎜1 0 1 1 1 0 0 1 1 ⎟
⎜ ⎟
⎝1 1 0 0 1 1 1 0 1 ⎠
0 1 1 1 0 1 1 1 0

As an unweighted graph, its Laplacian has eigenvalues

9, 9, 6, 6, 6, 6, 6, 6, 0,

and the adjacency matrix has eigenvalues

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.)

and is depicted in Figure 2.11.


Clearly, this is a 4-regular graph on 9 vertices. In fact, Sage allows us to
verify that it is isomorphic to the Paley graph on 9 vertices.

4
An SRG is primitive if both the graph and its complement are connected.
2.7 ADDITIVE CAYLEY GRAPHS 85

Figure 2.11: The subgraph Γ1 of Γ is isomorphic to the Paley graph on 9 vertices.

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

2.8 Graphs of group quotients

If Γ = (V, E) is a graph and G a subgroup of its automorphism group, we


define the quotient graph by G, denoted Γ/G, as follows:
1. The vertices of Γ/G are the G-orbits in V .
2. Distinct vertices v1 , v2 of Γ/G are connected by an edge if and only if
there is a vertex v1 in V belonging to the orbit v1 , and a vertex v2 in
V belonging to the orbit v2 , for which (v1 , v2 ) belongs to E.
3. Γ/G is simple.
For example, if Γ is any graph and G is any group that acts regularly5 on
Γ then Γ/G is the empty graph with one vertex.
Example 2.8.1. The graph Γ2 depicted in Figure 2.12 is a 2-fold cover6 of
the diamond graph Γ1 (isomorphic to the graph depicted in Figure 1.2).

Figure 2.12: Two depictions of a twofold cover of the diamond graph.

Moreover, the automorphism group G of Γ2 is a cyclic group of order 16


and the quotient map Γ2 → Γ1 = Γ2 /G0 is harmonic7 , where G0 is the
subgroup of order 2 generated by (0, 6)(1, 5)(2, 4)(3, 7). The Laplacian of Γ1
is

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

and the Laplacian of Γ2 is


⎛ ⎞
3 −1 0 −1 −1 0 0 0
⎜ −1 2 −1 0 0 0 0 0⎟
⎜ ⎟
⎜ 0 −1 3 −1 0 0 −1 0⎟
⎜ ⎟
⎜ −1 0 −1 2 0 0 0 0⎟
Q2 = ⎜⎜ −1
⎟.
⎜ 0 0 0 3 −1 0 −1 ⎟

⎜ 0 0 0 0 −1 2 −1 0⎟
⎜ ⎟
⎝ 0 0 −1 0 0 −1 3 −1 ⎠
0 0 0 0 −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

Recall that if Γ is a graph, we denote by σ(Γ) the spectrum of Γ, i.e., the


multi-set of eigenvalues of the adjacency matrix of A. Recall also that if G is a
finite multiplicative group, S is a subset of G such that S = S −1 , and S does
not contain the identity 1, then we denote by Cay(G, S) the Cayley graph of
the pair (G, S). The next proposition states that if S is also a generating set
of G, and if H is a “good” subgroup of G, then the spectrum of the Cayley
graph of (H, H ∩ S) is contained in a translate of the spectrum of the Cayley
graph of (G, S).

Proposition 2.8.2. Let G be a finite multiplicative group. Let H ⊂ G be


a normal subgroup. Assume that S ⊂ G is a symmetric (i.e., S = S −1 )
generating set with 1 = S such that (1) H ∩ S generates H, (2) S − H ∩ S
generates a subgroup K disjoint from H (i.e., H ∩ K = {1}), and (3) G acts
by permutations on H ∩ S via conjugations. Then
88 2 GRAPHS AND LAPLACIANS

|S − H ∩ S| + σ(Cay(H, H ∩ S)) ⊂ σ(Cay(G, S)).

Proof. If G is abelian then this follows from Proposition 2.6.2. Indeed, in this
case

σ(Cay(H, H ∩ S)) = {χ(H ∩ S) | χ ∈ H ∗ },

and

σ(Cay(G, S)) = {χ(S) | χ ∈ G∗ }.

Since G is a direct product of cyclic subgroups of prime power order, H is a


sub-product. By induction, we may assume without loss of generality that G
is cyclic and so is H. For χ ∈ G∗ such that χ|K = 1, we have

  
χ(S) = χ(s) = χ(s) + χ(s) = χ(H ∩ S) + |S − H ∩ S|,
s∈S s∈H∩S s∈S−H∩S

by our hypothesis on K = G/H.


Now, assume G is non-abelian. By Theorem 2.6.5,
 
1
σ(Cay(H, H ∩ S)) = χ(H ∩ S) | χ ∈ H ∗ ,
deg(χ)

and
 
1 ∗
σ(Cay(G, S)) = χ(S) | χ ∈ G . (2.14)
deg(χ)

We need to understand the behavior of characters under restriction. The


following fact can be found in Weintraub [Wi03] (Corollary 1.12, p. 105): Let
H ⊂ G be normal, ρ : G → Aut(V ) an irreducible representation, τ : H →
Aut(W ) an irreducible component of ResG H (ρ) = ρ|H . Then

H (ρ) = m ⊕j τj ,
ResG

for some integer m ≥ 1, where {τj } is a complete set of representatives of


conjugates of τ = τ1 under the action of G. It is easy to compute m if the
number of conjugates N = |{τj }| is known:
2.8 GRAPHS OF GROUP QUOTIENTS 89

Figure 2.13: The ladder graph L3 .

1 deg(ρ)
m= .
N deg(τ )

We assumed that S − H ∩ S generates a group K ⊂ G for which H ∩ K =


{1}. This implies that if χ = tr(ρ) and ψ = tr(τ ), then


χ(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. 

Example 2.8.3. We consider next the ladder graph of 6 vertices L3 , depicted


in Figure 2.13. The automorphism group G of L3 is the permutation group
with generators {(0, 2)(3, 5), (0, 3)(1, 4)(2, 5)}. Because G has only 4 elements,
it can’t be vertex transitive or edge transitive.
90 2 GRAPHS AND LAPLACIANS

The quotient L3 /G is the connected graph with 2 vertices.

Example 2.8.4. We continue with the weighted Cayley graph Γ of G =


D6 in Example 2.6.4 above. The following Sage computation uses the Sage
algebraic graph theory module written for this book8 . It must be loaded
before the following computations are possible.
Sage

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

0 = {0, 5, 9}, 1 = {1, 4, 8}, 2 = {2, 6, 11}, 3 = {3, 7, 10},

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

0 = {0}, 1 = {1, 3, 5}, 2 = {2, 4, 6}, 7 = {7},


8 = {8}, 9 = {9}, 10 = {10}, 11 = {11},

and the edges in Γ/G9 are as in Figure 2.14, where 0 corresponds to 0, 1


corresponds to 1, 2 corresponds to 2, 3 corresponds to 7, 4 corresponds to 8,
5 corresponds to 9, 6 corresponds to 10, and 7 corresponds to 11.

Example 2.8.5. Consider the Paley graph on 9 vertices, Γ, depicted in


Figure 1.12.

8
This module is available from the github site for this book.
2.8 GRAPHS OF GROUP QUOTIENTS 91

Figure 2.14: The group quotient graph of Γ/G3 .

The automorphism group G of Γ has order 72. The action of G on the


vertices of Γ is transitive. The action of G on the edges of Γ is also transitive.
Thus, the quotient graph Γ/G is the empty graph with one vertex.
The 2-Sylow subgroup G2 of G is order 8. The quotient graph Γ/G2 is
described as follows. Vertices of Γ:

0, 1, 2, a, a + 1, a + 2, 2a, 2a + 1, 2a + 2,

where a ∈ GF (9) − GF (3) is a root of the generating polynomial, x2 + 2x + 2.


The orbits under the G2 -action:

0 = {0}, 1 = {1, 2, a + 1, 2a + 2}, a = {a, a + 2, 2a, 2a + 1}.

The quotient graph therefore has three vertices, 0, 1, and a, with edges

(0, 1), (1, a).

The quotient graph on 3 vertices, Γ/G2 , is depicted in Figure 2.15.


92 2 GRAPHS AND LAPLACIANS

Figure 2.15: A quotient of a Paley graph created using Sage.

Definition 2.8.6. The Cartesian graph product of two graphs Γ1 = (V1 , E1 )


and Γ2 = (V2 , E2 ) is a graph Γ3 = Γ1 Γ2 with the following properties:
• The vertex set of Γ3 is the Cartesian product V1 × V2 .
• Two vertices (u1 , u2 ) and (v1 , v2 ) of Γ3 are connected by an edge if and
only if u1 = v1 and u2 is a neighbor of v2 in Γ2 or u2 = v2 and u1 is a
neighbor of v1 in Γ1 .
Exercise 2.13. Let G denote the cyclic group of order 3, Γ1 denote the cycle
graph on 3 vertices and let Γ2 denote the cycle graph on 4 vertices. Take G to
act on Γ1 in the obvious way and to act on Γ2 trivially. Let Γ = Γ1 Γ2 denote
the graph product of them, depicted in Figure 2.16. Show that Γ/G ∼ = Γ2 .

(0,0)
(0,1) (2,3)

(0,2) (2,2)

(0,3) (2,1)

(1,0) (2,0)

(1,1) (1,3)
(1,2)

Figure 2.16: A graph product of two cycle graphs.

Exercise 2.14. Let G be a finite group, and let S be a subset of G such


that S = S −1 and 1 ∈/ S. Let Γ1 denote the Cayley graph of (G, S), let Γ2
denote an arbitrary graph, and let Γ = Γ1 Γ2 denote the graph product of
them. Show that there is a natural action of G on Γ such that Γ/G ∼
= Γ2 .
2.8 GRAPHS OF GROUP QUOTIENTS 93

Example 2.8.7. Consider the symmetric group on {1, 2, 3}, G generated


by S = {(1, 2, 3), (1, 2), (1, 3, 2)}. The Cayley graph Γ2 of (G, S), depicted
in Figure 4.8, has automorphism group of order 12 (with G as a normal
subgroup). In particular, there is an action of G on Γ2 .
Let Γ1 denote the cycle graph on 5 vertices and let Γ3 denote the product
graph Γ3 = Γ1 Γ2 . This has an automorphism group of order 120, with the
automorphism group of Γ1 (a cyclic group of order 5) as a normal subgroup.
The following Sage code shows there is a copy of G in the automorphism
group of Γ3 such that Γ3 /G ∼ = Γ1 .
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: 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

Next we give a construction of a graph with a given graph quotient.


Let G be a finite group, and let S be a subset of G such that S = S −1
and 1 ∈/ S. Let Γ1 denote the Cayley graph of (G, S), and let Γ2 denote an
arbitrary graph with a distinguished vertex v0 . Let Γ3 = Γ1 Γ2 denote the
Cartesian graph product of Γ1 and Γ2 , and let Γ be the result of deleting
from Γ3 all edges of the form ((g, v), (g, v0 )) where v = v0 .
94 2 GRAPHS AND LAPLACIANS

Exercise 2.15. Show that there is a natural action of G on Γ such that


∼ Γ2 , where Γ is as in the construction above.
Γ/G =

2.8.1 Example of the Biggs–Smith graph

Consider the Biggs–Smith graph Γ, encountered in Chapter 5 on graph exam-


ples. It is a 3-regular graph with 102 vertices and 153 edges, having an auto-
morphism group G ∼ = P SL(2, 17), of order 2448, which acts regularly on it.
Using Sage, it can be shown that there is an edge e0 of Γ such that the
stabilizer of the edge e0 is a subgroup G0 of order 16. The quotient graph
Γ0 = Γ/G0 , shown in Figure 2.17, is a connected graph having 10 vertices
and 10 edges, which itself has an automorphism group of order 2.
Sage

sage: Gamma = graphs.BiggsSmithGraph()


sage: G = Gamma.automorphism_group(); G.order()
2448
sage: E = Gamma.edges(); len(E)
153
sage: V = Gamma.vertices(); len(V)
102
sage: Gamma.delete_edge(0,1)
sage: E = Gamma.edges(); len(E)
152
sage: Gamma.add_edge((0,1), label="label")
sage: E = Gamma.edges(); len(E)
153
sage: G0 = Gamma.automorphism_group(edge_labels=True); G0.order()
16

The stabilizer of the vertex 0 is a subgroup G1 of order 24. The quotient


graph Γ1 = Γ/G1 , shown in Figure 2.18, is a tree having 8 vertices and 7
edges, which itself has an automorphism group of order 2.
Sage

sage: Gamma = graphs.BiggsSmithGraph()


sage: G = Gamma.automorphism_group(); G.order()
2448
sage: G1 = Gamma.automorphism_group(partition=[[0],range(1,102)])
sage: G1.order()
24
2.8 GRAPHS OF GROUP QUOTIENTS 95

Figure 2.17: The group quotient graph of Γ/G0 .

The orbits of G1 acting on Γ are:

{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

Figure 2.18: The group quotient graph of Γ/G1 .


Chapter 3
Graphs as Manifolds

3.1 Motivation

In this chapter, we are interested in exploring questions such as the following.

Question 3.1. Do harmonic maps on a Riemann surface have an analog


for graphs?

Question 3.2. Does the Riemann–Roch theorem for Riemann surfaces have
an analog for graphs?

Question 3.3. If there is a harmonic morphism Γ2 → Γ1 , how are the


Laplacians of Γ2 , Γ1 related?

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].

3.2 Calculus on graphs

If Γ = (V, E) is a graph and F is a field such as R or GF (q) or a ring such


as Z, recall

C 0 (Γ, F ) = {f : V → F }, C 1 (Γ, F ) = {f : E → F },

are the sets of F -valued functions defined on V and E, respectively. The


notation suggests we think of the functions on vertices as continuous functions
on Γ and the functions on edges as continuously differentiable functions on

c Springer International Publishing AG 2017 97


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 3
98 3 GRAPHS AS MANIFOLDS

Γ. 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|.

The difference operator

B : C1 (Γ, F ) → C 0 (Γ,


F ),
(Bf )(v) = h(e)=v f (e) − t(e)=v f (e)

can be regarded as the “derivative operator1 on Γ.” This operator is closely


related to the incidence matrix. Indeed, with respect to the bases F and G
in Lemma 1.1.20, we have the following result.

Lemma 3.2.1. The matrix representing the linear transformation

B : C 1 (Γ, F ) → C 0 (Γ, F )

with respect to F and G is the incidence matrix.

Proof. The proof is left as an exercise. 

Think of f ∈ C 1 (Γ, F ) as a set of edge weights on the graph Γ. In some


sense, (Bf )(v) measures the total of the edge weights incident to v ∈ V .
Sometimes, a function f on E for which (Bf )(v) = 0, for all v ∈ V , is called
a flow.
Recall, from Definition 1.1.25, for any nontrivial partition

V = V1 ∪ V 2 , Vi = ∅, V1 ∩ V2 = ∅,

the set of all edges e = (v1 , v2 ) ∈ E, with vi ∈ Vi (i = 1, 2), is called a cocycle


of Γ. A cocycle with a minimal set of edges is a bond of Γ. The set of cycles
of Γ is denoted Z(Γ) and the set of cocycles is denoted Z ∗ (Γ). Recall, by
Lemma 1.1.24, the F -vector space spanned by the vector representations of
all the cycles is the cycle space of Γ,

Z(Γ) = Z(Γ, F ).

This is the kernel of the incidence matrix of Γ and may be regarded as a


subspace of C 1 (Γ, F ).
Also, recall the F -vector space spanned by the vector representations of
all the cocycles (in the sense of Definition 1.1.25) is the cocycle space of
Γ, Z ∗ (Γ) = Z ∗ (Γ, F ). This is the column space of the transpose of the

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

incidence matrix of Γ and may be regarded as a subspace of C 1 (Γ, F ) of


dimension rank(Γ).
Lemma 3.2.2. Under the inner product (1.3) on C 1 (Γ, F ), the cycle space
is orthogonal to the cocycle space.
Proof. See Proposition 4.7 in Biggs [Bi93] or Theorem 8.3.1 in Godsil and
Royle [GR01]. 
Consider a spanning tree T of a graph Γ and its complementary sub-
graph T . For each edge e of T , the graph T ∪ e contains a unique cycle. The
cycles which arise in this way are called the fundamental cycles of Γ, denoted
cyc(T, e).
First, we define a circulation on Γ = (V, E) to be a function

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

this vector space is an inner product space.

3.3 Harmonic morphisms on a graph

We will define harmonic morphisms of graphs, derive some properties, and


give some examples. We will state a Riemann–Hurwitz formula due to
Baker and Norine [BN09]. Many of the key properties of harmonic morphisms
were also originally established by Baker and Norine [BN09]. Where possible,
we have tried to describe harmonic morphisms in terms of their associated
matrices, for ease in computation.

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.1. A nonconstant graph morphism φ : Γ2 → Γ1 consists of


a map φV : V2 → V1 and a map φE : E2 → E1 ∪ V1 satisfying the following
conditions: if ei is any edge in E2 and if va is the tail vertex of ei and vb is
the head vertex of ei , then one of the following holds:
(1) φE (ei ) = fl , for some edge fl in E1 , φV (va ) is the tail vertex of fl , and
φV (vb ) is the head vertex of fl , in which case we say that φ preserves
orientation on ei , or
(2) φE (ei ) = fl , for some edge fl in E1 , φV (va ) is the head vertex of fl ,
and φV (vb ) is the tail vertex of fl , in which case we say that φ reverses
orientation on ei , or
(3) φE (ei ) = φV (va ) = φV (vb ).

Definition 3.3.2. Given a map φE : E2 → E1 ∪ V1 , an edge ei is called


horizontal if φE (ei ) ∈ E1 and is called vertical if φE (ei ) ∈ V1 .

Definition 3.3.3. We say that a graph morphism φ : Γ2 → Γ1 is a graph


homomorphism if φE (E2 ) ⊂ E1 . Thus, a graph morphism is a homomorphism
if it has no vertical edges.

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.

|φ−1 (f ) ∩ StΓ2 (v)| (3.2)


3.3 HARMONIC MORPHISMS ON A GRAPH 101

(the number of edges in Γ2 adjacent to v and mapping to the edge f in Γ1 )


is independent of the choice of edge f in StΓ1 (φ(v)). If Γ1 consists of a single
vertex and no edges, we will say that a morphism φ : Γ2 → Γ1 is harmonic.
An equivalent definition is given in Definition 3.3.16 below.
Exercise 3.1. Show that

|φ−1 (f ) ∩ StΓ2 (v)| = |{e ∈ E2 | v ∈ e and φE (e) = f }|.

Exercise 3.2. Show that the composite of harmonic morphisms is harmonic.


Example 3.3.6. Let Γ2 be the ladder graph of 6 vertices and Γ1 the path
graph of 3 vertices (depicted in Figure 3.1). Consider the morphism φ : Γ2 →
Γ1 defined by the map on vertices

φV : {0, 3} → 0, {1, 4} → 1, {2, 5} → 5.

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.

Figure 3.2: A covering graph of the cycle graph on 3 vertices.

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

Example 3.3.8. Consider the graph morphism φ : Γ2 → Γ1 from the Paley


graph on 9 vertices, Γ2 = (V2 , E2 ) (depicted in Figure 1.12) to the cycle graph
on 3 vertices, Γ1 = (V1 , E1 ), defined by the map on vertices

φV : {0, 1, 2} → 0, {a, a + 1, a + 2} → 2, {2a, 2a + 1, 2a + 2} → 1.

This morphism φ is harmonic. We examine this morphism in more detail in


later examples, e.g., Example 3.3.34.

Example 3.3.9. Consider the graph Γ2 having 9 vertices depicted in Figure


3.2.
Let Γ1 denote the cycle graph on 3 vertices. Define the morphism φ1 :
Γ2 → Γ1 by
{0, 5, 6} → 0, {1, 7, 8} → 1, {2, 3, 4} → 2,

and define the morphism φ2 : Γ2 → Γ1 by

{0, 1, 2} → 0, {3, 5, 8} → 1, {4, 6, 7} → 2.

Exercise 3.3. Show that both φ1 and φ2 are harmonic.

3.3.1 Matrix formulation of graph morphisms

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 }.

Suppose also that we have arbitrary orientations assigned to the edges of


Γ1 and Γ2 . Let B1 and B2 be the incidence matrices of Γ1 and Γ2 with respect
to the chosen orientations, i.e.,


⎨1, if wi = h(fj ),
(B1 )ij = −1, if wi = t(fj ),


0, otherwise,

and similarly for B2 .


3.3 HARMONIC MORPHISMS ON A GRAPH 103

We will now describe the maps φE and φV in terms of matrices ΦE and ΦV


(with respect to the given orientations and orderings on edges and vertices)
which satisfy certain conditions.

Definition 3.3.10. Given a graph morphism φ : Γ2 → Γ1 with an edge map


φE : E2 → E1 ∪ V1 , the signed edge map matrix with respect to the given
orientations and orderings is defined to be the m2 × m1 matrix ΦE given by


⎨1, if φE (ei ) = fl and φ preserves orientation on ei ,
(ΦE )il = −1, if φE (ei ) = fl and φ reverses orientation on ei ,


0, otherwise.

Note that ei is a horizontal edge in E2 if and only if row i of ΦE contains


exactly one nonzero entry, and ei is a vertical edge in E2 if and only if row i
of ΦE consists entirely of zeros.

Definition 3.3.11. Given graphs Γ1 and Γ2 and a map φV : V2 → V1 , the


vertex map matrix ΦV with respect to the given orientations and orderings
is defined to be the n2 × n1 matrix given by

1, if φV (vi ) = wj ,
(ΦV )ij =
0, otherwise.

Example 3.3.12. The automorphism which swaps two opposite vertices of


the cube graph Γ2 induces a graph morphism φ to its quotient, which can be
identified with the tetrahedron graph Γ1 (depicted in Figure 3.3).
Orient the edges so that (0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3) have ori-
entation +1. For a suitable labeling of the vertices of Γ2 (for instance, see
Example 3.3.35) the definition then gives us
⎛ ⎞
1 0 0 0
⎜ 0 1 0 0⎟
⎜ ⎟
⎜ 0 0 1 0⎟
⎜ ⎟
⎜ 0 0 0 1⎟
ΦV = ⎜ ⎜ ⎟,

⎜ 0 0 0 1⎟
⎜ 0 0 1 0⎟
⎜ ⎟
⎝ 0 1 0 0⎠
1 0 0 0

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.

Exercise 3.4. Suppose that φ : Γ2 → Γ1 is a graph morphism with asso-


ciated vertex map matrix ΦV and signed edge map matrix ΦE . Let ei be a
horizontal edge in Γ2 and let wj be a vertex in Γ1 . Show that
⎧ ⎫

⎨ 1, if φV (head(ei )) = wj , ⎪

(ΦE B1t )ij = −1, if φV (tail(ei )) = wj , = (B2t ΦV )ij .

⎩ ⎪

0, otherwise,
3.3 HARMONIC MORPHISMS ON A GRAPH 105

Exercise 3.5. Suppose that φ : Γ2 → Γ1 is a graph morphism with asso-


ciated vertex map matrix ΦV and signed edge map matrix ΦE . Let ei be a
vertical edge in Γ2 and let wj be a vertex in Γ1 . Show that

(ΦE B1t )ij = 0 = (B2t ΦV )ij .

The previous two exercises prove the following proposition.

Proposition 3.3.13 (Graph Morphism Identity). Suppose that Γ2 and Γ1


are connected graphs and Γ1 has at least one edge. Let B2 and B1 be the
incidence matrices with respect to fixed orderings on the vertices and edges
of the graphs and arbitrary orientations on their edges. If φ : Γ2 → Γ1 is a
graph morphism, then the associated vertex map matrix ΦV and signed edge
map matrix ΦE satisfy the identity

B2t ΦV = ΦE B1t . (3.3)

We can generalize the concept of an edge map matrix as follows.

Definition 3.3.14. If Γ1 and Γ2 are graphs and ψ is a map ψ : E2 → E1 ∪V1 ,


(not necessarily coming from a graph morphism), we say an m2 × m1 matrix
ΦE is a signed edge map matrix for ψ provided it satisfies

±1, if ψ(ei ) = fl ,
(ΦE )il =
0, otherwise,

for some choice of signs.

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 .

In the next exercise, we reformulate the idea of Proposition 3.3.13.

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

such as R, or a ring, such as Z. We will use Bi to denote both the map


C 1 (Γi , F ) → C 0 (Γi , F ) and its matrix with respect to the standard basis
corresponding to some order on the vertices and edges of Γi (see Lemma
1.1.20 and 1.4). Let Bi∗ be the dual to Bi . Show that there are maps ΦV and
ΦE such that the following diagram is commutative:
B∗1
C 0 (Γ1 , F ) −−−− → C 1 (Γ1 , F )
⏐ ⏐
ΦV 
⏐ ΦE 

B∗2
C 0 (Γ2 , F ) −−−− → C 1 (Γ2 , F )

3.3.2 Identities for harmonic morphisms

In this section, we will describe a nonconstant harmonic morphism φ in


terms of its associated matrices and establish some identities relating these
matrices. We begin by discussing ways to count horizontal and vertical edges
adjacent to a vertex in the domain. For a harmonic morphism φ, we define
a multiplicity-vertex map matrix ΦmV which is a product Mφ ΦV of a diago-
nal matrix of horizontal multiplicities with the vertex map matrix. Identities
relating ΦmV with the incidence and Laplacian matrices will be used in a later
section to prove the existence of induced pushforward and pullback maps on
the Jacobian groups (as defined in §4.6 below) of the graphs.
Let Γ1 and Γ2 be connected graphs. Let φ : Γ2 → Γ1 be a graph morphism.
Unless stated otherwise, we will assume that Γ1 has at least one edge.

Definition 3.3.15. Given a vertex v of Γ2 and an edge f of Γ1 , we define


the local horizontal multiplicity of φ at v and f to be

μφ (v, f ) = |{e ∈ E2 | v ∈ e and φE (e) = f }|,

i.e., the local horizontal multiplicity of φ at v and f is the number of edges


in Γ2 which are adjacent to v and map to f . An element of {e ∈ E2 | v ∈
e and φE (e) = f } is called a horizontal edge. In other words, it is an edge of
Γ2 that does not get mapped to a vertex of Γ1 .

We now restate the definition of a harmonic morphism (see Definition


3.3.5) in terms of the local horizontal multiplicity.

Definition 3.3.16. Let φ : Γ2 → Γ1 be a morphism of connected graphs. If


Γ1 has at least one edge, we say that φ is harmonic if, for each vertex v ∈ V2 ,
the local horizontal multiplicity μφ (v, f ) is the same for all edges f such that
φV (v) ∈ f . If Γ1 consists of a single vertex and no edges, we say that every
graph morphism φ : Γ2 → Γ1 is harmonic.
3.3 HARMONIC MORPHISMS ON A GRAPH 107

Lemma 3.3.17. The definition of harmonic in Definition 3.3.5 agrees with


the definition of harmonic in Definition 3.3.16.

Proof. This follows from the fact that μφ (v, f ) = |φ−1 (f ) ∩ StΓ2 (v)|. 

Definition 3.3.18. If φ : Γ2 → Γ1 is harmonic and Γ1 has at least one edge,


the horizontal multiplicity of φ at v ∈ V2 is defined to be

mφ (v) = μφ (v, f ) for any edge f such that φV (v) ∈ f.

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 .

Definition 3.3.19. If φ is harmonic, the vertical multiplicity of φ at v ∈ V2


is defined to be

νφ (v) = |{e ∈ E2 | v ∈ e and φE (e) = φV (v)}|.

Recall, an element of {e ∈ E2 | v ∈ e and φE (e) = φV (v)} is called a


vertical edge. In other words, it is an edge of Γ2 which is sent to a vertex of
Γ1 .
The following lemma is a direct consequence of the definitions.

Lemma 3.3.20. For any vertex v ∈ V2 ,

deg(v) = mφ (v)deg(φV (v)) + νφ (v).

The following exercise gives a way of calculating vertical multiplicities in


terms of the signed edge map matrix and one of the incidence matrices.

Exercise 3.8. Suppose that φ : Γ2 → Γ1 is a harmonic morphism of con-


nected graphs and Γ1 has at least one edge. Let va be a vertex of Γ2 . Show
that the vertical multiplicity of φ at va is given by
 

m2 
m1
νφ (va ) = |(B2 )aj | 1 − |(ΦE )jk | .
j=1 k=1

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.

Exercise 3.9. Let φ : Γ2 → Γ1 be a graph morphism of connected graphs,


where Γ1 has at least one edge. Suppose that va ∈ V2 , ek ∈ E2 , and fl ∈ E1 .
Show that
108 3 GRAPHS AS MANIFOLDS


⎨1, if va ∈ ek and φE (ek ) = fl and φV (va ) = head(fl ),
(B2 )ak (ΦE )kl = −1, if va ∈ ek and φE (ek ) = fl and φV (va ) = tail(fl ),


0, otherwise.

Exercise 3.10. Let φ : Γ2 → Γ1 be a graph morphism of connected graphs,


where Γ1 has at least one edge. Suppose that va ∈ V2 and fl ∈ E1 . Let ã be
the index such that wã = φV (va ). Use Exercise 3.9 to show that

(B2 ΦE )al = μφ (va , fl )(B1 )ãl .

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.

Example 3.3.34 below discusses this in more detail.

In the case in which φ is harmonic, we can restate the result of Exercise


3.10 above as follows.

Lemma 3.3.22. Let φ : Γ2 → Γ1 be a harmonic graph morphism of con-


nected graphs, where Γ1 has at least one edge. Suppose that va ∈ V2 and
fl ∈ E1 . Let ã be the index such that wã = φV (va ). Then

(B2 ΦE )al = mφ (va )(B1 )ãl .

We now define the multiplicity-vertex map matrix and prove our first
identity for harmonic morphisms.

Definition 3.3.23. Let φ : Γ2 → Γ1 be a harmonic graph morphism of


connected graphs. Let ni be the number of vertices of Γi and let ΦV be the
n2 × n1 vertex map matrix (with respect to a given ordering on the vertices).
We define Mφ to be the n2 × n2 diagonal matrix of multiplicities of vertices
of Γ2 , given by
(Mφ )ii = mφ (vi ).

The multiplicity-vertex map matrix is defined to be the product matrix

ΦmV = Mφ ΦV .

Proposition 3.3.24 (Incidence matrix identity for harmonic morphisms).


Let φ : Γ2 → Γ1 be a harmonic graph morphism of connected graphs, where
Γ1 has at least one edge. Then

B2 ΦE = ΦmV B1 , (3.4)
3.3 HARMONIC MORPHISMS ON A GRAPH 109

where B1 and B2 are the incidence matrices of Γ1 and Γ2 , ΦE is the signed


edge map matrix of φ, and ΦmV is the multiplicity-vertex map matrix of φ.

Proof. Suppose that va ∈ V2 and fl ∈ E1 . Let ã be the index such that


wã = φV (va ). If φ is harmonic then


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.

Thus, if φ is harmonic, B2 ΦE = ΦmV B1 . 

Our next exercise shows that the existence of a diagonal matrix Mφ such
that ΦmV = Mφ ΦV satisfies identity 3.4 characterizes harmonic morphisms.

Exercise 3.11. Let φ : Γ2 → Γ1 be a graph morphism of connected graphs,


where Γ1 has at least one edge. If there exists an n2 × n2 diagonal matrix Mφ
such that the matrix product ΦmV = Mφ ΦV satisfies Equation (3.4), then φ
is harmonic.

In the following exercise, we reformulate the idea of Proposition 3.3.24.

Exercise 3.12. Suppose that φ : Γ2 → Γ1 is a harmonic morphism of con-


nected graphs and Γ1 has at least one edge. Let F be a field, such as R, or
a ring, such as Z. Suppose that φ : Γ2 → Γ1 is a graph morphism. We will
use Bi to denote both the map C 1 (Γi , F ) → C 0 (Γi , F ) and its matrix with
respect to the standard basis corresponding to some order on the vertices
and edges of Γi (as in Lemma 1.1.20). Show that there are maps ΦmV and
ΦE such that the following diagram is commutative:

B 1
C 1 (Γ1 , F ) −−−− → C 0 (Γ1 , F )
⏐ ⏐
ΦE 
⏐ ΦmV 

B 2
C 1 (Γ2 , F ) −−−− → C 0 (Γ2 , F )

The following identity involving Laplacian matrices will be used in a later


section to establish properties of induced pushforward and pullback maps on
the Jacobian groups of the graphs (see Propositions 4.8.4 and 4.8.2). Recall
that the Laplacian matrices of Γ1 and Γ2 are

Q1 = B1 B1t and Q2 = B2 B2t .


110 3 GRAPHS AS MANIFOLDS

Proposition 3.3.25 (Laplacian matrix identity for harmonic morphisms).


If φ : Γ2 → Γ1 is a nonconstant harmonic morphism,

Q2 ΦV = ΦmV Q1 . (3.5)

Equivalently, since Q1 and Q2 are symmetric,

ΦtV Q2 = Q1 ΦtmV . (3.6)

Proof. Recall from Proposition 3.3.13 that

B2t ΦV = ΦE B1t .

Multiplying on the left by B2 gives

B2 B2t ΦV = B2 ΦE B1t .

Applying Proposition 3.3.24 to the right side of this equation gives

B2 B2t ΦV = ΦmV B1 B1t ,

i.e.,
Q2 ΦV = ΦmV Q1 .

Exercise 3.13. Suppose that φ : Γ2 → Γ1 is a nonconstant harmonic mor-


phism of connected graphs. Let F be a field, such as R, or a ring, such as Z.
Suppose that φ : Γ2 → Γ1 is a graph morphism. We will use Qi to denote
both the Laplacian map C 0 (Γi , F ) → C 0 (Γi , F ) and the Laplacian matrix
with respect to the standard basis corresponding to some order on the ver-
tices Γi (see Lemma 1.1.20). Show that there are maps ΦV and ΦmV such
that the following diagram is commutative:
Q1
C 0 (Γ1 , F ) −−−−→ C 0 (Γ1 , F )
⏐ ⏐
ΦV 
⏐ ΦmV 

Q2
C 0 (Γ2 , F ) −−−−→ C 0 (Γ2 , F )

Next we will show that if φ : Γ2 → Γ1 is a nonconstant harmonic mor-


phism, then each edge in Γ1 has the same number of pre-images in Γ2 .

Definition 3.3.26. Let φ : Γ2 → Γ1 be a graph morphism of connected


graphs, where Γ1 has at least one edge. Let f be an edge of Γ1 . We define
the local degree of φ at f to be
3.3 HARMONIC MORPHISMS ON A GRAPH 111

dφ (f ) = |{e ∈ E2 |φE (e) = f }|,

i.e., dφ (f ) is the number of horizontal edges in E2 that are mapped to the


edge f ∈ Γ1 by φE .

Lemma 3.3.27. Let φ : Γ2 → Γ1 be a graph morphism of connected graphs,


where Γ1 has at least one edge. Let f be an edge of Γ1 and let w be a vertex
adjacent to f . Then 
dφ (f ) = μφ (v, f ),
v∈φ−1
V (w)

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. Every edge in Γ2 that maps to f must be adjacent to a vertex that


maps to w, by items (1) and (2) of the definition of a graph morphism. 

Corollary 3.3.28. Let φ : Γ2 → Γ1 be a harmonic graph morphism of con-


nected graphs, where Γ1 has at least one edge. Let f be an edge of Γ1 and let
w be a vertex adjacent to f . Then

dφ (f ) = mφ (v).
v∈φ−1
V (w)

Lemma 3.3.29. Let φ : Γ2 → Γ1 be a harmonic graph morphism of con-


nected graphs, where Γ1 has at least one edge. Then the local degree dφ (f ) of
φ at f is the same for all edges f ∈ Γ1 , i.e., each edge in Γ1 has the same
number of pre-images in Γ2 .

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)

Lemma 3.3.30. If φ : Γ2 → Γ1 is a nonconstant harmonic morphism of


connected graphs, then all edges and vertices of Γ1 are in the image of φ.

Proof. If φ is nonconstant, then φE maps onto at least one edge in Γ1 . Since


all edges in Γ1 have the same number of pre-image edges in Γ2 , it follows
that all edges in Γ1 , and hence all vertices in Γ1 , are in the image of φ. 

Thus we can make the following definition.


112 3 GRAPHS AS MANIFOLDS

Definition 3.3.31. Let φ : Γ2 → Γ1 be a harmonic morphism of connected


graphs. If Γ1 has at least one edge, we define the degree of φ to be

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.

Lemma 3.3.32. If φ is harmonic and wp is any vertex in V1 , then



deg(φ) = mφ (v) (3.7)
v∈Φ−1
V (wp )

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 . 

Lemma 3.3.33. If φ is harmonic then


(1)
ΦtV ΦmV = deg(φ)In1 ,

where In1 is the n1 × n1 identity matrix, and


(2)
ΦtE ΦE = deg(φ)Im1 ,

where Im1 is the m1 × m1 identity matrix.

Proof. Note that



mφ (vk ), if φV (vk ) = wp ,
(ΦmV )kp =
0, otherwise.

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 =

For the identity involving ΦE , note that


m2
(ΦtE ΦE )ij = (ΦE )ki (ΦE )kj
k=1

m2 2
k=1 (ΦE )ki , if i = j,
=
0,  j.
if i =

Since (ΦE )ki is 1 or -1 if φ(ek ) = fi , and is 0 otherwise, the quantity


 m2 2
k=1 (ΦE )ki is the number of horizontal edges in Γ2 mapping to the edge fi
in Γ1 , which is deg(φ). 

Example 3.3.34. There is a morphism φ from the Paley graph on 9 vertices,


Γ2 (depicted in Figure 1.12) to the cycle graph on 3 vertices, Γ1 , given by
the map of vertices

φV : {0, 1, 2} → 0, {a, a + 1, a + 2} → 2, {2a, 2a + 1, 2a + 2} → 1. (3.9)

This is a harmonic morphism from this Paley graph to a graph with 3


vertices. We can check that in this case, the eigenvalues and eigenvectors of
the Laplacians on these graphs are closely related, as Theorem 3.3.44 below
predicts. However, this morphism does have vertical edges (so is not a cover
in the sense of §3.4 but what we call it a quasicover).
Sage

sage: Gamma2 = graphs.PaleyGraph(9); Gamma2


Paley graph with parameter 9: Graph on 9 vertices
sage: V2 = Gamma2.vertices(); V2
[0, 1, 2, a, a + 1, a + 2, 2*a, 2*a + 1, 2*a + 2]
sage: Gamma1 = graphs.CycleGraph(3); Gamma1
Cycle graph: Graph on 3 vertices
sage: V1 = Gamma1.vertices(); V1
[0, 1, 2]
sage: Q2 = Gamma2.laplacian_matrix()
sage: E2 = Q2.right_eigenspaces()
sage: Q2.eigenvalues()
114 3 GRAPHS AS MANIFOLDS

[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]

Next, using Sage, we compute the matrix ΦV associated to φ.


Sage tells us that
⎛ ⎞
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

Now look at the image of the eigenvectors under ΦV . Sage computations


show:

• the vector

v0 = (1, 1, 1, 1, 1, 1, 1, 1, 1)

is an eigenvector of Q2 having eigenvalue λ = 0 and

v0 ΦV = (3, 3, 3).

• the vectors

x1 = (1, 0, −1, 0, 0, 0, 0, 1, −1), x2 = (0, 1, −1, 0, 0, 0, −1, 1, 0),

x3 = (0, 0, 0, 1, 0, −1, 1, −1, 0), x4 = (0, 0, 0, 0, 1, −1, 1, 0, −1),

are eigenvectors of Q2 having eigenvalue λ = 6 and

xi ΦV = (0, 0, 0), i = 1, 2, 3, 4.

• the vectors

x5 = (1, 0, 0, 0, 1, 0, −1, −1, 0), x6 = (0, 1, 0, 0, 0, 1, 0, −1, −1),

x7 = (0, 0, 1, 0, −1, −1, 0, 1, 0), x8 = (0, 0, 0, 1, 1, 1, −1, −1, −1),


3.3 HARMONIC MORPHISMS ON A GRAPH 115

are eigenvectors of Q2 having eigenvalue λ = 3 and

xi ΦV = (1, −2, 1), i = 5, 6,

while

x7 ΦV = (1, 1, −2), x8 ΦV = (0, −3, 3).

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),

the orientation +1. Likewise, give the edges of Γ2 ,

(0, 1), (0, 2), (1, 2),

the orientation +1. The signed incidence matrix of Γ1 is


⎛ ⎞
1 1 0
B1 = ⎝ −1 0 1⎠
0 −1 −1

and the signed incidence matrix of Γ2 is


116 3 GRAPHS AS MANIFOLDS

⎛ ⎞
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

For the function in (3.9), 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

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

We leave it as an exercise to check that ΦV B1 = B2 ΦE .

Example 3.3.35. We return to the graph morphism in Example 3.3.12


sending the cube graph Γ2 to the tetrahedron graph Γ1 . If the vertices
3.3 HARMONIC MORPHISMS ON A GRAPH 117

of Γ2 are placed at the coordinates of the unit cube in R3 , the morphism


f : Γ2 → Γ1 is given by

f : {000, 111} → 0, {001, 110} → 1, {010, 101} → 2, {100, 011} → 3,

and the edges of Γ1 ,

(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)

have orientation +1. For this function, we have


⎛ ⎞
1 0 0 0
⎜ 0 1 0 0⎟
⎜ ⎟
⎜ 0 0 1 0⎟
⎜ ⎟
⎜ 0 0 0 1⎟
ΦV = ⎜ ⎜ ⎟,

⎜ 0 0 0 1⎟
⎜ 0 0 1 0⎟
⎜ ⎟
⎝ 0 1 0 0⎠
1 0 0 0

and, for a suitable orientation of the edges of Γ2 ,


⎛ ⎞
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

It is left as an exercise to verify ΦtE ΦE = 2I6 (the 6 × 6 scalar matrix with


2s on the diagonal) and ΦtV ΦV = 2I4 .
118 3 GRAPHS AS MANIFOLDS

3.3.3 Covering maps

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.

Definition 3.3.36. A harmonic morphism φ : Γ2 → Γ1 is called a covering


if there are no vertical edges and all the horizontal multiplicities mφ (vi ) at
vertices vi in Γ2 are equal to 1. Thus ΦmV = ΦV for a covering. The degree
d = deg(φ) of φ is called the degree of the covering.

We give two generalizations of coverings, for which many of our results for
coverings also hold.

Definition 3.3.37. If φ is a harmonic morphism such that all horizontal


multiplicities mφ (wi ) at vertices wi are equal to a constant m and Γ has no
vertical edges, then we call φ a multicover.

Definition 3.3.38. If φ is a harmonic morphism, possibly with vertical


edges, such that all horizontal multiplicities mφ (wi ) at vertices wi are
equal to a constant m, then we call φ a quasi-multicover. If m = 1, then
we call φ a quasicover.

Thus, a cover is a special case of a multicover, in which the horizontal


multiplicity m is 1. A multicover is a special case of a quasi-multicover. A
quasi-multicover may have vertical edges but a multicover does not. For a
cover, the multiplicity-vertex map matrix ΦmV and the vertex map matrix ΦV
are equal. For a multicover or quasi-multicover with horizontal multiplicity
m, we have ΦmV = mΦV .

Example 3.3.39. This is a continuation of Example 3.3.9.


Let φ1 and φ2 denote the morphisms from Γ2 to Γ1 defined in Example
3.3.9. We know that they are both harmonic. Note that the cyclic group of
order 3, G, acts on Γ2 and that φ2 is the quotient map Γ2 → Γ2 /G ∼
= Γ1 .

Exercise 3.14. Show that φ1 and φ2 are both quasicovers.

We will now state our previous identities for harmonic morphisms for the
special case of coverings.

Proposition 3.3.40 (Identities for coverings). If φ : Γ2 → Γ1 is a noncon-


stant covering of degree d, then the following three identities hold:

B2 ΦE = ΦV B1 (3.10)

Q2 ΦV = ΦV Q1 (3.11)
3.3 HARMONIC MORPHISMS ON A GRAPH 119

ΦtV ΦV = dIn1 , (3.12)

where n1 is the number of vertices of Γ1 and In1 is the n1 ×n1 identity matrix.

Definition 3.3.41. The edge Laplacian matrix Q̃ of a graph Γ with inci-


dence matrix B is defined to be

Q̃ = B t B.

Proposition 3.3.42. Let φ : Γ2 → Γ1 be a nonconstant covering. Then

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.

3.3.4 Graph spectra for harmonic morphisms

In this section, we will relate the eigenvalues and eigenvectors of Q1 and


ΦtV Q2 ΦV . We will also prove a slightly stronger statement for covering maps.

Theorem 3.3.43. Let φ : Γ2 → Γ1 be a nonconstant harmonic morphism.


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 v be an eigenvector of Q1 corresponding to an eigenvalue
λ. Then v is an eigenvector of the matrix

ΦtV Q2 ΦV

corresponding to an eigenvalue deg(φ)λ.

Proof. If v is an eigenvector of Q1 corresponding to an eigenvalue λ, then


120 3 GRAPHS AS MANIFOLDS

ΦtV Q2 ΦV x = ΦtV ΦmV Q1 x by Proposition 3.3.25


= deg(φ)λx by Lemma 3.3.33


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λ.

3.3.5 Riemann–Hurwitz formula

By a graph, we mean a finite connected multigraph without loops. Recall


that we define the genus of a graph Γ as

genus(Γ) = |E(Γ)| − |V (Γ)| + 1.

Riemann–Hurwitz formula (classical)


The following statement is the Riemann–Hurwitz formula for graphs (see
Baker and Norine [BN09]).
Theorem 3.3.45. (Riemann–Hurwitz formula for graphs, Baker and
Norine) Let φ : Γ2 → Γ1 be a harmonic morphism. Then
3.4 G-EQUIVARIANT COVERING GRAPHS 121

 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Γ

where Gv denotes the stabilizer of v in G.


Example 3.3.48. Consider the example of the Paley graph having 9 ver-
tices, Γ. The automorphism group G has order 72. The genus of Γ is 10. The
quotient Γ/G is the trivial graph, so has genus 0. The group G satisfies

(|Gv | − 1) = 63.
v∈VΓ

Therefore, genus(Γ) − 1 = 9, and |G|(genus(Γ/G) − 1) = −72, so the right-


hand side is −9 and the left-hand side is 9. Indeed, there are edges of Γ fixed
by a nontrivial automorphism.

3.4 G-equivariant covering graphs

If Γ = (V, E) is a graph and v ∈ V is a vertex, recall that NΓ (v) denotes the


set of neighbors of v in Γ, i.e., the set of all vertices adjacent to v. Other than
v itself, these are the vertices of the star graph StΓ (v) (in Definition 3.3.4).
122 3 GRAPHS AS MANIFOLDS

Let Γ1 = (V1 , E1 ) and Γ2 = (V2 , E2 ) be two graphs, and let φ : Γ2 → Γ1


be a surjection (so φ|V2 : V2 → V1 and φ|E2 : E2 → E1 are surjections). Then
φ is a covering map from Γ2 to Γ1 if for each v ∈ V2 ,
φ|NΓ2 (v) : NΓ2 (v) → NΓ1 (φ(v))

is a bijection onto the neighborhood of φ(v) ∈ V1 in Γ1 . In other words,


φ maps edges incident to v one-to-one onto edges incident to φ(v). In this
case, we call Γ2 a covering graph, or lift, of Γ1 . Such a covering graph has an
automorphism (or covering transformation) if there is a graph automorphism
α ∈ Aut(Γ2 ) such that φ ◦ α = φ. In other words, the diagram
α
Γ2 −−−−→ Γ2
⏐ ⏐

φ

φ

id
Γ1 −−−−→ Γ1

commutes. Such an automorphism of the cover is an element of Aut(Γ2 ) whose


restriction determines an action on each of the fibers φ−1 (v), for v ∈ V1 . The
group of all such automorphisms is denoted Aut(Γ2 /Γ1 ). If G ⊂ Aut(Γ2 /Γ1 )
is a subgroup, then such a covering graph is called a G-cover. If this action is
transitive on each fiber, then we call the cover Galois. In this case, the group
of all such automorphisms is denoted Gal(Γ2 /Γ1 ).
The following interesting example can be found in Terras [Te10].

Example 3.4.1. This is a continuation of Example 3.3.12. There is an action


of G = Z/2Z on the cube graph in R3 which allows it to be regarded as a
G-cover of the tetrahedron graph. Indeed, each of the four vertices of the
tetrahedron lifts to one of the four pairs of vertices of the cube graph of
the form (vertex, antipode vertex). The G-action on the vertices of the cube
graph is simply to swap each vertex with its antipode.

For the construction below, we recall a general graph-theoretical construc-


tion. Let Γ1 = (V1 , E1 ) and Γ2 = (V2 , E2 ) be arbitrary graphs. Fix a vertex
v0 of Γ2 (the root). The rooted graph product of Γ1 and Γ2 , denoted
Γ1 ◦ Γ 2 ,

is obtained by replacing each vertex of Γ1 by v0 , along with the rest of Γ2 .


An example of a rooted graph product is given in Figure 3.2.
The Jacobian, defined in (3.16), of such graphs is easily computed (see
Exercise 4.12 below for a more general result).

Lemma 3.4.2. The rooted graph product satisfies


Jac(Γ1 ◦ Γ2 ) = Jac(Γ1 ) × Jac(Γ2 )n ,

where n is the number of vertices of Γ1 .


3.4 G-EQUIVARIANT COVERING GRAPHS 123

Theorem 3.4.3. Given a finite group G and a graph Γ, there is a graph Γ


with the following properties:
• G acts on Γ.
• The quotient graph Γ/G is isomorphic to Γ and the quotient map Γ → Γ
is harmonic.
• Γ is a quasicovering of Γ.
• The action of G on Γ induces an action on the Jacobian Jac(Γ) and we
have a natural isomorphism

Jac(Γ)/G ∼
= Jac(Γ).

Proof. The proof, by construction, is very simple. Pick a set S of generators


of G which does not contain the identity and which is symmetric (i.e., S is
closed under taking inverses). Let

Γ = 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

Figure 3.4: A covering graph of Γ = ({0, 1}, {(0, 1)}).


124 3 GRAPHS AS MANIFOLDS

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)},

E2 = span{(1, 0, 0, −1, 1, 0, 0, −1),


(0, 1, 0, 1, −1, 0, −1, 0), (0, 0, 1, 1, −1, −1, 0, 0)},

E3 = span{(1, 0, 0, −1, −1, 0, 0, 1),


(0, 1, 0, −1, −1, 0, 1, 0), (0, 0, 1, −1, −1, 1, 0, 0)},

and
E4 = span{(1, −1, −1, 1, −1, 1, 1, −1)}.

For the Laplacian of Γ1 , the eigenvalues are λ1 = 0, λ2 = 4, and the


corresponding (right) eigenspaces are

E1 = span{(1, 1, 1, 1)},

E2 = span{(1, 0, 0, −1), (0, 1, 0, −1), (0, 0, 1, −1)}.

It is left as an exercise to verify that ΦV (E1 (Γ1 )) ⊂ E1 (Γ2 ).


Example 3.4.6. We continue Example 3.3.34, with φ denoting the mor-
phism from the Paley graph on 9 vertices, Γ2 (depicted in Figure 1.12), to
the cycle graph on 3 vertices, Γ1 . The morphism φ defined by the map of
vertices

φV : {0, 1, 2} → 0, {α, α + 1, α + 2} → 2, {2α, 2α + 1, 2α + 2} → 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

This matrix sends the (one-dimensional) eigenspace of the Laplacian of Γ1


with eigenvalue 0 to the eigenspace of the Laplacian of Γ2 with eigenvalue 0.
This matrix also sends the (two-dimensional) eigenspace of the Laplacian of
Γ1 with eigenvalue 3 to the (four-dimensional) eigenspace of the Laplacian of
Γ2 with eigenvalue 3.
Suppose that G ⊂ Aut(Γ2 ) is a group of automorphisms of a graph Γ2 .
Then G acts harmonically on Γ2 if for any subgroup K ⊂ G, the quotient
map Γ2 → Γ2 /K is a harmonic morphism. We say G acts freely on Γ2 if
g ∈ G and x ∈ V2 satisfy gx = x then g = 1. We say G acts transitively on
Γ2 if for each pair x, y ∈ V2 there exists a g ∈ G such that gx = y. See Corry
[Co11] for a proof of the following lemma.
Lemma 3.4.7. (Corry and Nedela) A nontrivial group G acts harmonically
on a graph Γ if and only if it acts freely3 on the set of edges of Γ.
For example, the cycle group Cn acts transitively without fixed points on
the (edges of the) cycle graph having n vertices, so that action is harmonic.
To obtain a correct graph-theoretic analog of the “Galois theory” of cover-
ings of Riemann surfaces, Terras works with non-simple graphs. The follow-
ing result may be found in Terras [Te10] (see Chapters 13 and 14 in Terras
[Te10]).
Theorem 3.4.8. (“Fundamental Theorem of Galois Theory”) Suppose π :
Γ2 → Γ1 is an unramified normal covering with Galois group G = Gal
(Γ2 /Γ1 ). Assume the graphs Γi satisfy the conditions in Terras [Te10].
1. Given a subgroup H of G, there exists a unique graph Γ intermediate to
Γ2 → Γ1 such that H = Gal(Γ2 /Γ). Define the map σ from subgroups
of G to intermediate graphs by σ(H) = Γ.
2. Suppose Γ is intermediate to Γ2 → Γ1 . Then there is a unique subgroup
H of G which equals Gal(Γ2 /Γ). Define the map τ from intermediate
graphs to subgroups of G by τ (Γ) = H.

3 To be clear, if an edge is flipped by an element of G, then it is not fixed, according to the

definition Corry gives.


126 3 GRAPHS AS MANIFOLDS

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 .

3.5 A Riemann–Roch theorem on graphs

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.

3.5.1 Divisors and the Jacobian

We define a divisor on Γ to be an expression of the form



D= D(v)v,
v∈V

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

where A is the adjacency matrix of Γ. Note that if we fix an ordering


v1 , v2 , . . . , vn of the vertices of Γ and represent f and div(f ) as vectors, then
we can write div(f ) = Qf , where Q is the Laplacian matrix of Γ.
The set of principal divisors Prin(Γ) forms a subgroup of Div0 (Γ). The
quotient group is the Jacobian

Jac(Γ) = Div0 (Γ)/Prin(Γ). (3.16)

Suppose that φ : Γ2 → Γ1 is a nonconstant harmonic morphism. We will


show later that φ determines a pushforward map

φ∗ : Jac(Γ2 ) → Jac(Γ1 )

which is surjective (Proposition 4.8.4) and a pullback map

φ∗ : Jac(Γ1 ) → Jac(Γ2 )

which is injective (Proposition 4.8.2).

3.5.2 Linear systems on graphs

We say that divisors D and D are linearly equivalent and write D ∼ D


if D − D is a principal divisor, i.e., if D = D + div(f ) for some function
f : V → Z. Note that if D and D are linearly equivalent, they must have the
same degree, since the degree of every principal divisor is 0. Divisors of degree
0 are linearly equivalent if and only if they determine the same element of
the Jacobian. If D is a divisor of degree 0, we denote by [D] the element of
the Jacobian determined by D.
A divisor D is said to be effective if D(v) ≥ 0 for all vertices v. We write
D ≥ 0 to mean that D is effective.
The linear system associated to a divisor D is the set

|D| = {D ∈ Div(Γ) : D ≥ 0 and D ∼ D},

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,

|D| = {(0, 2, 0, 0), (0, 0, 0, 2), (1, 0, 1, 0)}.

Definition 3.5.2. The dimension r(D) of a linear system |D| is defined as


follows. If |D| is empty, r(D) = −1. Otherwise, if |D| is non-empty, r(D) is the
largest nonnegative integer d such that, for all effective divisors D of degree
d, |D − D | is non-empty. We will also refer to r(D) as the Riemann–Roch
dimension of D.

Note that the only effective divisor D of degree d = 0 is D = 0, so if |D|


is non-empty, then r(D) ≥ 0. Also, if deg(D ) > deg(D), then D − D has
negative degree and |D − D | is empty, so r(D) ≤ deg(D). If deg(D) = 0,
then r(D) = 0 if D ∼ 0, and r(D) = −1 otherwise.

3.5.3 Non-special divisors

The notion of a non-special divisor is central in Baker and Norine’s proof of


the Riemann–Roch theorem for graphs.

Definition 3.5.3. A divisor υ on a graph Γ is called non-special if


1. deg(υ) = g − 1, where g is the genus of Γ, and
2. |υ| = φ, i.e., the linear system associated to υ is empty.
The collection of all non-special divisors on Γ is denoted N .

Note that if υ is a non-special divisor, then so is υ  , for all divisors υ  which


are linearly equivalent to υ.
We first show that non-special divisors always exist, using an algorithm of
Baker and Norine [BN07].

Lemma 3.5.4. Let P = (v1 , v2 , . . . , vn ) be an ordering of the vertices of Γ,


and let A be the adjacency matrix of Γ with respect to this ordering, i.e., Aij
is the number of edges between vertices vi and vj . Let υP be the divisor given
by 
−1, if i = 1,
υP (vi ) = i−1
−1 + j=1 Aij , if i ≥ 2.

Then υP is non-special.

We will call υP the non-special divisor determined by the ordering P .


3.5 A RIEMANN–ROCH THEOREM ON GRAPHS 129

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.

Proof. Let υ = υP . The degree of υ is



deg(υ) = −n + Aij
j<i

1
n
= −n + deg(vi )
2 i=1
= −|V | + |E|
= g − 1.

Next, we will show that no divisor linearly equivalent to υ can be effective,


so that |υ| must be empty.
Suppose that υ is linearly equivalent to an effective divisor D. Let Q be
the Laplacian matrix with respect to the vertex ordering v1 , v2 , . . . , vn . Then
D must satisfy the equation

D − Qx = υ,

for some n-vector x = (x1 , x2 , . . . , xn ) of integers. We can assume that xi ≥ 0


for all i and xi = 0 for at least one i, since if x differs from x by a multiple
of the all 1’s vector, then Qx = Qx.
Let vk be the lowest index vertex such that xk = 0. Then

υ(vk ) = D(vk ) − (Qx)k



= D(vk ) + xi Aki
i=k

≥ Ak1 + Ak2 + · · · + Ak,k−1 since D(vk ) ≥ 0.

This is a contradiction, because υ(vk ) = Ak1 + Ak2 + · · · + Ak,k−1 − 1.


Thus, no divisor linearly equivalent to υ can be effective, so υ is non-
special. 

The next proposition is key to proving the Riemann–Roch theorem. It


relies on a result which we will not prove until the next chapter. First, we
state two definitions.

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

Definition 3.5.7. Let q be any vertex in Γ. We say that a divisor D is


q-reduced if D(v) ≥ 0 for all v = q, and for each set W ⊂ V \ {q}, there exists
a vertex v in W such that D(v) < outdegW (v).
Reduced divisors are closely related to reduced configurations4 , studied in
the next chapter. In fact, we will show there (see Proposition 4.5.7) that
for each divisor D of degree 0 and for each vertex q, there is a unique
q-reduced divisor linearly equivalent to D. It follows that for each divisor
D of any degree and for each vertex q, there is a unique q-reduced divisor
linearly equivalent to D.
Example 3.5.8. If Γ = (V, E) denotes the tetrahedron graph on 4 vertices
v1 (= q), v2 , v3 , v4 (depicted in Figure 1.1), then there are exactly 16 q-reduced
divisors of degree 0. If we denote the divisor D = av1 + bv2 + cv3 + dv4 by
[a, b, c, d], then these reduced divisors are

[−3, 0, 1, 2], [−3, 0, 2, 1], [−3, 1, 0, 2], [−3, 1, 2, 0],

[−3, 2, 0, 1], [−3, 2, 1, 0], [−2, 0, 0, 2], [−2, 0, 1, 1],

[−2, 0, 2, 0], [−2, 1, 0, 1], [−2, 1, 1, 0], [−2, 2, 0, 0],

[−1, 0, 0, 1], [−1, 0, 1, 0], [−1, 1, 0, 0], [0, 0, 0, 0].

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

4 Reduced configurations are, essentially, reduced divisors of degree 0.


3.5 A RIEMANN–ROCH THEOREM ON GRAPHS 131

empty. We define an order on the remaining vertices as follows. Suppose


that for some k > 1 we have selected vertices v1 , v2 , . . . , vk−1 . Let Wk =
V \ {v1 , v2 , . . . , vk−1 } and let vk be an element of Wk such that Dr (vk ) <
outdegWk (vk ). It is possible to pick such a vertex vk , since Dr is v1 -reduced.
Let A be the adjacency matrix of Γ with respect to this ordering of the
vertices. Note that for k > 1 we have


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.

Consider the divisor υP − Dr . We have

υP (v1 ) − Dr (v1 ) = −1 − Dr (v1 ) ≥ 0

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

υP (vk ) − Dr (vk ) = −1 + outdegWk (vk ) − Dr (vk ) ≥ 0.

It follows that |υP − D| is non-empty, since υP − Dr is an effective divisor


linearly equivalent to υP − D. 
Proposition 3.5.10. If the degree of a divisor υ is g − 1, then υ is non-
special if and only if υ is linearly equivalent to a non-special divisor υP
associated to some ordering P of the vertices of Γ.
Proof. If υ is a divisor of degree g − 1 which is linearly equivalent to υP , for
some ordering P , then |υ| = |υP | is empty, so υ is non-special.
Suppose that υ is non-special. Then |υ| is empty, so by Proposition 3.5.9
there exists a non-special divisor υP such that |υP − υ| is not empty. But the
degree of υP − υ is 0, so |υP − υ| is non-empty if and only if υP − υ is linearly
equivalent to the zero divisor. Therefore, υ is linearly equivalent to υP . 
Definition 3.5.11. We define the canonical divisor K on Γ by

K= (deg(v) − 2) v.
v∈V
132 3 GRAPHS AS MANIFOLDS

The canonical divisor has degree deg(K) = 2g − 2, where g is the genus of


the graph Γ.

Proposition 3.5.12. Let υ be a divisor of degree g−1. Then υ is non-special


if and only if K − υ is non-special, where K is the canonical divisor.

Proof. Suppose that υ is non-special. Choose an ordering P = (v1 , v2 , . . . , vn )


such that υ is linearly equivalent to υP .
Let υP  be the non-special divisor corresponding to the reverse ordering

P = (vn , vn−1 , . . . , v1 ).
Then 
−1, if k = 1,
υP (vk ) = k−1
−1 + j=1 Akj , if k > 1,

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 ),

where K is the canonical divisor. Thus υP + υP = K.


It follows that K − υP is non-special, and hence K − υ is non-special. The
proof that if K − υ is non-special then υ is also non-special is similar. 

3.5.4 The Riemann–Roch theorem for graphs

We give a characterization of the dimension of a linear system in terms


of non-special divisors. We then prove Baker and Norine’s Riemann–Roch
theorem for graphs [BN07]. Baker and Norine also give criteria under which
a Riemann–Roch theorem holds in more general settings, but we will restrict
our discussion here to graphs.

For any divisor D = av v, we define
 
D+ = av v and D− = − av v
av >0 av <0
3.5 A RIEMANN–ROCH THEOREM ON GRAPHS 133

so that D+ and D− are effective divisors with disjoint supports, and

D = D+ − D− .

We define

deg+ (D) = deg(D+ ) and deg− (D) = deg(D− ).

Thus
deg(D) = deg+ (D) − deg− (D). (3.17)

Note also that


deg+ (D) = deg− (−D). (3.18)

Here’s a natural question: Is it true that, for any harmonic morphism


φ : Γ2 → Γ1 , the identity

deg+ (ΦV D) = deg(ΦV (D+ )) = deg(φ)deg+ (D)

holds? The following example addresses this.

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 ,

is represented by the vector D = (−4, −3, −2, −1, 0, 1, 2, 3, 4). The 9 × 3


matrix ΦV was computed in Example 3.4.6. We have5 ΦtV D = (−9, 9, 0), so

(ΦtV D)+ = (0, 9, 0), deg+ (ΦV D) = 9.

On the other hand, D+ = (0, 0, 0, 0, 0, 1, 2, 3, 4) and we have ΦtV (D+ ) =


(0, 9, 1). Therefore,

9 = deg+ (ΦtV D) = deg(ΦtV (D+ )) = 10.

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,

9 = deg+ (ΦtV D) = deg(φ)deg+ (D) = 3 · 10 = 30.

The next proposition gives an alternate characterization of the dimension


of a linear system in terms of non-special divisors.

Proposition 3.5.14. The dimension r(D) of the linear system of a divisor


D satisfies

r(D) = −1 + min{deg + (D − υ) : D ∼ D and υ ∈ N }.

Proof. Let m = min{deg+ (D − υ) : D ∼ D and υ ∈ N } and let D and υ be


divisors at which the minimum is achieved. Let Em be the effective divisor
of degree m given by Em = (D − υ)+ . Consider the linear system

|D − Em | = |D − Em |
= |D − (D − υ)+ |
= |D − υ − (D − υ)+ + υ|
= | − (D − υ)− + υ|.

But |υ| is empty, because υ is non-special, so |υ − F | is also empty, for any


effective divisor F . In particular, for F = (D −υ)− , we have |−(D −υ)− +υ|
is empty. Therefore, r(D) ≤ m − 1.
3.6 INDUCED MAPS ON DIVISORS 135

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. 

Theorem 3.5.15. (Riemann–Roch theorem for graphs, Baker and Norine


[BN07]) Let D be a divisor on the graph Γ and let K be the canonical divisor.
Let g be the genus of Γ. Then

r(D) − r(K − D) = deg(D) + 1 − g.

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

r(D) = −1 + deg+ (D − υ)


= −1 + deg(D − υ) + deg− (D − υ) by Equation (3.17)
= −1 + deg(D − υ) + deg+ (−D + υ) by Equation (3.18)
 
= −1 + deg(D − υ) + deg+ K − D − (K − υ) .

Let m = min{deg+ (K − D − υ  ) : D ∼ D and υ  ∈ N }. By the above


calculation, this minimum is achieved by D = D and υ  = K − υ (recalling
that K − υ is also non-special, by Proposition 3.5.12). Thus,

r(D) = deg(D − υ) + r(K − D)


= deg(D) − (g − 1) + r(K − D),

i.e., r(D) − r(D − K) = deg(D) − g + 1. 

Open Question 1. Is there an analog of Theorem 3.5.15 for graphs with a


group action, as with the Riemann–Hurwitz theorem?

3.6 Induced maps on divisors

In this section, we explore the pushforward and pullback maps.


136 3 GRAPHS AS MANIFOLDS

3.6.1 The pushforward map

Suppose that φ is a nonconstant harmonic morphism from Γ2 to Γ1 . Let


n2
D= ai vi
i=1

be a divisor on Γ2 . We will let a = (a1 , a2 , . . . , an2 ) be the vector of coeffi-


cients.

Definition 3.6.1. We define the pushforward φ∗ (D) ∈ Div(Γ1 ) to be the


divisor
φ∗ (D) = ΦtV D (3.19)

i.e.,

n1
φ∗ (D) = D = bj wj
j=1

with vector of coefficients b = (b1 , b2 , . . . , bn1 ) given by

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

Lemma 3.6.3. If φ : Γ2 → Γ1 is a nonconstant harmonic morphism, then


φ∗ is a surjective map from the group of all divisors on Γ2 onto the group of
all divisors on Γ1 .
3.6 INDUCED MAPS ON DIVISORS 137

Proof. Since a nonconstant harmonic morphism surjects onto all vertices of


Γ1 , it follows that φ∗ is a surjective map onto the group of all divisors on Γ1 . 

3.6.2 The pullback map

Definition 3.6.4. Let



n1

D = bi wi
i=1

be a divisor on Γ1 . We define the pullback φ∗ (D ) ∈ Div(Γ2 ) to be the divisor

φ∗ (D ) = ΦmV (D ), (3.20)

i.e., φ∗ (D ) is the divisor


n2
φ∗ (D ) = D = aj vj
j=1

with vector of coefficients a = (a1 , a2 , . . . , an2 ) given by

a = ΦmV b.

Lemma 3.6.5.
deg(φ∗ D ) = deg(φ)deg(D )

Proof. In the notation above,


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

φ∗ (φ∗ (D )) = deg(φ)D .

Proof. If b is the vector of coefficients of D , then the vector of coefficients of


φ∗ (φ∗ (D )) is
ΦtV ΦmV b = deg(φ)b

by Lemma 3.3.33. 

We will discuss the induced pullback map on Jacobians later, after intro-
ducing the energy pairing.

3.6.3 Dimensions of linear systems and harmonic


morphisms

Proposition 3.6.7. Let φ : Γ2 → Γ1 be a nonconstant harmonic morphism


of graphs. Let D be a divisor on Γ2 . Then r(D) ≤ r(φ∗ D).

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.

Then, using our identity for Laplacians of harmonic morphisms,

φ∗ (F ) = φ∗ (D − E + Q2 x)
= φ∗ (D) − φ∗ (E) + ΦtV Q2 x
= φ∗ (D) − φ∗ (E) + Q1 ΦtmV x.

Thus φ∗ (F ) is linearly equivalent to φ∗ (D) − φ∗ (E). Furthermore, φ∗ (F ) is


effective, since F is effective. Therefore, r(φ∗ (D)) ≥ d = r(D). 
3.6 INDUCED MAPS ON DIVISORS 139

(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.

Example 3.6.8. Define φ to be the morphism which “collapses” the square


graph Γ2 = (V2 , E2 ) with 4 vertices

V2 = {(0, 0), (0, 1), (1, 0), (1, 1)},

to the subgraph Γ1 = (V1 , E1 ) consisting of two vertices

V1 = {(0, 0), (0, 1)},

and one edge:

φ : {(0, 0), (1, 0)} → (0, 0), {(0, 1), (1, 1)} → (0, 1).

This morphism φ is harmonic. The graphs are depicted in Figure 3.5.


Let D be the divisor on Γ2 ,

D = 1 · (0, 0) + 1 · (1, 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

|D| = {2 · (0, 1), 1 · (0, 0) + 1 · (1, 1), 2 · (1, 0)},

|φ∗ (D)| = {2 · (0, 0), 1 · (0, 0) + 1 · (1, 0), 2 · (0, 1)}.

In the following example, we compare the Riemann–Roch dimension (the


dimension r(D) of |D|) of a divisor D on Γ2 , and the corresponding (possibly
larger) Riemann–Roch dimension of the pushforward divisor φ∗ (D) on Γ1 .

Example 3.6.9. Consider the wheel graph on 4 vertices, Γ2 = (V2 , E2 ) (also


known as the tetrahedron graph), and the path graph on 2 vertices, Γ1 =
(V1 , E1 ). The morphism f : Γ2 → Γ1 defined by

{0} → 0, {1, 2, 3} → 1,

is harmonic. The graphs are depicted in Figure 3.6.


The associated ΦV is
⎛ ⎞
1 0
⎜ 0 1⎟
ΦV = ⎜ ⎝ 0
⎟.
1⎠
0 1

In general, if V = {v1 , . . . , vn } is the set of vertices of the graph, we identify a


divisor a1 v1 + a2 v2 + · · · + an vn with the vector of coefficients (a1 , a2 , . . . , an ).
With the help of a computer algebra program, we compute the following
Riemann–Roch dimension values on Γ2 :

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.

Likewise, we compute the following Riemann–Roch dimension values on Γ1 :

r(1, 1) = r(ΦtV · (1, 0, 0, 1)) = 2,


r(2, 1) = r(ΦtV · (2, 0, 0, 1)) = 3,
r(3, 1) = r(ΦtV · (3, 0, 0, 1)) = 4,
r(2, 1) = r(ΦtV · (2, 1, 1, −1)) = 3, and
r(3, 1) = r(ΦtV · (3, 1, 1, −1)) = 4.
3.6 INDUCED MAPS ON DIVISORS 141

Suppose that we have fixed a distinguished vertex q, designated the sink


vertex. We assume that we have an algorithm for finding the q-reduced form
of a degree 0 divisor and that we have a list of all q-reduced divisors of degree
0.

Lemma 3.6.10. If D is a divisor of degree d and red(D) is the q-reduced


divisor linearly equivalent to D, then red(D) = r + dq for some degree 0
reduced divisor r.

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. 

Proposition 3.6.11. Let D be a divisor on Γ and let red(D) be the q-reduced


divisor linearly equivalent to D. The linear system |D| is non-empty if and
only the q-component of red(D) is nonnegative.

Proof. If the q-component of red(D) is nonnegative, then red(D) is effective,


so |D| is non-empty. Conversely, suppose that |D| is non-empty and that D
is an effective divisor linearly equivalent to D. Then all components of D ,
including the q-component, are nonnegative. The reduced divisor red(D) may
be obtained from D by firing sets that do not include q, so the q-component
of red(D) is at least as large as the q-component of D . 

Corollary 3.6.12. If E is an effective divisor of degree s, then E ∼ r+sq for


some reduced degree 0 divisor r such that the q-component r(q) of r satisfies

r(q) ≥ −s.

Suppose now that the q-reduced degree 0 divisors on Γ are r1 , r2 , . . . , rK .


We denote by red(ri − rj ) the reduced divisor linearly equivalent to ri − rj .

Proposition 3.6.13. Suppose that D ∼ ri + dq is a degree d divisor whose


linear system |D| is non-empty. Let s be a nonnegative integer. Then r(D) ≥ s
if and only red(ri − rj )(q) + d − s ≥ 0 for all j such that rj (q) ≥ −s.

Proof. By the previous corollary, a degree s divisor E ∼ rj + sq is effective


if any only if rj (q) ≥ −s. By Lemma 3.6.11, the linear system |D − E| is
non-empty if and only if red(D − E)(q) ≥ 0. Now

red(D − E) = red(ri + dq − rj − sq) = red(ri − rj ) + (d − s)q.

Thus, |D − E| is non-empty if and only if red(ri − rj )(q) + d − s ≥ 0. 

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

The Laplacian matrix of Γ is


 
3 −3
Q= .
−3 3

If f is the integer-valued function on vertices of Γ given by f (v1 ) = 1 and


f (v2 ) = 0, then div(f ) = 3v1 − 3v2 . Every principal divisor is a multiple of
div(f ). The Jacobian of Γ is isomorphic to Z/3Z.

v1 v2

Figure 3.7: A theta graph.

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

|D01 | = {0}, |D02 | = φ, and |D03 | = φ,

and their dimensions are

r(D01 ) = 0, r(D02 ) = −1, and r(D03 ) = −1.

Consider a divisor of degree d > 0. We may write D as D = (d−a)v1 +av2 ,


where a is an integer. Let a = a (mod 3) and let k be the integer such that
a = a + 3k. Let D = (d − a )v1 + a v2 . Then D ∼ D, since

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

|D11 | = {v1 }, |D12 | = {v2 }, and |D13 | = φ,


3.6 INDUCED MAPS ON DIVISORS 143

and their dimensions are

r(D11 ) = 0, r(D12 ) = 0, and r(D13 ) = −1.

For d = 2, the corresponding linear systems are

|D21 | = {2v1 }, |D22 | = {K = v1 + v2 }, and |D33 | = {2v2 },

and their dimensions are

r(D21 ) = 0, r(D22 ) = 1, and r(D23 ) = 0.

For d = 3, the corresponding linear systems are

|D31 | = {3v1 , 3v2 }, |D32 | = {(2v1 + v2 }, and |D33 | = {v1 + 2v2 },

and their dimensions are

r(D31 ) = 1, r(D32 ) = 1, and r(D33 ) = 1.

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,

r(D) = r(K − D) + deg(D) + 1 − g


= −1 + d + 1 − 2
=d−2

for all divisors D of degree d ≥ 3.

For further reading on the Riemann–Roch theorem for graphs and


related topics, see Backman [Ba14], Baker and Norine [BN07] and [BN09],
Luo [Lu11], and Manjunath [Ma11].
Chapter 4
Chip-Firing Games

A chip-firing game on a vertex-weighted graph Γ is a one-player game where


a move amounts to selecting a vertex and firing it, i.e., redistributing the
weight (or chips) of that vertex among its neighbors. There are a number of
variations in this game and we shall discuss some of them below.
Chip-firing games on graphs relate to a surprising variety of mathematical
models used in physics, theoretical computer science, and dynamical systems.

4.1 Motivation

In this chapter, we are interested in exploring questions such as the following.

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?

Question 4.3. If there is a harmonic morphism Γ2 → Γ1 between graphs Γ1


and Γ2 , how are the critical groups of graphs related? In other words, what
functorial properties do critical groups have?

4.2 Introduction

Consider a vertex-weighted undirected graph Γ = (V, E). The weights are


assumed to be integers, sometimes measured in units called chips or dollars.
c Springer International Publishing AG 2017 145
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 4
146 4 CHIP-FIRING GAMES

The literature contains many variations of the rules defining a chip-firing


game. We mention a few of them.
(a) In the simplest version, no weight can be negative. In this version, a
chip-firing game on Γ is a one-player game where a move amounts to
selecting a vertex v ∈ V with “enough chips” and then redistributing
the weight of that vertex to its degΓ (v) neighbors, one chip per edge
incident to v. This is referred to as firing v. If the weight of v was
w before firing, it is w − degΓ (v) afterwards. Since no weight can be
negative, v can be fired if and only if w ≥ degΓ (v).
This version seems to have been introduced in A. Björner, L. Lovász,
P. Shor, [BLoS91].
(b) In another version of the chip-firing game, we fix a distinguished vertex
q ∈ V . The vertex q can have a negative weight, but all other weights
must be non-negative. In this case, a chip-firing game on Γ is a one-
player game where a move amounts to selecting a non-distinguished
vertex v ∈ V having weight at least degΓ (v) and firing it, if possible. If
no vertex v = q can be fired then the vertex q can be fired.
Biggs [Bi99] calls this the dollar game.
(c) In a related version of the chip-firing game, we fix a distinguished vertex
q ∈ V . The vertex q can have a negative weight, but all other weights
must be non-negative. In this version, a chip-firing game on Γ is a
one-player game where a move amounts to selecting a subset W of non-
distinguished vertices W ⊂ V − {q} and firing them all simultaneously,
provided no negative weights are created in the end. In this version,
each vertex in W sends a chip to each of its neighbors in V − W .
This version was introduced in M. Baker and F. Shokrieh, [BS13].
Chip-firing games on graphs relate to “abelian sandpile models” from
physics, “rotor-routing models” from theoretical computer science (design-
ing efficient computer multiprocessor circuits), “self-organized criticality” (a
subdiscipline of dynamical systems), “algebraic potential theory” on a graph
(see Biggs [Bi97]), and cryptography (via the Biggs cryptosystem). More-
over, the analysis of chip-firing games relates the concepts of the Laplacian
of a graph, the tree number, the circulation space, the incidence matrix, and
many other ideas. Some good references are Baker and Norine [BN07]; Biggs
[Bi99]; Durgin [Du09]; Holroyd, Levine, Meszaros, Peres, Propp, and Wil-
son [HLMPPW08]; Perkinson, Perlman, and Wilmes [PPW11]; and Perlman
[Pe09].

4.2.1 The Laplacian

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 predicted by Proposition 2.2.6, the kernel of Q is (1, 1, 1, 1) and the rank


of Q is 3.
Using the indexing in Figure 1.10, let (w0 , w1 , w2 , w3 ) denote the vertex
weights on Γ, where wv is the weight of vertex v ∈ V . If, for example,
we fire vertex 2 then the resulting vertex weights will be (w0 + 1, w1 + 1,
w2 − 3, w3 + 1). For another interpretation, note that if the rows of Q are
denoted Q0 , Q1 , Q2 , Q3 , then firing vertex 2 results in the vertex weights
(w0 , w1 , w2 , w3 ) − Q2 .
Example 4.2.2. The Dürer graph on 12 vertices, Γ, depicted in Figure 5.6,
has Laplacian
⎛ ⎞
3 −1 0 0 0 −1 −1 0 0 0 0 0
⎜ −1 3 −1 0 0 0 0 −1 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 −1 3 −1 0 0 0 0 −1 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 −1 3 −1 0 0 0 0 −1 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 −1 3 −1 0 0 0 0 −1 0 ⎟
⎜ ⎟
⎜ −1 0 0 0 −1 3 0 0 0 0 0 −1 ⎟
Q=⎜

⎟.
⎜ −1 0 0 0 0 0 3 0 −1 0 −1 0 ⎟

⎜ 0 −1 0 0 0 0 0 3 0 −1 0 −1 ⎟
⎜ ⎟
⎜ 0 0 −1 0 0 0 −1 0 3 0 −1 0 ⎟
⎜ ⎟
⎜ 0 0 0 −1 0 0 0 −1 0 3 0 −1 ⎟
⎜ ⎟
⎝ 0 0 0 0 −1 0 −1 0 −1 0 3 0 ⎠
0 0 0 0 0 −1 0 −1 0 −1 0 3
148 4 CHIP-FIRING GAMES

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

sage: Gamma = graphs.DurerGraph()


sage: Gamma
Durer graph: Graph on 12 vertices
sage: Q = Gamma.laplacian_matrix()
sage: Q.rank()
11
sage: Q.right_kernel()
Free module of degree 12 and rank 1 over Integer Ring
Echelon basis matrix:
[1 1 1 1 1 1 1 1 1 1 1 1]

Exercise 4.1. Verify the following: If the rows of Q are denoted Q0 , Q1 ,. . . ,


Q11 , then firing vertex 2 results in the vertex weights (w0 , w1 , . . . , w11 ) − Q2 .

4.3 Configurations on graphs

In this section, we describe chip-firing games on a graph with a distinguished


vertex.
Let Γ = (V, E) denote a vertex-weighted undirected graph with a distin-
guished vertex, q ∈ V = {v1 , . . . , vn }. If the weight of vi is denoted wi ∈ Z, we
may consider a distribution of weights as either a vector (w1 , w2 , . . . , wn ) ∈
Zn , or a formal linear combination of the vertices,

w1 v1 + · · · + wn vn ∈ Z[V ].

In either case, such a distribution of weights is called a configuration on Γ. A


more formal version is stated in Definition 4.3.1 below.
We are interested in certain legal configurations of chips on the vertices
and legal chip-firing moves which transform one configuration into another.
We define two complementary types of configurations: critical configurations
and reduced configurations. In §4.5 we will define an equivalence relation
on configurations which produces a group, called the critical group. Each
equivalence class has a unique critical representative and a unique reduced
representative (with respect to a given fixed sink vertex q).

4.3.1 Legal configurations

Let Γ be a finite connected graph and let q be a distinguished vertex of


Γ, sometimes called the sink or the government. In a chip-firing game, each
vertex is assigned an integer number of chips (possibly negative). As indicated
4.3 CONFIGURATIONS ON GRAPHS 149

above, an assignment of chips is called a configuration. We will consider


games in which a legal configuration is a configuration (w1 , w2 , . . . , wn ) ∈ Zn
which has non-negative numbers of chips on all non-sink vertices (so wi ≥ 0
if vi = q) and the total number of chips (the degree of the configuration) is
zero (so w1 + · · · + wn = 0).

Definition 4.3.1. We define a configuration on Γ to be any integer-valued


function s : V → Z on the vertex set V of Γ. The degree of a configuration is

deg(s) = s(v).
v∈V

If φ : Γ2 → Γ1 is a morphism between graphs and if s : V2 → Z is a con-


figuration on Γ2 = (V2 , E2 ), then the pushforward configuration φ∗ (s) on
Γ1 = (V1 , E1 ) is given by

φ∗ (s)(w) = s(v). (4.1)
v∈V, φ(v)=w

Exercise 4.2. Check that the following are true.


• Each degree 0 configuration on Γ2 maps to a degree 0 configuration
on Γ1 .
• The pushforward configuration defined by (4.1) agrees with the push-
forward of the associated divisor, as defined in §3.6.1 (and therefore can
be computed using the matrix ΦtV ).

Definition 4.3.2. A q-legal configuration of a chip-firing game on Γ is a


degree 0 configuration s which takes non-negative values on every vertex
other than the sink q, i.e., a configuration s such that

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

4.3.2 Chip-firing and set-firing moves

In chip games, certain allowable or legal moves on configurations are defined.


We seek to reach certain special types of configurations through legal moves.
In some games, we will allow only chip-firing moves, in which a single vertex
is fired at a time. In other games, we will allow set-firing moves, in which all
vertices in a set are fired simultaneously.

Definition 4.3.3. A chip-firing move applied to a configuration s consists


of firing a vertex v by moving a chip along each edge from v to an adjacent
vertex. After a vertex v is fired, it has deg(v) fewer chips and each adjacent
vertex w has one additional chip for each edge from v to w. A chip-firing
move of a vertex v = q is q-legal if v has at least as many chips on it as the
number of incident edges, i.e., if s(v) ≥ deg(v). A chip-firing move firing q is
q-legal if no other vertex may be fired q-legally.

Definition 4.3.4. Suppose that s is a q-legal configuration and we fire


a sequence of vertices v1 , v2 , . . . , vk (not necessarily distinct), obtaining
a sequence of configurations s = s0 , s1 , s2 , . . . , sk . We say the sequence of
vertex-firings is a q-legal sequence if firing vi is q-legal for configuration si−1 ,
for i = 1, 2, . . . , k.

Example 4.3.5. Consider the diamond graph shown in Figure 4.1 with ver-
tices {q = v1 , v2 , v3 , v4 }.

v2 v3

v4

Figure 4.1: A diamond graph.

Let s be the configuration s = (−6, 2, 1, 3). Then the sequence of vertex-


firings {v4 , v2 , v4 , v3 , q} is q-legal, and results in the sequence of q-legal con-
figurations

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

Suppose now that we start with a configuration s on a graph Γ and apply


a sequence of firings in which vertex v is fired x(v) times, for v in V . The
new configuration s satisfies

s (v) = s(v) − x(v)deg(v) + x(w)Avw , (4.2)
w=v

where A is the adjacency matrix of Γ, defined by setting Avw to be the


number of edges between v and w. We will usually assume that an ordering
q = v1 , v2 , . . . , vn of the vertices of Γ has been specified, and that Q is the
Laplacian matrix with respect to this ordering. We treat x as a vector with
the same ordering. Using these conventions, we can rewrite Equation (4.2) in
the shorter form
s = s − Qx. (4.3)

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

Check that s − Qx = (−6, 3, 2, 1), which is the final configuration of Example


4.3.5.
Next we look at sets of vertices and set-firing moves.
Definition 4.3.6. Suppose that W is a non-empty set of vertices. The out-
degree of a vertex v in W , denoted outdegW (v), is defined to be the number
of edges from v to vertices in the complement W c of W . (Note that it is
possible for the outdegree of a vertex v in W to be zero, which occurs if and
only if all neighbors of v are in W .) The outdegree of W is defined to be

outdeg(W ) = outdegW (v).
v∈W

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

outdegW (v2 ) = 1, outdegW (v3 ) = 1, and outdegW (v4 ) = 0.

It follows that outdeg(W ) = 2.


Before defining set-firing moves, we will establish some useful results about
outdegrees of sets.
152 4 CHIP-FIRING GAMES

Definition 4.3.8. Let W be a non-empty set of vertices in a graph Γ. The


characteristic vector of W is the vector xW given by

1, if v ∈ W,
xW (v) =
0, if v ∈
/ W.

Lemma 4.3.9. Let xW be the characteristic vector of a non-empty set W


of the vertices of a graph Γ and let Q denote the Laplacian matrix of Γ. Let
W c be the complement of W in the set of vertices of Γ. Then
1. if v ∈ W we have QxW (v) = outdegW (v),
2. if v ∈
/ W we have QxW (v) = −outdegW c (v), and
t

3. xW QxW = v∈W outdegW (v) = outdeg(W ).

Proof. If v ∈ W ,

outdegW (v) = Avw
w∈W
/

= (1 − xW (w)) Avw
w=v

= deg(v) − xW (w)Avw
w=v

= QxW (v).

The third statement follows immediately.


If v ∈
/ W , then xW (v) = 0 and

QxW (v) = xW (v)deg(v) − xW (w)Avw
w=v

=− Avw
w∈W
= −outdegW c (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 .

Definition 4.3.10. If W is a non-empty set of vertices in V \ {q}, and s is


a configuration of chips, we define the relative degree of s on W to be

degW (s) = s(v).
v∈W
4.3 CONFIGURATIONS ON GRAPHS 153

Note that if W can be fired q-legally, then s(v) ≥ outdegW (v) for all ver-
tices v in W . Consequently,

degW (s) ≥ outdeg(W ).

Example 4.3.11. Consider the cycle graph on 4 vertices having configura-


tion (−8, 4, 3, 1), as depicted in Figure 4.2.

-8

4 1

Figure 4.2: The cycle graph with legal configuration (−8, 4, 3, 1).

Can you find a sequence of vertex-firings that gives the configuration


(−2, 1, 1, 1)?

The next lemma gives a formula for the relative degree of a configuration
s on a non-empty set W .

Lemma 4.3.12. Suppose that s is a configuration on a graph Γ and W is a


non-empty set of vertices of Γ. Then the relative degree of s on W is

degW (s) = s(v) = xtW s.
v∈W

Proof. The formula follows immediately from the definition of the relative
degree degW (s). 
154 4 CHIP-FIRING GAMES

Definition 4.3.13. Let s be a configuration on a graph Γ and let W be a


non-empty set of vertices which do not contain q. We say that the set W may
be fired q-legally (on s) if each vertex v ∈ W has at least outdegW (v) chips
on it, i.e., if s(v) ≥ outdegW (v) for all v ∈ W . A set-firing move, firing the
set W , consists of moving a chip from W along each edge from a vertex in
W to a vertex in the complement W c , or equivalently, by firing every vertex
in W at the same time.

If s is a configuration on a graph Γ, and an ordering q = v1 , v2 , . . . , vn has


been chosen for the vertices of Γ, we will sometimes treat s as a vector, so
that equations involving s may be written in matrix form.
The configuration obtained from s after firing all the chips in W does not
depend on the order in which they are fired, by Equation (4.3) and is given
by
s = s − QxW , (4.4)

where Q is the Laplacian matrix of the graph.

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).

4.3.3 Stable, recurrent, and critical configurations

We next define stable, recurrent, and critical configurations on a graph. A sta-


ble recurrent (degree 0) configuration is critical. There are only finitely many
stable configurations, and hence only finitely many critical configurations.

Definition 4.3.14. Let s be a q-legal configuration. A vertex v = q is called


q-stable for s if v cannot be fired q-legally, i.e., if s(v) < deg(v). A vertex
v = q that can be fired q-legally, i.e., such that s(v) ≥ deg(v), is called an
active vertex. The vertex q is defined to be active if and only if all other
vertices are stable.

Definition 4.3.15. A q-legal configuration s is called q-stable if it is q-stable


for all vertices v = q, i.e., no vertex other than q may be fired q-legally.

Note, that since we have defined q-legal configurations to be of degree 0,


q-stable configurations are also of degree 0.

Remark 4.3.16. There are only finitely many q-stable configurations on Γ.


It is easy, in principle, to list all q-stable configurations. There are
4.3 CONFIGURATIONS ON GRAPHS 155

deg(v)
v=q

of them.

Definition 4.3.17. A non-empty (finite) sequence of chip-firings is called


q-recurrent for a configuration s if it is q-legal and takes s to s. A config-
uration for which there exists a q-recurrent sequence called a q-recurrent
configuration.

Definition 4.3.18. A q-stable configuration which is q-recurrent is called


q-critical.

Note, that since we have defined q-stable configurations to be of degree 0,


q-critical configurations are also of degree 0.
Note also, that there are only finitely many q-critical configurations, since
there are only finitely many q-stable configurations, by Remark 4.3.16.

Example 4.3.19. Consider the graph of Figure 4.3.

Figure 4.3: A graph with 5 vertices.

This graph has Laplacian


⎛ ⎞
2 −1 −1 0 0
⎜ −1 2 −1 0 0 ⎟
⎜ ⎟
Q=⎜
⎜ −1 −1 3 −1 0 ⎟.

⎝ 0 0 −1 2 −1 ⎠
0 0 0 −1 1

Suppose the initial configuration is s = (3, 1, 0, 1, −5), i.e.,


• vertex 0 has 3 chips,
• vertex 1 has 1 chip,
• vertex 2 has no chips,
• vertex 3 has 1 chip, and
• vertex 4 is the sink vertex q.
156 4 CHIP-FIRING GAMES

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

This can be written more concisely as

0
(3, 1, 0, 1, −5) → (1, 2, 1, 1, −5).

The legal sequence of chip-firings (0, 1, 0, 2, 1, 0, 3, 2, 1, 0) leads to the stable


configuration (0, 1, 2, 1, −4). If q is fired then the configuration (0, 1, 2, 2, −5)
is achieved. This is recurrent since we have the cyclic legal sequence

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).

In particular, the configuration (0, 1, 2, 1, −4) is also recurrent. Since this


configuration is both stable and recurrent, it is critical.

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.

4.3.4 Identifying critical configurations

In this section, we will show that a q-stable configuration on a graph Γ is q-


critical if and only if there is an ordering q = v1 , v2 , . . . , vn of the vertices of Γ
such that the corresponding sequence of chip-firings is q-legal and q-recurrent
(takes s to s).

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.

Definition 4.3.21. A q-legal sequence of chip-firings is called q-proper if the


vertex q is not fired. A q-legal firing of q followed by a q-proper sequence of
chip-firings is called q-pointed. A q-pointed sequence of chip-firings in which
each vertex is fired exactly once will be called complete.
4.3 CONFIGURATIONS ON GRAPHS 157

Thus, a complete q-pointed sequence of chip-firings corresponds to an


ordering q = v1 , v2 , . . . , vn of the vertices of Γ such that the corresponding
sequence of chip-firings is q-legal. This sequence is necessarily q-recurrent,
since each vertex is fired the same number of times.

Proposition 4.3.22. If s is a q-stable configuration, then any q-recurrent


sequence of chip-firings of s must consist of a finite sequence of complete
q-pointed sequences.

Proof. Suppose that s is a q-stable configuration with a q-recurrent sequence


S. By Remark 4.3.20, each vertex of Γ is fired the same number of times
in the sequence S. Since s is q-stable, the first vertex fired must be q. If S
does not consist of complete q-pointed sequences, then there must either be
q-pointed subsequences of S of length longer and shorter than the number of
vertices n of Γ, or there must be a q-pointed subsequence of length n which
is not complete. In either case, there exists a q-pointed subsequence of S in
which at least one vertex is fired twice. Consider such a subsequence. Let w
be the first vertex which is fired twice, and let S  consist of the part of this
subsequence that starts with q and ends with the second firing of w. Thus S 
is a q-legal sequence chip-firings of the form q = v1 , v2 , . . . , vk , w, where the
vertices v2 , . . . , vk are distinct vertices, not equal to q, and w = vj for some
j with 2 ≤ j ≤ k. Let s be the configuration which has been reached by the
sequence of chip-firings preceding S  in S. Note that s must be q-stable, since
it is now legal to fire q, so s (w) < deg(w). Let W consist of the complement
of the vertices q, v2 , . . . , vj−1 , vj+1 , . . . , vk , i.e., W is the complement of all
vertices in S  except for w = vj .
Now we calculate the number of chips on w just before w is fired for the
second time in S  . This number must be at least deg(w), since it is now legal
to fire w. Thus

s (w) − deg(w) + outdegW (w) ≥ deg(w),

i.e.,
s (w) + outdegW (w) ≥ 2deg(w).

This is impossible, since s (w) < deg(w), as observed above (since s is q-


stable), and outdegW (w) ≤ deg(w). Thus the q-recurrent sequence S must
consist of a finite number of complete q-pointed subsequences. 

Corollary 4.3.23. A q-stable configuration s is q-critical, if and only if there


is an ordering q = v1 , v2 , . . . , vn of the vertices of Γ, such that the correspond-
ing sequence of chip-firings is q-legal and takes s to s, i.e., if and only if there
exists a q-legal complete q-pointed sequence of chip-firings.

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.

4.3.5 Reduced configurations

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}.

Definition 4.3.24. Let s be a configuration on a graph Γ. A non-empty set


W ⊂ V \ {q} is said to be q-stable for s if W cannot be fired q-legally, i.e., if
s(v) < outdegW (v) for some v ∈ W .

We now define a q-reduced configuration as one for which no non-empty


set may be fired q-legally.

Definition 4.3.25. A q-legal configuration s is called q-reduced if every non-


empty set W ⊂ V \ {q} is q-stable, i.e., no non-empty set can be fired q-
legally.

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.

Definition 4.3.27. The maximal q-stable configuration is the configuration


Mq given by
Mq (v) = deg(v) − 1 for v = q

and 
Mq (q) = − Mq (v).
v=q

Example 4.3.28. The maximal q-stable configuration of the diamond graph


of Figure 4.1 is Mq = (−5, 2, 2, 1).

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

Definition 4.3.29. Let s be a q-stable configuration and let Mq be the


maximal q-stable configuration. We define the q-complementary configuration
s∗ by s + s∗ = Mq , i.e.,

s∗ (v) = deg(v) − 1 − s(v) for v = q

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

s∗ = (−5, 2, 2, 1) − (−1, 0, 0, 1) = (−4, 2, 2, 0).

Note that s∗ is the q-critical configuration of Example 4.8.

Remark 4.3.31. Note that the complement s∗ of a q-stable configuration s


is also q-stable and that s∗∗ = s. If a configuration s is not q-stable, then s∗
is not necessarily q-legal.

Remark 4.3.32. It is important to note that if s1 and s2 are legal config-


urations, the sum s∗1 + s∗2 of the complements is not necessarily the same as
the complement (s1 + s2 )∗ of the sum.
For example, consider the q-critical configurations on the C4 , the cycle
graph on 4 vertices, described in Example 4.7.3 and Remark 4.7.4.

The following result is due to Baker and Norine (see [BN07]).

Lemma 4.3.33. A configuration s is q-critical if and only if its complemen-


tary configuration s∗ is q-reduced.

Proof. Suppose that a configuration s is q-critical and the sequence q =


v1 , v2 , . . . , vn is an ordering of the vertices of Γ giving a q-legal sequence of
chip-firings taking s to s. Let W be any non-empty set of vertices which do
not contain q. We wish to show that W is q-reduced with respect to s∗ , i.e., we
wish to show that there is a vertex w in W such that s∗ (w) < outdegW (w).
Let k be the least integer such that vk is in W and let w = vk . Set W =
{vk , vk+1 , . . . , vn } and note that since W ⊃ W , outdegW (w) ≤ outdegW (w).
The complement of W contains the vertices q, v2 , . . . , vk−1 used in the first
k − 1 firings for s. The number of chips added to vertex w in the first k − 1
chip-firings of s is exactly outdegW (w). After the first k − 1 vertices have
been fired, there are at least deg(w) chips on vertex w, so

s(w) + outdegW (w) ≥ deg(w).


160 4 CHIP-FIRING GAMES

Equivalently,
deg(w) − 1 − s(w) − outdegW (w) ≤ −1,

i.e., in terms of s∗ ,

s∗ (w) ≤ outdegW (w) − 1


≤ outdegW (w) − 1,

which means that W is q-reduced with respect to s∗ .


Next suppose that s∗ is q-reduced. We wish to show that there is an
ordering q = v1 , v2 , . . . , vn of the vertices of Γ which gives a q-legal sequence
of chip-firings of s. First we note that s is q-stable, since s∗ is, so that q may
be fired legally in the configuration s. Next, suppose that we have found a
q-legal sequence q, v2 , . . . , vk of firings of s, for some k < n. Let W be the
complement of {q, v2 , . . . , vk }. Since s∗ is q-reduced and W is a non-empty
set of vertices which does not contain q, there is a vertex w in W such that
s∗ (w) < outdegW (w). Rewriting in terms of s, we have

deg(w) − 1 − s∗ (w) > deg(w) − 1 − outdegW (w)

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.

Definition 4.3.34. An integer-valued function on the set of vertices other


than q, f : V \ {q} → Z, is called a G-parking function based at q if f (v) ≥ 0
for all vertices v in V \ {q}, and for every non-empty set of vertices W ⊂
V \ {q}, there exists a vertex v in W such that f (v) < outdegW (v).

Alternatively, f is a G-parking function based at q if and only if the con-


figuration s defined by
4.4 ENERGY PAIRING ON DEGREE 0 CONFIGURATIONS 161

f (v), if v = q,
s(v) =

− 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].

4.4 Energy pairing on degree 0 configurations

In this section, we define an energy pairing on degree 0 configurations, using


the Moore–Penrose pseudoinverse (see Definition 2.3.5). The energy pairing
takes values in the rational numbers Q. After defining the critical group
(Jacobian) of a graph in §4.6, we will show that the energy pairing determines
a non-degenerate pairing on the critical group, with values in Q mod Z.

Definition 4.4.1. Let s1 and s2 be degree 0 configurations on Γ and let


Q+ be the Moore–Penrose pseudoinverse. The energy pairing of s1 and s2 is
given by
s1 , s2
= st1 Q+ s2 .

Example 4.4.2. The q-reduced configurations on C4 are

s1 = (0, 0, 0, 0)
s2 = (−1, 1, 0, 0)
s3 = (−1, 0, 1, 0)
s4 = (−1, 0, 0, 1)

and the corresponding q-critical configurations are

s∗1 = (−3, 1, 1, 1)
s∗2 = (−2, 0, 1, 1)
s∗3 = (−2, 1, 0, 1)
s∗4 = (−2, 1, 1, 0).

The pseudoinverse of the Laplacian of C4 is


⎛ ⎞
5
16 − 16
1
− 16
3
− 16
1

⎜ − 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

From this, we compute

s∗1 , s∗2
= (s∗1 )t Q+ s∗2 = 7/2.

Definition 4.4.3. The energy of a degree 0 configuration s is defined to be

E(s) = s, s
= st Q+ s.

Exercise 4.9. Consider the cycle graph on 3 vertices C3 of Example 2.3.9.


The Moore–Penrose pseudoinverse of the Laplacian matrix of C3 is
⎛ 2 ⎞
9 −9 −9
1 1
⎜ 1 ⎟
Q+ = ⎝ − 91 9 −9 ⎠ .
2

− 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).

Remark 4.4.4. An example of a table of values of the induced energy pair-


ing for the critical group of the “diamond graph” is given in Example 4.10.2.

Proposition 4.4.5. Let L be any generalized inverse of the Laplacian matrix


Q (see §2.3 for the definition). Let s1 and s2 be degree 0 configurations on Γ.
Then
s1 , s2
= st1 Ls2 ,

i.e., any generalized inverse may be substituted for the Moore–Penrose


pseudoinverse in calculating the energy pairing.

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 .

Next we show that the energy of a q-legal configuration decreases by a


positive integer after a legal set-firing.

Proposition 4.4.6. Suppose that s is a q-legal configuration and W is a


non-empty subset of V \ {q} such that W can be fired q-legally. Let s be the
configuration after W is fired, i.e., s = s − QxW , where xW is the charac-
teristic vector of W . Then E(s) − E(s ) is a positive integer.

Proof. We have s = s − QxW , where xW (v) = 1 if v ∈ W and xW (v) = 0 if


v∈/ W . Expanding E(s ), and using properties of Q+ from Proposition 2.3.7
and the fact that Q is symmetric, gives
t
E(s ) = (s − QxW ) Q+ (s − QxW )
= st Q+ s − st Q+ QxW − xtW Qt Q+ s + xtW Qt Q+ QxW

1 1
= E(s) − s I − J xW − xW I − J s + xtW QxW .
t t
n n

Note that Js = 0, since s has degree 0. Thus, by Lemmas 4.3.12 and 4.3.9,

E(s ) = E(s) − 2degW (s) + outdeg(W ). (4.5)

But degW (s) ≥ outdeg(W ), because W may be fired. Thus

E(s) − E(s ) ≥ degW (s) ≥ outdeg(W ),

where outdeg(W ) is a positive integer since W is non-empty (and Γ is con-


nected). 

We now use the alternative formula for the Moore–Penrose pseudoinverse


from Lemma 2.3.10 to describe the energy of a q-legal configuration. Let
λ1 = 0, λ2 , . . . , λn be the eigenvalues of the Laplacian matrix Q. Since Q
is a real n × n symmetric matrix, we can choose a basis of Rn consisting
of n orthonormal eigenvectors w1 , w2 , . . . , wn corresponding to eigenvalues
λ1 , λ2 , . . . , λn . Let U be the orthogonal matrix with columns w1 , w2 , . . . , wn
and let Σ+ be the diagonal matrix with diagonal entries 0, λ12 , λ13 , . . . , λ1n .
164 4 CHIP-FIRING GAMES

Recall from Lemma 2.3.10 that the Moore–Penrose pseudoinverse of Q is


given by Q+ = U Σ+ U t .
Suppose that s is a q-legal configuration (and thus of degree 0). Note that
w1 spans the kernel of Q, so s must be orthogonal to w1 and must lie in
the span of the remaining eigenvectors w2 , w3 , . . . , wn . The following lemma
gives a description of the energy of a q-legal configuration in terms of its
components with respect to the orthonormal vectors w2 , w3 , . . . , wn .

Lemma 4.4.7. Let s be a q-legal configuration. Let 0 = a1 , a2 , a3 , . . . , an be


the components of s with respect to the orthonormal basis w1 , w2 , w3 , . . . , wn
of Rn , so that
n
s= ai wi .
i=2

Then the energy of s is


n
1 2
E(s) = a .
λ i
i=2 i

In particular, E(s) ≥ 0 and E(s) = 0 if and only if s = 0.

Proof. Both statements follow from the decomposition

Q+ = U Σ+ U t

and the fact that the coefficients of the vector U t s are (0, a2 , a3 , . . . , an ). 

Example 4.4.8. Consider the complete graph K4 on four vertices, q =


v1 , v2 , v3 , v4 . The Laplacian matrix of K4 is
⎛ ⎞
3 −1 −1 −1
⎜ −1 3 −1 −1 ⎟
Q=⎜
⎝ −1 −1
⎟.
3 −1 ⎠
−1 −1 −1 3

The eigenvalues of Q are 0, 4, 4, 4, corresponding to orthonormal eigenvectors


⎛ ⎞ ⎛ ⎞ ⎛ ⎞
⎛ 1 ⎞ − √12 − √16 − 2√
1
2
⎜ ⎟ ⎜ ⎟ ⎜ √
3

⎜ 1 ⎟ ⎜ ⎟ ⎜ 0 ⎟ ⎜ 3 ⎟
⎜ ⎟ 0
⎟ , w3 = ⎜ ⎟
w1 = ⎜ 2
⎟ , w2 = ⎜
⎜ ⎟ ⎜ 2 ⎟ , and w4 = ⎜
⎜− √
2 ⎟.

⎝ 1 ⎠ ⎝ 0 ⎠ ⎜ ⎟ ⎝ 2 3
1

2 ⎝ 3 ⎠
1 √1 − 2√
1
2 2 − 6
√1
3
4.5 EQUIVALENCE CLASSES OF CONFIGURATIONS 165

The Moore–Penrose pseudoinverse of Q is


⎛ ⎞
3
16 − 16
1
− 16
1
− 16
1

⎜ 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

There are 16 q-reduced degree 0 configurations.

Exercise 4.10. Consider the following four degree 0 configurations on K4 :


s1 = {−1, 1, 0, 0}, s2 = {−2, 1, 1, 0}, s3 = {−2, 2, 0, 0}, and s4 = {−3, 2, 1, 0}.
Let q be the first vertex.
(a) Show that s1 , s2 , s3 , and s4 are q-reduced.
(b) Show that the energies of s1 , s2 , s3 , and s4 are E(s1 ) = 12 , E(s2 ) = 32 ,
E(s3 ) = 2, and E(s4 ) = 72 .
(c) Find the remaining 12 degree 0 q-reduced configurations on K4 and
their energies.

4.5 Equivalence classes of configurations

In this section, we define an equivalence relation on configurations and show


that the equivalence class of each degree 0 configuration contains a unique
q-critical configuration and a unique q-reduced configuration. In §4.6 we
will show that these equivalence classes form a group, the critical group or
Jacobian.

Definition 4.5.1. We will say that configurations s and s are equivalent if


they differ by an element of the image of the Laplacian Q, i.e., if there is an
integer vector x such that
s = s − Qx.

It follows from the definition of complementary configurations that s and


s are equivalent configurations if and only if their complements s∗ and (s )∗
are equivalent configurations.
We will now show that replacing degree 0 configurations by equivalent
configurations in the energy pairing changes the value by an integer.

Proposition 4.5.2. If s1 and s2 are degree 0 configurations such that s1


is equivalent to s1 and s2 is equivalent to s2 , then s1 , s2
− s1 , s2
is an
integer.
166 4 CHIP-FIRING GAMES

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. 

The next lemma shows that if s is a q-legal configuration such that s − Qx


is also q-legal, for some integer vector x, with x(v) ≥ 0 for all vertices v,
x(v) > 0 for at least one vertex v, and x(q) = 0, then s cannot be q-reduced.

Lemma 4.5.3. Let s be a q-legal configuration. Suppose that there is an


integer vector x such that x(v) ≥ 0 for all vertices v, x(v) > 0 for at least one
vertex v, and x(q) = 0, and such that s − Qx is also q-legal. Then there exists
a sequence of non-empty subsets of V \ {q} of the form W1 ⊆ W2 ⊆ · · · ⊆ Wr
such that x = xW1 + xW2 + · · · + xWr and the sets W1 , W2 , . . . , Wr may be
fired q-legally in that order. In particular, s is not q-reduced.

Proof. We choose W1 to be the set of all vertices on which x takes its


maximum value, W2 the set of all vertices on which x − xW1 takes its
maximum value, and so on. The final set, Wr will be the support of x,
i.e., the set of vertices v such that x(v) > 0. By definition of the sets Wi ,
x = xW1 + xW2 + · · · + xWr and s − Qx = s − QxW1 − QxW2 − · · · − QxWr .
Consider any vertex v in W1 . By Lemma 4.3.9,

s(v) − Qx(v) = s(v) − outdegW1 (v) − outdegW2 (v) − · · · − outdegWr (v).

Since s − Qx is q-legal, s(v) − Qx(v) ≥ 0. It follows that s(v) ≥ outdegW1 (v)


for all vertices v in W1 . Thus, W1 can be fired q-legally, giving a q-legal
configuration s − QxW1 . The result follows by induction. 

We now show that distinct q-reduced configurations cannot be equivalent


to each other.

Lemma 4.5.4. Suppose that s1 and s2 are equivalent q-reduced configura-


tions, i.e., such that s1 = s2 − Qx, for some integer vector x. Then s1 = s2 .

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 . 

We next prove that every q-legal configuration is equivalent to a q-reduced


configuration.

Lemma 4.5.5. If s is a q-legal configuration, then there is an integer vector


x with x(q) = 0 and x(v) ≥ 0 for v = q, such that s − Qx is q-reduced.

Proof. Suppose that s is a q-legal configuration which is not q-reduced. Then


there is a set W1 ⊂ V \ {q} such that W1 may be fired q-legally to obtain a
q-legal configuration s1 . By Lemma 4.4.7 and Proposition 4.4.6,

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 . 

Next we show that every degree 0 configuration is equivalent to a q-legal


configuration.

Lemma 4.5.6. For every degree 0 configuration s, there exists an equivalent


configuration s such that s is q-legal.

Proof. We may decompose s into the difference of two q-legal configurations,


s = s+ − s− , where


⎨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,

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

Let Mq be the maximal degree 0 q-stable configuration, given by



deg(v) − 1, if v = q,
Mq (v) =

− v=q Mq (v), if v = q.

Since Mq and s− are q-legal, so is their sum Mq + s− . It follows from Lemma


4.5.5 that there is an integer vector x with x(q) = 0 and x(v) ≥ 0 for v = q,
such that Mq + s− − Qx is q-reduced. Therefore

0 ≤ (Mq + s− − Qx)(v) ≤ Mq (v)

for all v = q. Thus (−s− + Qx)(v) ≥ 0 and s+ − s− + Qx)(v) ≥ 0 for all v =


q, i.e., s = s + Qx is a q-legal configuration which is equivalent to s. 
We can now show that every equivalence class of degree 0 configurations
contains a unique q-reduced configuration.
Proposition 4.5.7. Let s be a degree 0 configuration. Then the equivalence
class of s contains a unique q-reduced configuration sr . Moreover, if s is also
q-legal then sr may be reached from s by a sequence of q-legal set-firing moves
(without firing q).
For a concrete instance of this, see Example 4.6.1 below.
Proof. By Lemma 4.5.6, there exists a q-legal configuration s which is equiv-
alent to s. By Lemma 4.5.5, there exists a q-reduced configuration sr which
is equivalent to s . By Lemma 4.5.4, this q-reduced configuration is unique.
Moreover, by Lemmas 4.5.5 and 4.5.3, if s is also q-legal, then s may be
changed to sr by a sequence of q-legal set-firing moves. 
It follows from the previous proposition that each equivalence class of
degree 0 configurations contains a unique critical configuration.
Proposition 4.5.8. Let s be a degree 0 configuration. Then the equivalence
class of s contains a unique q-critical configuration sc . Moreover, if s is also
q-legal then sc may be reached from s by a sequence of q-legal chip-firing
moves (possibly including firing q, when legal).

Proof. Let s be a configuration such that v∈V s(v) = 0 and let s∗ = Mq − s


be the complement of s, where Mq is the maximal q-stable configuration. By
Lemma 4.5.4, there is a unique q-reduced configuration r which is equivalent
to s∗ . Let x be an integer vector such that r = s∗ − Qx. The complement r∗ =
Mq − r of r is q-critical by Lemma 4.3.33. Then r∗ = Mq − (Mq − s) + Qx, so
that s = r∗ − Qx. Therefore, s is q-equivalent to the q-critical configuration
r∗ . Since r is the unique q-reduced configuration in the equivalence class of s∗ ,
its complement r∗ must be the only q-critical configuration in the equivalence
class of s.
4.6 CRITICAL GROUP OF A GRAPH 169

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. 

4.6 Critical group of a graph

The set of all configurations of degree 0 on a graph Γ forms an abelian group


under addition. The degree 0 configurations which are in the image of the
Laplacian Q, considered as a map Q : Zn → Zn , form a subgroup, Im(Q).
The quotient of the group of all degree 0 configurations by the subgroup
Im(Q) forms an abelian group, denoted K(Γ) ∼ = Jac(Γ), whose elements are
equivalence classes of configurations. This group is called the critical group,
the Jacobian, or the Picard group (depending on the context). Given a fixed
vertex q, there is a unique q-critical configuration in each equivalence class.
Thus, the critical group is finite, since there are only finitely many q-critical
configurations.
Alternatively, the elements of the critical group are sometimes taken to
be the set of all q-critical configurations on Γ, for some fixed vertex q.
The sum s1 ⊕ s2 of two q-critical configurations s1 and s2 is defined to be
the unique q-critical configuration which is equivalent to the ordinary sum
s1 + s2 . This group is clearly isomorphic to the group of equivalence classes
defined above, and is thus independent of the vertex q chosen as the sink (up
to isomorphism).
Since a configuration s is q-critical if and only if its complement s∗ is q-
reduced, by Lemma 4.3.33, it follows that the set of reduced configurations
can be given also be given the structure of a group. The sum s1 ⊕ s2 of
170 4 CHIP-FIRING GAMES

two q-reduced configurations s1 and s2 is defined to be the unique q-reduced


configuration which is equivalent to the ordinary sum s1 + s2 .
It is important to note that the operation of taking the complement
with respect to the maximal q-stable configuration is not a homomorphism
between the group of q-critical configurations under ⊕ and the group of q-
reduced configurations under ⊕ (see Remark 4.3.32).
It is well-known that the order of the critical group is the number of
spanning trees of the graph Γ. We prove this result in §4.9 using an ordered
version of Dhar’s burning algorithm due to Cori and Le Borgne (see Corollary
4.9.16).

4.6.1 The Jacobian and the Picard group

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.6.2 Simple examples of critical groups

Example 4.6.1. Consider the graph Γ with configuration s = (−6, 3, 1, 0, 2),


depicted in Figure 4.4. Here the vertex labeled 0 is taken to be q.


4 2


3 0


0 
1 
2

−6 3 1

Figure 4.4: A graph having 5 vertices, with configuration s = (−6, 3, 1, 0, 2).


4.6 CRITICAL GROUP OF A GRAPH 171

Now, we fire the following sequence of vertices: 4, 4, 1, 3, 4, 2. This gives us


the configuration c = (−5, 2, 1, 2, 0), depicted in Figure 4.5. Noting that the
maximal q-stable configuration Mq on Γ is also (−5, 2, 1, 2, 0), we see that the
complement of c is c∗ = Mq − c = (0, 0, 0, 0, 0), which is reduced. Therefore,
c must be critical.


4 0


3 2


0 
1 
2

−5 2 1

Figure 4.5: A critical configuration c = (−5, 2, 1, 2, 0) which can be reached from s by


q-legal chip-firing moves.

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.

Exercise 4.11. Show that the critical group K(K4 ) of K4 is isomorphic to


Z/4Z × Z/4Z. Hint: Let q be the first vertex. Check that the equivalence
classes of the configurations s1 = {−1, 1, 0, 0} and s2 = {−1, 0, 1, 0} are of
order 4 and every q-reduced configuration is equivalent to a configuration of
the form is1 + js2 , for i, j ∈ {0, 1, 2, 3}.

4.6.3 The Smith normal form and invariant factors

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

K(Γ) = (Z/n1 Z) × (Z/n2 Z) × . . . × (Z/nr Z)

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)

The numbers ki , called elementary divisors or invariant factors, are unique


up to multiplication by −1.
Since all the entries of Q∗ are integers and Q∗ has (full) rank n − 1, the
matrix Q∗ has a Smith normal form: a diagonal matrix Σ with strictly positive
invariant factors k1 |k2 | · · · |kn−1 .

Proposition 4.6.2. Let Γ be a connected graph and let Q∗ be a reduced


Laplacian matrix of Γ. Then the critical group K(Γ) is isomorphic to the
quotient Zn−1 /Col(Q∗ ), where Col(Q∗ ) denotes the Z-span of the columns of
Q∗ . Furthermore, if k1 , k2 , . . . , kn−1 are the invariant factors of Q∗ , then the
critical group of Γ has a decomposition

K(Γ) = (Z/k1 Z) × (Z/k2 Z) × · · · × (Z/kn−1 Z).

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). 

As a consequence of the previous proposition, we obtain another formula


for the number of spanning trees of a graph Γ.

Corollary 4.6.3. Let Γ be a connected graph with reduced Laplacian matrix


Q∗ and invariant factors n1 , n2 , . . . , nr of Q∗ . Then the number of spanning
trees of Γ (the spanning tree number) is

κ = 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

so that a reduced Laplacian matrix is


⎛ ⎞
3 −1 −1
Q∗ = ⎝ −1 3 −1 ⎠ .
−1 −1 3

A Smith normal form of Q∗ is


⎛ ⎞
1 0 0
Σ = ⎝ 0 4 0 ⎠,
0 0 4

and we have U1 Σ = Q∗ U2 where


⎛ ⎞ ⎛ ⎞
3 −1 −1 1 −1 −1
U1 = ⎝ −1 1 0 ⎠ and U2 = ⎝ 0 1 0 ⎠.
−1 0 1 0 0 1
174 4 CHIP-FIRING GAMES

The columns of U1 are


⎛ ⎞ ⎛ ⎞ ⎛ ⎞
3 −1 −1
u1 = ⎝ −1 ⎠ , u2 = ⎝ 1 ⎠ and u3 = ⎝ 0 ⎠ .
−1 0 1

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).

Exercise 4.12. Suppose that Γ is the union of subgraphs Γ1 and Γ2 which


are joined at a single vertex. Show that the critical group of Γ is the product
of the critical groups of Γ1 and Γ2 . (Hint: We may order the vertices of Γ
such that the reduced Laplacian matrix Q∗ of Γ, with respect to the common
vertex, is block diagonal of the form

Q∗1 0
,
0 Q∗2

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,

Jac(Γ1 ) = Jac(Γ2 ) = Z/24Z,

and the same Tutte polynomial (see Definition 1.2.2),

x5 + 3x4 + 3x3 y + x2 y 2 + 3x3 + 5x2 y + 3xy 2 + y 3 + x2 + 2xy + y 2 ,

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

while the Duursma zeta polynomial of Γ2 is

−(32x7 − 56x6 + 44x5 − 20x4 + 21x3 − 4x2 + 2x − 1)(4x2 + x + 1)(3x2 + x + 1)(x2 − 1)2 .

Each graph consists of a 3-cycle C3 joined to the diamond graph Γ at a


single vertex. It follows that the Tutte polynomial of each graph is the product
of the Tutte polynomial of C3 and the Tutte polynomial of Γ. Similarly, the
critical group of each is a product of the critical group of C3 and the critical
group of the diamond graph Γ.
4.6 CRITICAL GROUP OF A GRAPH 175

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

4.6.4 Energy pairing on the critical group

We can now define an energy pairing ·, ·


on the critical group, with values
in Q mod Z. We will show that this pairing is non-degenerate, i.e., if S is an
element of the critical group, then S, T
= 0 for all T in the critical group if
and only if S = 0 ( i.e., if and only if S is the identity element of the group).
Let Γ be a connected graph and let Q be its Laplacian matrix. Recall that
if s1 and s2 are degree 0 configurations on Γ and Q+ is the Moore–Penrose
pseudoinverse of Q, the energy pairing of s1 and s2 is given by

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

s1 = s1 − Qx1 and s2 = s2 − Qx2 ,

then
s1 , s2
− s1 , s2
∈ Z.

It follows that the energy pairing on degree 0 configurations determines a


well-defined pairing on the critical group Γ, by taking values in Q mod Z as
follows:

Definition 4.6.6. Let S1 and S2 be elements of the critical group K(Γ) of


Γ with representatives s1 and s2 . The energy pairing of S1 and S2 is given
by
S1 , S2
= s1 , s2
mod 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
.

Proposition 4.6.7. The energy pairing on K(Γ) is non-degenerate, i.e., an


element S of the critical group satisfies the condition

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.

Proof. Suppose that S is the identity element of K(Γ) and s is a representative


of S, so that s = Qx for some integer vector x. Let T be any element of K(Γ)
and let t be a degree 0 configuration which is a representative of T . Then

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 .

Thus the vector x = u − u1 1 = (0, m2 , m3 , . . . , mn ) is an integer vector. We


now note that

Qx = Q(u − u1 1)
= Q(Q+ s − u1 1)
= QQ+ s since Q1 = 0
=s by Corollary 2.3.8,

so that S is the identity element of K(Γ). 

The energy pairing of the critical group of the diamond graph is given in
Example 4.10.2.

4.7 Examples of critical groups

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.

4.7.2 Cycle graphs

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)

and the corresponding q-critical configurations are

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

Note that s1 is a q-reduced representative of the identity element of K(C4 )


and s∗3 is a q-critical representative of the identity element of K(C4 ). Thus,
the operation of taking the complement of a configuration does not induce a
homomorphism from the critical group to itself.

4.7.3 Complete graphs

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.

Proposition 4.7.5. The critical group of the complete graph Kn on n ver-


tices is isomorphic to the direct product of n − 2 copies of Z/nZ.

Proof. The reduced Laplacian matrix Q∗ of Kn is an n − 1 by n − 1 matrix


with every diagonal entry equal to n − 1 and every non-diagonal entry equal
to −1: ⎛ ⎞
n−1 −1 −1 · · · −1
⎜ −1 n − 1 −1 · · · −1 ⎟
⎜ ⎟
∗ ⎜ −1 −1 n − 1 · · · −1 ⎟
Q =⎜ ⎟.
⎜ .. .. .. .. ⎟
⎝ . . . .⎠
−1 −1 −1 · · · n − 1

It straightforward to check that U1 Σ = Q∗ U2 , where


⎛ ⎞
n − 1 −1 −1 · · · −1
⎜ −1 1 0 ··· 0⎟
⎜ ⎟
⎜ −1 0 1 ··· 0⎟
U1 = ⎜ ⎟,
⎜ .. .. .. .. ⎟
⎝ . . . .⎠
−1 0 0 ··· 1

i.e., U1 is the matrix obtained from the n × n identity matrix by replacing


the (1, 1) entry by n − 1 and replacing all other entries of the first row and
column by −1, ⎛ ⎞
1 0 0 ··· 0
⎜ 0 n 0 ··· 0 ⎟
⎜ ⎟
⎜ ⎟
Σ = ⎜ 0 0 n ··· 0 ⎟,
⎜ .. .. .. .. ⎟
⎝ . . . . ⎠
0 0 0 ··· n
180 4 CHIP-FIRING GAMES

and ⎛ ⎞
1 −1 −1 · · · −1
⎜ 0 1 0 ··· 0⎟
⎜ ⎟
⎜ 0 0 1 ··· 0⎟
U2 = ⎜ ⎟.
⎜ .. .. .. .. ⎟
⎝ . . . .⎠
0 0 0 ··· 1

The determinant of U2 is clearly 1. To find the determinant of U1 , we let U1


be the matrix obtained from U1 by replacing the first row of U1 by the sum
of all rows of U1 , i.e.,
⎛ ⎞
1 0 0 ··· 0
⎜ −1 1 0 · · · 0 ⎟
⎜ ⎟
⎜ −1 0 1 · · · ⎟
U1 = ⎜ 0 ⎟.
⎜ .. .. .. .. ⎟
⎝ . . . . ⎠
−1 0 0 · · · 1

Then det(U1 ) = det(U1 ) = 1. It follows that Σ is a Smith normal form of Q∗ .


Thus, the invariant factors of the critical group K(Kn ) are n repeated n − 2
n−2
times, so K(Kn ) = (Z/nZ) . 

4.7.4 Wheel graphs

Recall that the Fibonacci numbers fn are given by f0 = 1, f1 = 1, and fn =


fn−1 + fn−2 for n > 1. The Lucas numbers n are given by 0 = 2, 1 = 1,
and n = n−1 + n−2 for n > 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.

4.7.5 Example of Clancy, Leake, and Payne

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)

4.7.6 Some Cayley graphs

Cayley graphs were introduced in §2.6 and will be discussed more in


Chapter 6.
Cayley graphs of groups
The Cayley graph of a group has a lot of symmetries. This does not mean
that the critical group is large. In fact, by Lemma 4.7.1, if we add a vertex
182 4 CHIP-FIRING GAMES

and an edge to a graph (so the vertex has degree 1), the critical group remains
the same, while the automorphism group typically decreases.

Example 4.7.8. Consider the symmetric group on {1, 2, 3}, G generated


by S = {(1, 2, 3), (1, 2), (1, 3, 2)}. The Cayley graph Γ2 of (G, S), depicted in
Figure 4.8, is 3-regular and has critical group

Jac(Γ2 ) = Z/5Z × Z/15Z ∼


= (Z/5Z)2 × Z/3Z.

Figure 4.8: The Cayley graph of (G, S) = (S3 , {(1, 2, 3), (1, 2), (1, 3, 2)}).

The labeling of the vertices in Figure 4.8 is given as follows:

0 : 1, 1 : (1, 2), 2 : (1, 2, 3), 3 : (1, 3, 2), 4 : (2, 3), 5 : (1, 3).

The subgroup G0 of the automorphism group of Γ2 given by G0 =


(0, 2)(1, 3)(4, 5)
has quotient Γ1 = Γ2 /G0 ∼ = C3 , where C3 denotes the cycle
graph on 3 letters. The critical group of Γ1 is Z/3Z: Jac(Γ1 ) ∼ = Z/3Z.
The quotient map φ : Γ2 → Γ1 is harmonic. Propositions 4.8.2 and 4.8.4
below predict that there is an injection Jac(Γ1 ) → Jac(Γ2 ) and a surjection
Jac(Γ2 ) → Jac(Γ1 ). Both of these facts are easy to verify directly.
Note that if s = (−3, 1, 1, 1, 0, 0) is a configuration on Γ2 then the quotient
map φ : Γ2 → Γ1 induces, via the pushforward (4.1), the configuration φ(s) =
(−2, 2, 0). Note that s is stable but φ(s) is not.
4.7 EXAMPLES OF CRITICAL GROUPS 183

Example 4.7.9. As in Example 4.7.8, we consider the symmetric group on


{1, 2, 3}, G, but with a different set of generators: S = {(1, 2), (2, 3), (1, 3)}.
The Cayley graph Γ2 of (G, S), depicted in Figure 4.9, is 3-regular and has
critical group
Jac(Γ2 ) = (Z/3Z)2 × Z/9Z.

Figure 4.9: The Cayley graph of (G, S) = (S3 , {(1, 2), (2, 3), (1, 3)}).

The labeling of the vertices in Figure 4.9 is given as follows:

0 : 1, 1 : (1, 2), 2 : (1, 2, 3), 3 : (1, 3, 2), 4 : (2, 3), 5 : (1, 3).

The subgroup G0 of the automorphism group of Γ2 given by G0 =


(1, 2)(3, 4)
has quotient Γ1 = Γ2 /G0 ∼= C4 , where C4 denotes the cycle
graph on 4 letters. The critical group of Γ1 is Z/4Z: Jac(Γ1 ) ∼
= Z/4Z.
The quotient map
φ : Γ2 → Γ1 ,

0 → 2, {1, 2} → 0, {3, 4} → 3, 5 → 1,

is not harmonic. It is easy to see directly that there is no injection Jac(Γ1 ) →


Jac(Γ2 ), nor is there a surjection Jac(Γ2 ) → Jac(Γ1 ).
184 4 CHIP-FIRING GAMES

Cayley graphs of p-ary functions


We consider the Boolean case first.

Example 4.7.10. Consider the function f : GF (2)3 → GF (2) defined by


f (x0 , x1 , x2 ) = x0 x1 + x22 . The Cayley graph Γ2 of f , depicted in Figure 4.10,
is 4-regular and has critical group

Jac(Γ2 ) = Z/6Z × (Z/24Z)2 ∼


= Z/2Z × (Z/3Z)3 × (Z/8Z)2 .

Figure 4.10: The Cayley graph of f (x0 , x1 , x2 ) = x0 x1 + x22 .

The labeling of the vertices of Γ2 in Figure 4.10 is given as follows:

0 : (0, 0, 0), 1 : (1, 0, 0), 2 : (0, 1, 0), 3 : (1, 1, 0),

4 : (0, 0, 1), 5 : (1, 0, 1), 6 : (0, 1, 1), 7 : (1, 1, 1).

The automorphism group of Γ2 has order 48 and contains the element


(2, 7)(3, 6). It happens that the quotient graph Γ1 = Γ2 /G0 , where G0 =
(2, 7)(3, 6)
, under this action is isomorphic to the graph in Figure 4.8.
Therefore, Γ1 has critical group
4.7 EXAMPLES OF CRITICAL GROUPS 185

Jac(Γ1 ) = Z/5Z × Z/15Z ∼


= Z/3Z × (Z/5Z)2 .

The quotient map Γ2 → Γ1 is not harmonic. It is easy to see directly that


there is no injection Jac(Γ1 ) → Jac(Γ2 ), nor is there a surjection Jac(Γ2 ) →
Jac(Γ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:

f1 (x1 , x2 ) = x21 + 3x22


f2 (x1 , x2 ) = x41 + 4x21 + 4x1 x2
f3 (x1 , x2 ) = x41 + 2x31 x2 + 4x21
f4 (x1 , x2 ) = x21 + 4x1 x2
f5 (x1 , x2 ) = x41 + 3x1 x32
f6 (x1 , x2 ) = x41 + 4x31 x2 .

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

{2, 2, 2, 2, 10, 10, 50, 50, 201300, 201300, 201300, 201300}.

The invariant factors of Γ4 , Γ5 , and Γ6 are all

{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:

f1 (x1 , x2 , x3 ) = x21 + x22 + x23


f2 (x1 , x2 , x3 ) = x1 x3 + 2x22 + 2x21 x22 .
186 4 CHIP-FIRING GAMES

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}.

4.7.7 Graphs with cyclic critical groups

Biggs has constructed a family of modified wheel graphs with cyclic critical
groups.

v2
v6

v7 q v3

v5
v4

Figure 4.11: A graph with a cyclic critical group of order 176.

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.

Example 4.7.13. Biggs’ construction starts with a wheel graph with an


odd number 2n + 1 of spoke vertices (and an even total number of vertices
4.8 HARMONIC MORPHISMS AND JACOBIANS 187

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].

4.8 Harmonic morphisms and Jacobians

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 )

and an injective pullback homomorphism

φ∗ : 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.

Exercise 4.15. Show if φ : Γ2 → Γ1 is harmonic then the size of the critical


group of Γ1 divides the size of the critical group of Γ2 .

Before proving the injectivity of the map on Jacobians induced by pull-


backs, we prove the following adjoint property of pushforward and pullback
maps.

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 ).

Proof. First, we check that if D is a principal divisor on Γ1 , then φ∗ (D ) is


a principal divisor on Γ2 . Suppose that the coefficient vector b of D satisfies
b = Q1 y for some integer n1 -vector y. The coefficient vector of φ∗ (D ) is

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

The quotient Γ1 = Γ2 /G is depicted in Figure 4.12. The 7 vertices on Γ1 are


G-orbits of the 13 vertices on Γ2 , as follows:

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}

Figure 4.12: The quotient graph Γ2 /G.

Computations using Sage show that:


• The morphism φ : Γ2 → Γ1 is not harmonic.
• The critical group of Γ1 is Z/29Z × Z/58Z.
• The critical group of Γ2 is Z/3Z × (Z/39Z)5 .
Exercise 4.16. Suppose that φ : Cn → Cm is a non-constant map of cycle
graphs. Show that if υ is a non-special divisor on Cm , then φ∗ (υ) is a non-
special divisor on Cn .
Recall the pushforward map from Definition 3.6.1. Next, we extend the
surjectivity results of Lemma 3.6.3 and Lemma 3.3.30 to Jacobians. The result
below asserts the surjectivity of the induced pushforward map on Jacobians.
Proposition 4.8.4. 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 a surjective homomorphism

φ∗ : Jac(Γ2 ) → Jac(Γ1 ).
190 4 CHIP-FIRING GAMES

Proof. To prove that φ∗ determines a well-defined map on equivalence classes,


we must prove that if D is a principal divisor on Γ2 , then φ∗ (D) is a principal
divisor on Γ1 .
Recall that D is principal if there exists an n2 -vector x with integer entries
such that the coefficient vector of D is Q2 x. In this case, the coefficient vector
of φ∗ (D) is
ΦtV Q2 x = Q1 ΦtmV x

which is a principal divisor on Γ1 .


The surjectivity follows from the surjectivity of φ∗ on divisors. 

4.8.1 Example: morphism from cube to K4

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

on K4 as (a1 , a2 , a3 , a4 ) and use a similar convention for divisors on Γ.


Let QK4 be the Laplacian matrix of K4 with respect to v1 , v2 , v3 , and v4 .
There is an ordering of the vertices of the cube satisfying the condition
above, such that the Laplacian matrix of Γ is
⎛ ⎞
3 −1 0 −1 0 0 −1 0
⎜ −1 3 −1 0 0 0 0 −1 ⎟
⎜ ⎟
⎜ 0 −1 3 −1 −1 0 0 0⎟
⎜ ⎟
⎜ −1 0 −1 3 0 −1 0 0⎟
QΓ = ⎜

⎟.
⎜ 0 0 −1 0 3 −1 0 −1 ⎟

⎜ 0 0 0 −1 −1 3 −1 0⎟
⎜ ⎟
⎝ −1 0 0 0 0 −1 3 −1 ⎠
0 −1 0 0 −1 0 −1 3

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

There are integer matrices ΣK4 , U1 , and U2 such that

U1 ΣK4 = QK4 U2 , (4.8)

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

u1 = (−3, 0, 2, 1) and u2 = (−3, 1, 2, 0).

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

Z/(2Z) × Z/(8Z) × Z/(24Z).

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

respectively. Thus, we can describe any element of the critical group by a


triple (i, j, k), with 0 ≤ i ≤ 1, 0 ≤ j ≤ 7, and 0 ≤ k ≤ 23, corresponding to
the equivalence class of the divisor iy1 + jy2 + ky3 . We will find it convenient
to use a different set of generators of the critical group of K4 , with respect
to which the pullbacks of the generators of the critical group of K4 take a
particularly simple form. We will calculate these pullbacks and find a new
set of generators for K4 .
For each divisor D on K4 , there is a pullback divisor τ ∗ (D) on Γ. If

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 .

Let T be the matrix given by


⎛ ⎞
1 0 0 0
⎜ 0 1 0 0 ⎟
⎜ 0 0 1 0 ⎟
⎜ ⎟
⎜ 0 0 0 1 ⎟
T =⎜ ⎟.
⎜ 1 0 0 0 ⎟
⎜ 0 1 0 0 ⎟
⎝ ⎠
0 0 1 0
0 0 0 1

Note that if the coefficients of a divisor D on K4 are a = (a1 , a2 , a3 , a4 ), then


the coefficients of τ ∗ (D) are T a. Note also that QΓ T = T QK4 .
We now show that the pullback map extends
to a map of equivalence
classes. We wish to show that if a divisor D = ai vi on K4 is principal, i.e.,
if a = QK4 x for some vector x, then τ ∗ (D) is principal on Γ, i.e., T a = QΓ y
for some vector y. Note that

T a = T QK4 x = QΓ T x,

so let y = T x. Therefore τ ∗ determines a map on equivalence classes (which


we will denote by the same symbol, by abuse of notation)

τ ∗ : 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 ).

The pullbacks to Γ of u1 and u2 (reduced representatives of a pair of


generators of the critical group of K4 ), are

τ ∗ (u1 ) = (−3, 0, 2, 1, −3, 0, 2, 1) and



τ (u2 ) = (−3, 1, 2, 0, −3, 1, 2, 0).

The corresponding reduced divisors on Γ are

(−5, 1, 1, 2, 0, 0, 0, 1) ∼ 4w2 + 6w3

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

τ ∗ (i, j) ∼ (0, 2i, 6j).


4.9 DHAR’S BURNING ALGORITHM 195

4.9 Dhar’s burning algorithm

Dhar’s algorithm gives an efficient procedure for checking whether or not


a configuration (or divisor) on a graph is q-reduced. An ordered version of
Dhar’s algorithm due to Cori and Le Borgne, using a fixed ordering of the
edges of a graph, gives a bijection between spanning trees and q-reduced
degree 0 divisors (and hence elements of the critical group). A careful look at
this bijection reveals that it can be used to prove a result of Merino [Me97]
relating the Tutte polynomial to a partition of the collection of q-reduced
degree 0 divisors by weight (total degree off q). Baker and Shokrieh [BS13] is
a good source for additional applications of Dhar’s algorithm. Compare also
to Lemma 4.3.33.
Suppose that we start with a q-legal configuration s. We will construct
a finite sequence of sets of marked or “burned” vertices, V0 = {q} ⊂ V1 ⊂
· · · ⊂ Vl and a corresponding sequence of sets of marked or “burned” edges
E0 = φ ⊂ E1 ⊂ · · · ⊂ El . We will let Wi = Vic be the complement of Vi , i.e.,
Wi is the i-th set of unmarked or unburned vertices. Each burning move
consists of two steps, the first of which marks or burns edges, and the second
of which marks or burns vertices. The first step of the first burning move
consists of adding all edges adjacent to V0 = {q} to E0 to form E1 . The second
step consists of identifying all vertices v = q for which outdegW0 (v) > s(v)
and adding them to V0 to form V1 . Note that, for v ∈ W0 , outdegW0 (v) is the
number of edges in E1 adjacent to v. We can think of the vertices added in
the first step as the obstacles to being able to perform a set-firing move on
W0 .
Similarly, the first step of the i-th burning move consists of adding all edges
adjacent to Vi−1 to Ei−1 to form Ei . Note that for v ∈ Wi−1 , outdegWi (v)
is the number of edges in Ei adjacent to v. The second step consists of
identifying all vertices v ∈ Wi−1 for which outdegWi−1 (v) > s(v) and adding
them to Vi−1 to form Vi . In terms of the burning metaphor, a vertex is burned
in the i-th step if the number of burned edges adjacent to it in the i-th step
is larger than s(v). The process stops when it is no longer possible to add
vertices to Vi , which will be in at most n − 1 moves.

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.

Proof. Suppose that Vf = V and let W be the complement of Vf . Then


outdegW (v) ≤ s(v), for all v in W . This means that the set W can be fired
q-legally, so s is not q-reduced.
Conversely, suppose that s is not q-reduced. Then there exists a set W ⊂
V \ {q} that can be fired q-legally, i.e., such that outdegW (v) ≤ s(v), for all v
in W . Consider the sequence of sets of vertices V0 = {q} ⊂ V1 ⊂ · · · ⊂ Vl = Vf
196 4 CHIP-FIRING GAMES

constructed by the burning moves described above. If Vf contains a vertex


of W , let k be the least integer such that Vk contains a vertex of W and
let v be such a vertex. This means that v was burned at the k-th step, so
that outdegWk−1 (v) > s(v). Since Vk−1 did not contain any vertex of W ,
we have W ⊂ Wk−1 . But outdegree cannot increase as we make a set larger,
so outdegW (v) ≥ outdegWk−1 (v). Thus outdegW (v) > s(v), which contradicts
our assumption that W can be fired q-legally. Thus Vf can’t contain any
vertex of W , so Vf = V . 

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

V0 = {q}, E0 = φ, and W0 = {v2 , v3 , v4 }.

For the next step, we add the edges e1 and e2 adjacent to q to the set of
burned edges. We note that

outdegW0 (v2 ) = 1, outdegW0 (v3 ) = 1, and outdegW0 (v4 ) = 0.

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

V1 = {q, v3 }, E1 = {e1 , e2 }, and W1 = {v2 , v4 }.

Now
outdegW1 (v2 ) = 2 and outdegW1 (v4 ) = 1.

Since outdegW1 (v2 ) > s1 (v2 ) = 1, we burn v2 to obtain

V2 = {q, v2 , v3 }, E2 = {e1 , e2 , e3 , e5 }, and W2 = {v4 }.

Finally, outdegW2 (v4 ) = 2 > s1 (v4 ) = 1, so we add v4 to the set of burned


vertices to obtain V3 = {q, v2 , v3 , v4 }. Since all vertices are burned by Dhar’s
algorithm, s1 is q-reduced.
Now consider s2 = (−2, 1, 1, 0). We start with the same sets V0 , E0 , and
W0 . The outdegrees of the vertices of W0 are the same as before. Since there
is no vertex vi in W0 whose outdegree exceeds s(vi ), no vertex in W0 can
be burned. Therefore, Dhar’s algorithm applied to s2 terminates before all
vertices are burned, so s2 is not reduced.
4.9 DHAR’S BURNING ALGORITHM 197

e1 e2

e3
v2 v3

e4 e5

v4

Figure 4.13: A diamond graph with an edge ordering.

4.9.1 Finding reduced configurations

Here we give a brief description of an algorithm for calculating the reduced


representatives of the critical group (Jacobian) of a connected graph Γ. As
usual, we assume that Γ may have multi-edges but does not have loops.
Suppose that v1 , v2 , . . . , vn is an ordering of the vertices of Γ. We let A be
the adjacency matrix of Γ with respect to this ordering, so that Aij is the
number of edges between vi and vj . We let Q be the Laplacian matrix of Γ
with respect to the same ordering. We will suppose that q = v1 is the sink
vertex.
Let s be a q-legal configuration on Γ. First we recall Dhar’s algorithm (in
a slightly different form) for determining whether there is a non-empty set of
vertices in V \ {q} that can be fired q-legally. If s is q-reduced, the algorithm
below will return the empty set. If s is not q-reduced, the algorithm will
return a set of vertices in V \ {q} that can be fired q-legally. We then fire this
set to obtain a new q-legal configuration s and repeat the algorithm. We have
shown previously that if s is q-legal, we will obtain a q-reduced configuration
after firing a finite number of sets in this manner.
Initialize Vold as the empty set and Vnew = {q}. While Vnew = V and
Vold = Vnew , do the following.
1. Set Vold = Vnew .
2. Let W be the complement of Vold and let xW be the characteristic
vector of W , i.e.,
198 4 CHIP-FIRING GAMES

0, if vi ∈ Vold ,
xW (i) =
1, if vi ∈
/ Vold .

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.

Exercise 4.17. Consider the configuration s = (−6, 2, 1, 3) on the diamond


graph of Example 4.9.2. Use Dhar’s algorithm to find a sequence of q-legal
set-firings that take s to an equivalent reduced configuration.

4.9.2 Finding a q-legal configuration equivalent to s

Suppose now that s is any configuration (equivalently, s is a degree 0 divisor).


We wish to find an equivalent q-legal configuration s . First note that we can
write s in the form s = s+ − s− , where s+ and s− are q-legal configurations.
Let M be the maximal stable configuration on Γ. Since M + s− is q-legal, we
may find (by the algorithm above) a q-reduced divisor t which is equivalent
to M + s− . Since t is q-reduced, t is also q-stable, so M − t is q-legal. Note
that −s− is equivalent to M − t. Thus s+ − s− is equivalent to s+ + (M − t),
which is q-legal.
Now we have a method of finding a q-reduced configuration equivalent to
a given configuration s, even when s is not q-legal.

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

The maximal q-stable degree 0 configuration on Γ is M = (−5, 2, 2, 1).


The configuration M + s− = (−8, 3, 2, 3) is q-legal. We use Dhar’s algorithm
to find that the sequence of sets {v2 , v3 , v4 }, {v2 , v3 , v4 }, {v4 }, {v2 , v3 , v4 }
may be fired q-legally to obtain the equivalent q-reduced configuration t =
(−2, 1, 0, 1).
The configuration M − t = (−3, 1, 2, 0) is equivalent to −s− . Thus the
original configuration s = s+ − s− is equivalent to s+ + (M − t) = (−4, 1,
3, 0), which is q-legal.
Note that further application of Dhar’s algorithm to (−4, 1, 3, 0) gives the
q-reduced configuration (−2, 0, 2, 0) which is equivalent to (−4, 1, 3, 0) and
thus to s.

Exercise 4.18. Recall that s = (−2, 1, 0, 1) is a q-reduced configuration on


the diamond graph Γ of Example 4.9.2. Use Dhar’s algorithm and the method
of Example 4.9.4 to find the q-reduced configuration equivalent to −s.

4.9.3 Ordered Dhar’s algorithm

An ordered version of Dhar’s algorithm (due to Cori and Le Borgne), with


respect to a fixed ordering on the edges of a graph, will be used to prove a
result of Merino relating the Tutte polynomial to a partition of the collection
of q-reduced divisors of degree 0 by weight. The result is stated by Merino in
the dual terminology of q-critical divisors rather than q-reduced divisors. We
approach it using a variation of Dhar’s burning algorithm, as in Baker and
Shokrieh [BS13].
Suppose that Γ = (V, E) is a connected graph with a distinguished vertex
q.

Definition 4.9.5. Let D = v∈V av v be a divisor on Γ. The weight of D is


defined to be 
w(D) = av .
v=q

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.

Algorithm 4.9.6. (Ordered Dhar’s algorithm) Suppose that we have a fixed


ordering on the edges of Γ. The following ordered version of Dhar’s algorithm,
due

to Cori and Le Borgne, assigns to each q-reduced degree 0 divisor D =


v∈V av v on Γ a spanning tree TD .
200 4 CHIP-FIRING GAMES

We think of av as the number of firefighters at vertex v, for v = q. The


weight of the divisor D is thus the total number of firefighters. Each firefighter
can prevent a fire from spreading to v from one adjacent edge. When fires
approach v from more than av adjacent edges, we burn v. We think of the
ordering of edges as giving us their flammability, so that higher order edges
are more flammable than lower order. We start by burning the sink vertex q.
At each step, we pick the highest order unburned edge e which is adjacent to
a burned vertex and burn it. If the burned edge e is adjacent to an unburned
vertex v, and if there are now more than av burned edges adjacent to v, we
immediately burn v and mark e as one of the tree edges. Since D is reduced,
we will eventually burn through all vertices of Γ, by Dhar’s criterion for
reduced divisors. When all vertices have been burned, we stop. We obtain a
set TD of |V | − 1 marked edges, which form a connected spanning subgraph
TD of Γ. Thus TD must be a spanning tree.
Example 4.9.7. Consider K4 with the edge ordering as shown in Figure
4.14.
Let q = v1 be the sink vertex. We will list the sequence in which vertices
and edges are burned for one v1 -reduced degree 0 divisor, in order to illus-
trate the process of finding the corresponding spanning tree by the ordered
Dhar’s algorithm. We then, in the Appendix, give a table showing all 16 v1 -
reduced divisors of degree 0 and the corresponding spanning trees for the
given ordering of edges.
Consider the divisor
D = −2v1 + 2v2 .

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

The burning sequence is

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.

Lemma 4.9.11. Let D be a q-reduced divisor and let T = TD be the spanning


tree of Γ produced by the ordered Dhar’s burning process. The edges which
are externally passive for T (i.e., the edges in E \ T which are not externally
active) are the edges that get burned and put out by firefighters in the burning
process, and consequently do not burn through new vertices.
Let w(D) be the weight of D, i.e., the number of chips (or firefighters) on
vertices other than q. The number of externally passive edges for T is equal
to the w(D).

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. 

Example 4.9.12. In Example 4.9.7, the weight of the divisor D = −2v1 +


2v2 is w(D) = 2, corresponding to the two externally passive edges e4 and e5
for TD . The edges e4 and e5 get burned and put out by firefighters at v2 , so
the fires on these edges do not burn through any new vertices.

The following corollaries are immediate consequences of Lemma 4.9.11.

Corollary 4.9.13. Let D be a q-reduced divisor and let T = TD be the span-


ning tree of Γ produced by the ordered Dhar’s burning process. Any edge which
is not burned must be externally active for T .
4.9 DHAR’S BURNING ALGORITHM 203

Corollary 4.9.14. Let D be a q-reduced divisor and let T = TD be the span-


ning tree of Γ produced by the ordered Dhar’s burning process. Let w(D) be
the weight of D, i.e., the number of chips (or firefighters) on vertices other
than q. Then the number of externally active edges for T is g − w(D).

We can now restate our classification of the edges of Γ as follows: The


edges of T are those which are burned, are not put out by firefighters, and
burn through a vertex. The externally active edges are those which either
never burn or burn only after both endpoints have already been burned.
The externally passive edges are those which are burned and put out by
firefighters, so do not burn through a vertex.

Proposition 4.9.15. The map from q-reduced divisors of degree 0 to span-


ning trees of Γ given by the ordered Dhar’s burning algorithm is a bijection.

The well-known spanning tree theorem is an immediate consequence.

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.

Algorithm 4.9.17. (Reverse ordered Dhar’s algorithm) Let T be a span-


ning tree of Γ
with j externally active edges. We will construct a q-reduced
divisor DT = av v of degree 0 and weight g − j and such that this map
from spanning trees to q-reduced divisors of degree 0 is the inverse of the
map given by the ordered Dhar’s burning algorithm.
We start a burning process at q, always burning the highest order edge
adjacent to a burned vertex. The fire spreads from an edge to an unburned
adjacent vertex if and only if the edge is in T . We terminate the process when
all edges of T have been burned (i.e., when all vertices of the graph have been
burned).
When we burn through a vertex v = q from a tree edge t, we assign the
number of firefighters av at v to be one fewer than the number of burned
edges adjacent to v at that time (so t is the av -th burned edge adjacent to
v). The value of aq is chosen so that the degree of
D is 0.
Showing that the weight of the divisor D = av v determined by this
process is g − j amounts to reversing the arguments of Lemmas 4.9.11 and
4.9.9 above: we show that externally passive edges are all burned and put out
by firefighters, and externally active edges are either unburned, or burned
only after both adjacent vertices have been burned.
Similarly, it is straightforward to check that the map determined by this
algorithm is the inverse of the map determined by the ordered Dhar’s algo-
rithm.
204 4 CHIP-FIRING GAMES

4.9.4 Merino’s theorem

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

this means that the coefficient of y in TΓ (1, y) is the number of q-reduced


divisors of weight g − j.

Proof. By Proposition 4.9.15, there is a bijection between spanning trees of


Γ and q-reduced degree 0 divisors. Furthermore, by Corollary 4.9.14, a q-
reduced degree 0 divisor D of weight w(D) corresponds to spanning tree
with j = g − w(D) externally active edges. Equivalently, a spanning tree
with j externally active edges corresponds to a q-reduced degree 0 divisor
of weight g − j. 

Example 4.9.19. We showed in Example 1.2.10 that, with respect to the


edge ordering in that example, there are 6 spanning trees of K4 with j = 0
externally active edges, 6 spanning trees with j = 1, 3 spanning trees with
j = 2, and 1 spanning tree with j = 3. These correspond to the 6 q-reduced
degree 0 divisors with weight 3, 6 q-reduced divisors with weight 2, 3 q-
reduced divisors with weight 1, and 1 q-reduced divisor with weight 0. See
also Example 4.9.7 and Exercise 4.19 and its solution.

Recall that a divisor D is called non-special if it has degree g − 1 and the


dimension of its linear system |D| is r(D) = −1.

Corollary 4.9.20. The number of q-reduced non-special divisors on Γ (which


is equal to the number of q-reduced degree 0 divisors of weight g) is given by
TΓ (1, 0).

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

Tcube (1, 0) = 133.

Corollary 4.9.20 can be restated as follows: on a connected graph Γ, the


number of q-reduced divisors D of degree g − 1 and with r(D) = −1 is given
by TΓ (1, 0). In light of this result, it is natural to ask whether the number of
q-reduced divisors of degree d and r(D) = s, for any d and s, can be given
by some evaluation of the Tutte polynomial. The answer is no, as shown by
an example due to Clancy, Leake, and Payne [CLP15] and described in the
following exercise.
Exercise 4.20. Show that one of the graphs of Example 4.6.5 has a divisor
D with degree 2 and r(D) = 1 and the other doesn’t.
Remark 4.9.23. An orientation of the edges of Γ is said to be an acyclic
orientation if it does not contain any directed cycles. It can be shown that
for a connected graph Γ, and for any vertex q of Γ, TΓ (1, 0) is the number of
acyclic orientations on Γ with a unique source q. Thus the number of acyclic
orientations with unique source q is the number of non-special divisors on Γ.
See Benson, Chakrabarty, and Tetali [BCT10] for more details.

4.9.5 Computing the critical group of a graph

Dhar’s algorithm gives a way to find reduced representatives of the elements


of the critical group of a small graph without using the Smith normal form,
as follows:
First create a list of all q-stable configurations. Each vertex v other than
q can have between 0 and deg(v) − 1 chips on it. Thus, the number of stable
configurations is
n
deg(vi ).
i=2

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

4.10 Application: Biggs’ cryptosystem

In this section we will discuss a cryptosystem proposed by Biggs, based on


critical groups.
In [Bi99], Biggs showed that the critical group of the n-vertex wheel graph
Wn is given by
Jac(Wn ) ∼
= Z/n−1 Z ⊕ Z/n−1 Z,

when n is even, and

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,

so n = fn + fn−2 . Biggs [Bi07], modifies these wheel graphs slightly to obtain


a family of graphs whose critical groups are cyclic. Using these cyclic critical
groups, Biggs proposes a new cryptosystem based on (the hoped difficulty
of) the discrete logarithm on this group.
What is surprising is that the discrete log problem (DLP) is actually not
computationally difficult to solve on critical groups. Indeed, Shokrieh [Sh09]
showed that all such critical groups K have a pairing (the energy pairing
described in §4.4) which is efficiently computable. This pairing can be used
to solve the discrete log problem.
Algorithm 4.10.1. (DLP on Jac(Γ))
Input: D, D ∈ Div0 (Γ) such that D = x · D in Jac(Γ).
Output: x (mod ord(D)), the order of D in Jac(Γ).
(1) Compute D, g
= r + Z and D , g
= r + Z using formula for the
pairing in terms of the Moore–Penrose inverse.
(2) Solve the Diophantine equation r = rx + y (for variables x, y ∈ Z) by
clearing the denominators of r and r and using the extended Euclidean
algorithm, to get x (mod ord(D)).
Indeed, the following example shows how to carry this out in a simple case.
Example 4.10.2. Consider the graph Γ with adjacency matrix
⎛ ⎞
0 1 0 1
⎜ 1 0 1 1⎟
A=⎜
⎝ 0

1 0 1⎠
1 1 1 0
4.10 APPLICATION: BIGGS’ CRYPTOSYSTEM 207

and Laplacian ⎛ ⎞
2 −1 0 −1
⎜ −1 3 −1 −1 ⎟
Q=⎜
⎝ 0 −1

2 −1 ⎠
−1 −1 −1 3

depicted in Figure 4.15.

0• •1

3• •2

Figure 4.15: A graph having 4 vertices, with critical group Z/8Z.

The critical group K = Jac(Γ) is a cyclic group of order 8. The following


list enumerates the critical configurations:

c0 = (−5, 2, 1, 2), c1 = (−4, 2, 1, 1), c2 = (−4, 1, 1, 2), c3 = (−4, 2, 0, 2),

c4 = (−3, 2, 0, 1), c5 = (−3, 1, 0, 2), c6 = (−3, 0, 1, 2), c7 = (−3, 2, 1, 0).

The corresponding reduced configurations are

r0 = (0, 0, 0, 0), r1 = (−1, 0, 0, 1), r2 = (−1, 1, 0, 0), r3 = (−1, 0, 1, 0),

r4 = (−2, 0, 1, 1), r5 = (−2, 1, 1, 0), r6 = (−2, 2, 0, 0), r7 = (−2, 0, 0, 2).

The group table of K, in terms of the reduced configurations, is as follows:

∗ 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

The group table of K, in terms of the critical configurations, is as follows:

∗ 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

Next we compute the values of the energy pairing, ci , cj


.

,
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 discrete log problem example. Let a = c1 and b = c5 . Compute x such


that b = ax . We compute the pairing using the table above:

a, b
= 7/8, a, a
= 5/8.

Note 3 · 5 ≡ 7 (mod 8), so 3 · 58 ≡ 78 (mod 1), that is, 3 · 58 = 78 in Q/Z.


Because 7/8 = a, b
= x a, a
= x · 5/8, this implies x = 3. Indeed, it is easy
to check, using the multiplication table above, b = a3 .

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

Γk (v) = {u ∈ V | dist(u, v) = k}.

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).

We say a graph is distance-transitive if, for any k ≥ 0, and any (u1 , v1 ) ∈ V ×V


and (u2 , v2 ) ∈ V × V with dist(ui , vi ) = k (for i = 1, 2), there is a g ∈ G such
that g(ui ) = vi (for i = 1, 2).
We say a graph is distance-regular if for any k ≥ 0 and any (v1 , v2 ) ∈ V ×V
with dist(v1 , v2 ) = k, the numbers

ak = |Nv1 (Γk (v2 )|,

bk = |Nv1 (Γk+1 (v2 )|,

c Springer International Publishing AG 2017 209


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 5
210 5 INTERESTING GRAPHS

ck = |Nv1 (Γk−1 (v2 )|,

are independent of v1 and v2 .


An edge-transitive graph is a graph Γ such that, given any two edges e1
and e2 of Γ, there is an automorphism of Γ that maps e1 to e2 . Analogously,
a vertex-transitive graph is a graph Γ such that, given any two vertices v1
and v2 of Γ, there is an automorphism of Γ that maps v1 to v2 .

5.1 Biggs–Smith graph

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

x17 (x − 2)18 (x − 3)1 (x2 − x − 4)9 (x3 + 3x2 − 3)16 .

Its automorphism group is isomorphic to P SL(2, 17).


Computer calculations show that the critical group of the Biggs–Smith
graph has invariant factors

(9, 153, 153, 153, 153, 153, 153, 153, 306, 306, 306, 306, 306, 306, 306, 306).
Sage

sage: Gamma = graphs.BiggsSmithGraph()


sage: Gamma.is_regular()
True
sage: Gamma.is_regular(3)
True
sage: Gamma.diameter()
7
sage: Gamma.is_distance_regular()
True
sage: Gamma.is_edge_transitive()
True
sage: Gamma.vertex_connectivity()
3
sage: len(Gamma.edges())
153
sage: len(Gamma.vertices())
102

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

Figure 5.1: A Biggs–Smith graph example.


212 5 INTERESTING GRAPHS

Exercise 5.1. Use Sage to verify that the girth of the Biggs–Smith graph
is 9.

5.2 Brinkmann graph

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

(x−4)·(x−2)·(x+2)·(x3 −x2 −2x+1)2 ·(x6 +3x5 −8x4 −21x3 +27x2 +38x−41)2 .

Computer calculations show that the critical group of the Brinkmann


graph has invariant factors (50594, 354158).
Sage

sage: Gamma = graphs.BrinkmannGraph()


sage: Gamma.is_regular(4)
True
sage: Gamma.diameter()
3
sage: Gamma.is_distance_regular()
False
sage: Gamma.girth()
5
sage: Gamma.edge_connectivity()
4
sage: Gamma.is_edge_transitive()
False
sage: Gamma.is_vertex_transitive()
False
sage: Gamma.vertex_connectivity()
4
sage: len(Gamma.edges())
42
sage: len(Gamma.vertices())
21
sage: Gamma.automorphism_group().order()
14

Exercise 5.2. Use Sage to verify that the radius of the Brinkmann graph
is 3.
5.2 BRINKMANN GRAPH 213

Figure 5.2: A Brinkmann graph example.


214 5 INTERESTING GRAPHS

5.3 Chvátal graph

The Chvátal graph, depicted2 in Figure 5.3, is an undirected graph with 12


vertices and 24 edges, with girth 4. It is 4-regular and has chromatic number
4.
Computer calculations show that the critical group of the Chvátal graph
has invariant factors (6, 42, 1680).
Sage

sage: Gamma = graphs.ChvatalGraph()


sage: Gamma.edge_connectivity()
4
sage: Gamma.girth()
4
sage: len(Gamma.vertices())
12
sage: len(Gamma.edges())
24
sage: Gamma.vertex_connectivity()
4
sage: Gamma.is_vertex_transitive()
False
sage: Gamma.is_edge_transitive()
False
sage: Gamma.diameter()
2
sage: Gamma.is_regular(4)
True
sage: A = Gamma.adjacency_matrix(); A
[0 1 0 0 1 0 1 0 0 1 0 0]
[1 0 1 0 0 1 0 1 0 0 0 0]
[0 1 0 1 0 0 1 0 1 0 0 0]
[0 0 1 0 1 0 0 1 0 1 0 0]
[1 0 0 1 0 1 0 0 1 0 0 0]
[0 1 0 0 1 0 0 0 0 0 1 1]
[1 0 1 0 0 0 0 0 0 0 1 1]
[0 1 0 1 0 0 0 0 1 0 0 1]
[0 0 1 0 1 0 0 1 0 0 1 0]
[1 0 0 1 0 0 0 0 0 0 1 1]
[0 0 0 0 0 1 1 0 1 1 0 0]
[0 0 0 0 0 1 1 1 0 1 0 0]
sage: A.characteristic_polynomial().factor()
(x - 4) * (x + 1) * x^2 * (x + 3)^2 * (x - 1)^4 * (x^2 + x - 4)
sage: Gamma.automorphism_group().order()
8

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

the public domain.


5.3 CHVÁTAL GRAPH 215

Figure 5.3: A Chvátal graph example.


216 5 INTERESTING GRAPHS

5.4 Coxeter graph

The Coxeter graph, depicted in Figure 5.4, is a 3-regular graph with 28


vertices and 42 edges. It has chromatic number 3, chromatic index 3, radius
4, diameter 4, and girth 7. It is also distance-regular, 3-vertex-connected, and
3-edge-connected.
Computer calculations show that the critical group of the Coxeter graph
has invariant factors (8, 56, 56, 56, 56, 56) and has characteristic polynomial

(x − 3) · (x + 1)7 · (x − 2)8 · (x2 + 2x − 1)6 .


Sage

sage: Gamma = graphs.CoxeterGraph()


sage: G = Gamma.automorphism_group()
sage: G.cardinality()
336
sage: Gamma.girth()
7
sage: Gamma.is_distance_regular()
True
sage: Gamma.is_edge_transitive()
True
sage: Gamma.is_vertex_transitive()
True

Exercise 5.4. Use Sage to verify that the diameter of the Coxeter graph
is 4.

5.5 Desargues graph

This graph, depicted3 in Figure 5.5, is a distance-transitive 3-regular graph


with 20 vertices and 30 edges. Its automorphism group acts regularly and is
order 240.
The characteristic polynomial of the Desargues graph is

3 This plot by David Eppstein found on the Wikipedia page for the Desargues graph is in

the public domain.


5.5 DESARGUES GRAPH 217

Figure 5.4: Coxeter graph.


218 5 INTERESTING GRAPHS

(x − 3)(x − 2)4 (x − 1)5 (x + 1)5 (x + 2)4 (x + 3).

Computer calculations show that the critical group of the Desargues graph
has invariant factors (4, 8, 40, 40, 120).
Sage

sage: Gamma = graphs.DesarguesGraph()


sage: len(Gamma.edges())
30
sage: len(Gamma.vertices())
20
sage: Gamma.is_regular(3)
True
sage: Gamma.is_distance_regular()
True
sage: Gamma.is_edge_transitive()
True
sage: Gamma.is_vertex_transitive()
True
sage: Gamma.show(layout="circular", dpi = 300)
sage: Gamma.automorphism_group().order()
240

Exercise 5.5. Use Sage to verify that the diameter of the Desargues graph
is 5.

5.6 Dürer graph

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

(x − 3) · (x − 1) · x2 · (x + 2)2 · (x2 − 5) · (x2 − 2)2 .

Computer calculations show that the critical group of the Dürer graph has
invariant factors (35, 210).
5.6 DÜRER GRAPH 219

Figure 5.5: A Desargues graph example.


220 5 INTERESTING GRAPHS

Sage

sage: Gamma = graphs.DurerGraph()


sage: Gamma.is_edge_transitive()
False
sage: Gamma.is_regular(4)
False
sage: Gamma.is_regular(3)
True
sage: Gamma.is_distance_regular()
False
sage: Gamma.is_vertex_transitive()
False
sage: Gamma.is_perfect()
False
sage: Gamma.automorphism_group().order()
12

Figure 5.6: A Dürer graph example.

Exercise 5.6. Use Sage to verify that the diameter of the Dürer graph is 4.

5.7 Dyck graph

Depicted in Figure 5.7, this is a 3-regular graph Γ with 32 vertices and 48


edges, named after Walther von Dyck.
It is Hamiltonian with chromatic number 2, chromatic index 3, radius 5,
diameter 5, and girth 6. It is also a 3-vertex-connected and a 3-edge-connected
graph.
Computer calculations show that the critical group of the Dyck graph has
invariant factors (2, 8, 8, 16, 16, 32, 32, 32, 96), so

K(Γ) = Z/2Z × (Z/8Z)2 × (Z/16Z)2 × (Z/32Z)4 × Z/3Z.


5.7 DYCK GRAPH 221

Moreover, Γ has characteristic polynomial

(x − 3) · (x + 3) · (x − 1)9 · (x + 1)9 · (x2 − 5)6 .


Sage

sage: Gamma = graphs.DyckGraph(); Gamma


sage: Gamma.is_bipartite()
True
sage: Gamma.is_vertex_transitive()
True

The automorphism group of Γ is order 192 = 3 · 64. The 3-Sylow subgroup


G of this automorphism group has orbits (with respect to the vertex labels
in Figure 5.7)

{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 quotient graph Γ/G has critical group

K(Γ/G) = Z/2Z × Z/9Z × Z/16Z.

The element

(0, 1, 2, 3, 4, 5, 6, 7)(8, 9, 10, 11, 12, 13, 14, 15)×

×(16, 17, 18, 19, 20, 21, 22, 23)(24, 25, 26, 27, 28, 29, 30, 31) ∈ Aut(Γ)

acts by rotating the graph Γ counterclockwise in each shell depicted in Figure


5.7. This element generates a subgroup of order 8, H ⊂ Aut(Γ). The quotient
Γ/H is the path graph on 4 vertices (whose critical group is trivial, as it is a
tree, by Lemma 4.7.1).

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

Figure 5.7: The Dyck graph.


5.8 ERRERA GRAPH 223

5.8 Errera graph

This is a graph with 17 vertices and 45 edges discovered by Alfred Errera.


Depicted in Figure 5.4, it provides an example of how Kempe’s 1879 “proof”
of the four color theorem cannot work.
The Errera graph Γ is planar and has chromatic number 4, chromatic
index 6, radius 3, diameter 4, and girth 3. It is a 5-vertex-connected graph
and a 5-edge-connected graph. The graph Γ is not a vertex-transitive graph
and its full automorphism group is isomorphic to the dihedral group of order
20, D20 .
The quotient Γ/D20 is the tree with three vertices, 0, 1, 2, associated with
the following D20 -orbits:

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

(x2 − 2x − 5) · (x2 + x − 1)2 · (x3 − 4x2 − 9x + 10)×

×(x4 + 2x3 − 7x2 − 18x − 9)2 .


Sage

sage: Gamma = graphs.ErreraGraph()


sage: G = Gamma.automorphism_group()
sage: G.cardinality()
20
sage: G.is_isomorphic(DihedralGroup(10))
True
sage: Gamma.is_vertex_transitive()
False
sage: Gamma.is_distance_regular()
False
sage: Gamma.girth()
3

Exercise 5.10. Use Sage to verify that the radius of the Errera graph is 3.
224 5 INTERESTING GRAPHS

Figure 5.8: An Errera graph example.


5.9 FOSTER GRAPH 225

5.9 Foster graph

Foster graph is a 3-regular graph with 90 vertices and 135 edges.


The Foster graph is Hamiltonian, with chromatic number 2, chromatic
index 3, radius 8, diameter 8 and girth 10. It is also bipartite, 3-vertex-
connected and 3-edge-connected graph.
Computer calculations show that the critical group of the Foster graph
has invariant factors

(8, 8, 8, 8, 8, 8, 8, 24, 24, 72, 360, 360, 360, 360, 360, 360, 360, 1080)

and characteristic polynomial

(x − 3) · (x + 3) · (x − 2)9 · (x + 2)9 · x10 ×

×(x − 1)18 · (x + 1)18 · (x2 − 6)12 .


Sage

sage: Gamma = graphs.FosterGraph()


sage: Gamma.is_vertex_transitive()
True
sage: Gamma.is_hamiltonian()
True
sage: Gamma.girth()
10
sage: Gamma.chromatic_number()
2
sage: Gamma.is_bipartite()
True
sage: Gamma.automorphism_group().order()
4320
sage: Gamma.is_regular()
True
sage: Gamma.is_edge_transitive()
True

Exercise 5.11. Use Sage to verify that the diameter of the Foster graph
is 8.

5.10 Franklin graph

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

Figure 5.9: A Foster graph example.


5.11 GRAY GRAPH 227

(x − 3) · (x + 3) · (x − 1)3 · (x + 1)3 · (x2 − 3)2 .

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

It has an automorphism group G of order 48 which acts transitively on


the vertices but not on the edges of Γ. The quotient Γ/G is the empty graph
having one vertex.

Exercise 5.12. Use Sage to verify that the diameter of the Franklin graph
is 3.

5.11 Gray graph

This is an undirected bipartite graph with 54 vertices and 81 edges. It is a


3-regular graph discovered by Marion C. Gray in 1932.
The Gray graph has chromatic number 2, chromatic index 3, radius 6, and
diameter 6. It is also a 3-vertex-connected and 3-edge-connected non-planar
graph.
The Gray graph is an example of a graph which is edge-transitive but not
vertex-transitive.
228 5 INTERESTING GRAPHS

Figure 5.10: A Franklin graph example.


5.12 GRÖTZSCH GRAPH 229

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

(x − 3) · (x + 3) · x16 · (x2 − 6)6 · (x2 − 3)12 .


Sage

sage: Gamma = graphs.GrayGraph()


sage: Gamma.is_bipartite()
True
sage: Gamma.is_edge_transitive()
True
sage: Gamma.is_vertex_transitive()
False
sage: Gamma.is_hamiltonian()
True
sage: Gamma.diameter()
6

Exercise 5.13. Use Sage to verify that the radius of the Gray graph is 6.

5.12 Grötzsch graph

This is a triangle-free graph with 11 vertices, 20 edges, and chromatic number


4, named after German mathematician Herbert Grötzsch. Depicted in Figure
5.12, it has chromatic index 5, radius 2, girth 4, and diameter 2. It is also a
3-vertex-connected and 3-edge-connected graph.
Computer calculations show that the critical group of the Grötzsch graph
has invariant factors (139, 278) and has characteristic polynomial

(x − 1)5 · (x2 − x − 10) · (x2 + 3x + 1)2 .


230 5 INTERESTING GRAPHS

Figure 5.11: A Gray graph example.


5.12 GRÖTZSCH GRAPH 231

Sage

sage: Gamma = graphs.GrotzschGraph()


sage: G = Gamma.automorphism_group()
sage: G.cardinality()
10
sage: G.is_isomorphic(DihedralGroup(5))
True
sage: Gamma.girth()
4
sage: Gamma.diameter()
2
sage: Gamma.is_distance_regular()
False
sage: Gamma.is_vertex_transitive()
False
sage: Gamma.is_edge_transitive()
False

Figure 5.12: A Grötzsch graph example.

Exercise 5.14. Use Sage to verify that the radius of the Grötzsch graph
is 2.
232 5 INTERESTING GRAPHS

5.13 Heawood graph

This graph, depicted in Figure 5.13, is an undirected graph with 14 vertices


and 21 edges, named after Percy John Heawood. It is a 3-regular, distance-
transitive, distance-regular graph. It has chromatic number 2 and chromatic
index 3.
The automorphism group of the Heawood graph is isomorphic to the pro-
jective linear group P GL2(7), a group of order 336. It acts transitively on
the vertices and on the edges of the graph. Therefore, this graph is vertex-
transitive.
Computer calculations show that the critical group of the Heawood graph
has invariant factors (7, 7, 7, 7, 21) and has characteristic polynomial

(x − 3) · (x + 3) · (x2 − 2)6 .
Sage

sage: Gamma = graphs.HeawoodGraph()


sage: Gamma.radius()
3
sage: Gamma.is_edge_transitive()
True
sage: Gamma.is_vertex_transitive()
True
sage: Gamma.chromatic_number()
2
sage: Gamma.diameter()
3
sage: Gamma.line_graph().chromatic_number() # chromatic index
3
sage: Gamma.automorphism_group().order()
336

Exercise 5.15. Use Sage to verify that the girth of the Heawood graph is 6.

5.14 Hoffman graph

The Hoffman graph is a 4-regular graph with 16 vertices and 32 edges. It is


has the same spectrum as the hypercube graph of GF (2)4 .
Computer calculations show that the critical group of the Hoffman graph
has invariant factors (2, 2, 8, 24, 24, 24, 96) and has characteristic polynomial

(x − 4) · (x + 4) · (x − 2)4 · (x + 2)4 · x6 .

This graph has automorphism group G of size 48 with a center Z of order 2


for which G/Z ∼
= S4 , the symmetric group on 4 letters.
5.14 HOFFMAN GRAPH 233

Figure 5.13: The Heawood graph.


234 5 INTERESTING GRAPHS

Sage

sage: Gamma = graphs.HoffmanGraph()


sage: Gamma.is_distance_regular()
False
sage: Gamma.is_vertex_transitive()
False
sage: Gamma.is_strongly_regular()
False
sage: Gamma.is_regular()
True
sage: Gamma.is_edge_transitive()
False
sage: Gamma.is_hamiltonian()
True

Figure 5.14: A Hoffman graph plot.

Exercise 5.16. Use Sage to verify that the girth of the Hoffman graph is 4.
5.16 NAURU GRAPH 235

5.15 Hoffman–Singleton graph

The Hoffman–Singleton graph is a 7-regular undirected graph with 50 ver-


tices and 175 edges. It is the unique strongly regular graph with parameters
(50, 7, 0, 1). Its automorphism group G has the simple group P SU (3, 5) as a
subgroup of index 3.
Calculations using Sage show that the critical group of the Hoffman–
Singleton graph has invariant factors 5 (8 times), 10, and 50 (19 times).
Sage

sage: Gamma = graphs.HoffmanSingletonGraph()


sage: Gamma.is_hamiltonian()
True
sage: Gamma.is_edge_transitive()
True
sage: Gamma.is_strongly_regular()
True
sage: Gamma.is_vertex_transitive()
True
sage: Gamma.is_distance_regular()
True
sage: G = Gamma.automorphism_group()
sage: H = G.normal_subgroups()[1]
sage: H.structure_description()
’PSU(3,5)’
sage: G.quotient(H)
Permutation Group with generators [(), (1,2)]

The characteristic polynomial of the Hoffman–Singleton graph is equal to

(x − 7)(x − 2)28 (x + 3)21 .

Exercise 5.17. Use Sage to verify that the girth of the Hoffman–Singleton
graph is 5.

5.16 Nauru graph

Nauru graph, depicted4 in Figure 5.15, is a symmetric bipartite cubic graph


with 24 vertices and 36 edges, chromatic number 2, chromatic index 3, diam-
eter 4, radius 4, and girth 6. It is also a 3-vertex-connected and 3-edge-
connected graph.
Computer calculations show that the critical group of the Nauru graph
has invariant factors (5, 5, 5, 30, 120, 360) and characteristic polynomial

(x − 3) · (x + 3) · (x − 1)3 · (x + 1)3 · x4 · (x − 2)6 · (x + 2)6 .

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

sage: Gamma = graphs.NauruGraph()


sage: Gamma.automorphism_group().order()
144
sage: Gamma.is_vertex_transitive()
True
sage: Gamma.is_edge_transitive()
True
sage: Gamma.is_distance_regular()
False
sage: Gamma.is_regular(3)
True
sage: Gamma.is_regular(4)
False
sage: Gamma.diameter()
4
sage: Gamma.girth()
6

Exercise 5.18. Use Sage to verify that the girth of the Hoffman–Singleton
graph is 5.

5.17 Paley graphs

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

E = {(u, v) ∈ GF (q) × GF (q) | u − v ∈ (GF (q)× )2 }.

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

Figure 5.15: The Nauru graph.


238 5 INTERESTING GRAPHS

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

is an automorphism of the Paley graph.

Exercise 5.20. Show that the Frobenius map x


→ xp is an automorphism
of GF (q) with order r which induces an automorphism of the Paley graph.

Combining these exercises, we get a group of automorphisms of order


rq(q − 1)/2. Proving that this is the entire automorphism group is more
difficult, but details can be found in Kim and Praeger [KP09].
Sage

sage: Gamma = graphs.PaleyGraph(13)


sage: G = Gamma.automorphism_group()
sage: G.cardinality()
78
sage: Gamma.is_distance_regular()
True
sage: Gamma.is_vertex_transitive()
True
sage: Gamma.is_edge_transitive()
True
sage: Gamma.diameter()
2
sage: Gamma.girth()
3

5.18 Pappus graph

The Pappus graph, depicted in Figure 5.17, is 3-regular, symmetric, and


distance-regular.
The Pappus graph is a 3-regular undirected graph with 18 vertices and
27 edges, named after Pappus of Alexandria. The Pappus graph has girth 6,
diameter 4, radius 4, chromatic number 2, chromatic index 3, and is both
3-vertex-connected and 3-edge-connected.
Computer calculations show that the critical group of the Pappus graph
has invariant factors (2, 6, 6, 18, 18, 54). It has characteristic polynomial

(x − 3) · (x + 3) · x4 · (x2 − 3)6 .
5.18 PAPPUS GRAPH 239

Figure 5.16: A Paley graph example.


240 5 INTERESTING GRAPHS

Sage

sage: Gamma = graphs.PappusGraph()


sage: Gamma.is_regular()
True
sage: Gamma.is_planar()
False
sage: Gamma.is_vertex_transitive()
True
sage: Gamma.is_hamiltonian()
True
sage: Gamma.girth()
6
sage: Gamma.is_bipartite()
True
sage: Gamma.line_graph().chromatic_number()
3

Figure 5.17: The Pappus graph.


5.20 SHRIKHANDE GRAPH 241

Exercise 5.21. Use Sage to verify that the diameter of the Pappas graph
is 4.

5.19 Petersen graph

The Petersen graph is depicted in Figure 5.18. It is an undirected cubic,


strongly regular, distance-transitive graph with 10 vertices and 15 edges. It
has radius 2, diameter 2, girth 5, and chromatic number 3.
Computer calculations show that the critical group of the Petersen graph
has invariant factors (2, 10, 10, 10). It has automorphism group isomorphic to
S5 and characteristic polynomial

(x − 3) · (x + 2)4 · (x − 1)5 .
Sage

sage: Gamma = graphs.PetersenGraph()


sage: Gamma.is_distance_regular()
True
sage: Gamma.diameter()
2
sage: Gamma.automorphism_group().cardinality()
120
sage: G = Gamma.automorphism_group()
sage: G.is_isomorphic(SymmetricGroup(5))
True

Exercise 5.22. Use Sage to verify that the girth of the Petersen graph is 5.

5.20 Shrikhande graph

The Shrikhande graph, depicted in Figure 5.19, is a strongly regular graph


with 16 vertices and 48 edges. Each vertex has a degree of 6. The Shrikhande
graph is not a distance-transitive graph. It is the smallest distance-regular
graph that is not distance-transitive.
The Shrikhande graph is isomorphic to the Cayley graph of Z/4Z × Z/4Z,
where two vertices are adjacent if and only if the difference is in S =
{±(0, 1), ±(1, 0), ±(1, 1)}.
The characteristic polynomial of the Shrikhande graph is

(x − 6)(x − 2)6 (x + 2)9 .


242 5 INTERESTING GRAPHS

Figure 5.18: A Petersen graph example.


5.20 SHRIKHANDE GRAPH 243

Computer calculations show that the critical group of the Shrikhande


graph has invariant factors (2, 8, 8, 16, 16, 32, 32, 32, 32).
Sage

sage: Gamma = graphs.ShrikhandeGraph()


sage: Gamma.is_strongly_regular()
True
sage: Gamma.is_vertex_transitive()
True
sage: Gamma.is_distance_regular()
True
sage: Gamma.is_regular()
True
sage: Gamma.is_edge_transitive()
True

Figure 5.19: The Shrikhande graph.

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

Attached to an even function f : GF (p)n → GF (p), there is a Cayley graph


Γf (defined in §6.6). Some natural questions about such graphs arise.
Question 6.1. For f even, are there necessary and sufficient conditions for
Γf to be strongly regular?
Thanks to the work of several mathematicians, the answer to this question
is yes when p = 2. What about for p > 2?
Question 6.2. Find necessary and sufficient conditions for Γf to be con-
nected (and more generally find a formula for the number of connected com-
ponents of Γf ).
It turns out this is easy to answer. We aren’t sure who discovered this fact
first, but please see Lemma 6.11.1 for more details. See also Lemma 12 in
[CJMPW15].
Question 6.3. Classify the spectrum of Γf in terms of the values of the
Walsh–Hadamard transform of f .
The answer is known when p = 2 and first appeared in the PhD thesis
of A. Bernasconi [B98]. What about when p > 2? The answer to the anal-
ogous question for the Fourier transform is known for all primes p ≥ 2 (see
Proposition 6 in [CJMPW15]).
c Springer International Publishing AG 2017 245
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 6
246 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

Question 6.4. Which graph-theoretic properties of Γf can be tied to


function-theoretic properties of f ?

For further details, see §6.16.

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].

6.3 Bent functions

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 .

Definition 6.3.1. The Walsh or Walsh–Hadamard transform1 of a p-ary


function f : GF (p)n → GF (p) is the function Wf : GF (p)n → C given by

1 named for Joseph Walsh and Jacques Hadamard.


6.3 BENT FUNCTIONS 247

Wf (y) = ζ f (x)−y,x , (6.1)
x∈V

where  ,  is the usual inner product.

The Walsh transform has the following properties:


1. The Walsh coefficients Wf (y) satisfy Parseval’s equation

|Wf (y)|2 = p2n .
y∈V

2. If σ : Q(ζ) → Q(ζ) is defined by σ(ζ) = ζ k (where Q(ζ) is the field


extension of the rational numbers generated by adjoining ζ), and if

Wf (y)σ = (ζ k )f (x)−y,x ,
x∈V

then
Wf (y)σ = Wkf (ky).

Definition 6.3.2. A p-ary function f : GF (p)n → GF (p) is bent if

|Wf (y)| = pn/2 ,

for all y ∈ GF (p)n .

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)).

Definition 6.3.3. If f is any function on GF (p)n , we say that f is even if


f (−x) = f (x) for all x ∈ GF (p)n .

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

Definition 6.3.5. Given a complex-valued function g : GF (p)n → C, we


define the Fourier transform of g to be the function ĝ : GF (p)n → C (also
written g ∧ ) given by

ĝ(y) = g(x)ζ −x,y , (6.2)
x∈V

where ζ = e2πi/p and V = GF (p)n .

Note that

ĝ(0) = g(x).
x∈V

Note also that if f is a p-ary function, then

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.)

Exercise 6.1. The inverse Fourier transform of a complex-valued function


h : GF (p)n → C is the function h∨ : GF (p)n → C given by

1 
h∨ (y) = h(z)ζ z,y .
pn
z∈V

Show that for any function g : GF (p)n → C,

ĝ ∨ (y) = g(y).

Hint: Notice that if a ∈ GF (p)n \ {0}, then



ζ z,a = 0.
z∈V

Exercise 6.2. We say that a function g : GF (p)n → C is supported at 0


if g(y) = 0 for all y ∈ GF (p)n such that y = 0. Show that a function
g : GF (p)n → C is supported at 0 if and only if its Fourier transform ĝ is
constant.

Definition 6.3.6. We call a function g : GF (p)n → GF (p) balanced if the


cardinalities |g −1 (x)| (for x ∈ GF (p)) do not depend on x, i.e., |g −1 (x)| =
pn−1 for all x ∈ GF (p).
6.3 BENT FUNCTIONS 249

Lemma 6.3.7. Consider a function g : GF (p)n → GF (p), where we identify


GF (p) with the set {0, 1, 2, . . . , p−1}. The following conditions are equivalent:
(a) The map g is balanced.
(b) The Fourier transform of ζ g satisfies ζg (0) = 0.

Proof. Let

Si = {x | g(x) = i} (6.3)

for i ∈ GF (p). Note that

ζg (0) = |S0 | + |S1 |ζ + |S2 |ζ 2 + · · · + |Sp−1 |ζ p−1 ,

which we can regard as an identity in the (p − 1)-dimensional Q-vector space


Q(ζ). The identity

1 + ζ + ζ 2 + · · · + ζ p−1 = 0,

gives

ζˆg (0) − |S0 | + |S1 |


= (|S2 | − |S1 |) ζ 2 + (|S3 | − |S1 |) ζ 3 + · · · + (|Sp−1 | − |S1 |) ζ p−1 . (6.4)

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

|S2 | − |S1 | = |S3 | − |S1 | = · · · = |Sp−1 | − |S1 | = 0.

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. 

It is convenient to identify Z/pn Z with the set {0, 1, . . . , pn − 1}. We may


regard each element x ∈ Z/pn Z as a polynomial in p of degree at most n − 1,
and let η(x) be the list of coefficients, arranged in order of decreasing degree.
The map
η : Z/pn Z → GF (p)n (6.5)

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

Definition 6.3.8. We call an N ×N {1, −1}-matrix M a Hadamard matrix if

M M t = N IN ,

where IN is the N × N identity matrix. More generally, we call an N × N


complex matrix M a Butson matrix if
t
M M = 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

is Butson, where η is the p-ary representation map of (6.5).


(c) The derivative map Db f : GF (p)n → GF (p) given by

Db f (x) = f (x + b) − f (x) (6.6)

is balanced, for each b ∈ GF (p)n such that b = 0.


Proof. Let h : GF (p)n → C be defined by

h(b) = (ζ Db f )∧ (0) = ζ f (x+b)−f (x)
x∈V

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 .

Therefore, if f is bent then ĥ is a constant, which means that h is supported


at 0, by Exercise 6.2. Therefore, (ζ Db f )∧ (0) = 0 for b = 0. By Lemma 6.3.7,
Db f is balanced.
6.3 BENT FUNCTIONS 251

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),

where b = η(i)−η(k). If Db f is balanced, then by Lemma 6.3.7, (ζ Db f )∧ (0) =


t
0 for all b = 0. These are the off-diagonal terms in the product ζ F ζ F .
Those terms when b = 0 are the diagonal terms. These terms have the value
|V | = pn . This implies ζ F is Butson.
The proof that (b) implies (c) follows by reversing the above argument.
The details are omitted. 

Remark 6.3.10. If f : GF (2)n → GF (2) is bent, then n must be even. This


n
is because the Walsh transform of f has magnitude 2 2 , which must be an
integer.

Lemma 6.3.11. If f : GF (2)n → GF (2) is bent, then


n
|f −1 (1)| = 2n−1 ± 2 2 −1 .
n
Proof. By Remark 6.3.10, n is even. Since f is bent, |Wf (0)| = 2 2 . Let
k = |f −1 (1)|. Then ζ f = (−1)f takes the value −1 k times and the value 1
2n − k times. Therefore,

Wf (0) = k(−1) + (2n − k)


= 2n − 2k
n
= ±2 2 .

Solving for k gives


n
k = 2n−1 ± 2 2 −1 .

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

4 functions in terms of polynomials in two variables x0 and x1 over GF (2),


such that each variable occurs with power at most 1 in each term.
For small p and n, the bent functions f : GF (p)n → GF (p) can be found
by computer programs such as Sage.
Example 6.3.12. There are 34 = 81 even functions f : GF (3)2 → GF (3)
with f (0) = 0, of which exactly 18 are bent. These functions are discussed in
more detail in §6.13.1.
Example 6.3.13. There are 313 = 1594323 even functions f : GF (3)3 →
GF (3) with f (0) = 0, of which exactly 2340 are bent. These functions are
discussed in more detail in §6.13.2.
Example 6.3.14. There are 512 = 244140625 even functions f : GF (5)2 →
GF (5) with f (0) = 0, of which exactly 1420 are bent. These functions are
discussed in more detail in §6.13.3.
Remark 6.3.15. Potapov [Pot16] has shown that the minimal Hamming
distance between distinct p-ary bent functions on GF (p)n , when n is even,
n
is p 2 , where the Hamming distance between p-ary functions f1 and f2 on
GF (p)n is
d(f1 , f2 ) = |{v ∈ GF (p)n | f1 (v) = f2 (v)}|.

Exercise 6.4. Consider the 4 bent functions f : GF (2)2 → GF (2) with


f (0) = 0 of Exercise 6.3. Show that the Hamming distance between any two
of these functions is 2.

6.4 Duals and regularity of bent functions

Let f : GF (p)n → GF (p) be a p-ary function.


Definition 6.4.1. Suppose f is bent. We say f is regular if and only if
Wf (u)/pn/2 is a p-th root of unity for all u ∈ V = GF (p).
If f is regular, then there is a function f ∗ : GF (p)n → GF (p), called the

dual (or regular dual) of f , such that Wf (u) = ζ f (u) pn/2 , for all u ∈ V . We
2 ∗
call f weakly regular , if there is a function f : GF (p)n → GF (p), called

the dual (or μ-regular dual) of f , such that Wf (u) = μζ f (u) pn/2 , for some
constant μ ∈ C with absolute value 1.
Proposition 6.4.2. (Kumar, Scholtz, Welch) If f is bent, then there are
functions f∗ : GF (p)n → Z and f ∗ : GF (p)n → GF (p) such that
 ∗
(−1)f∗ (u) ζ f (u) , for n even, or n odd and p ≡ 1 (mod 4),
Wf (u)p−n/2 = ∗
if∗ (u) ζ f (u) , for n odd and p ≡ 3 (mod 4).

2 If µ is fixed and we want to be more precise, we call this µ-regular.


6.4 DUALS AND REGULARITY OF BENT FUNCTIONS 253

The result of Proposition 6.4.2 is known (thanks to Kumar, Scholtz, and


Welch [KSW85]) but the form above is due to Helleseth and Kholosha
[HK06] (although we made a minor correction to their statement). Also,
note [KSW85] Property 8 established a more general fact than the statement
above.

Remark 6.4.3. Moreover, in the latter case of Proposition 6.4.2, it can be


shown that f∗ (u) ∈
/ 2Z.

Corollary 6.4.4. If f is bent and Wf (0) is rational (i.e., belongs to Q), then
n must be even.

The condition Wf (0) ∈ Q arises in Lemma 6.10.11.


Suppose f : GF (p)n → GF (p) is bent. In this case, for each u ∈ GF (p)n ,
the quotient Wf (u)/pn/2 is an element of the cyclotomic field Q(ζ) having
absolute value 1.
Below, we give simple necessary and sufficient conditions for f to be reg-
ular. The next three lemmas are well known, but included for the reader’s
convenience.

Lemma 6.4.5. Suppose f : GF (p)n → GF (p) is bent. The following are


equivalent.

• f is weakly regular.
• Wf (u)/Wf (0) is a p-th root of unity for all u ∈ GF (p)n .

Proof. If f is weakly regular with μ-regular dual f ∗ , then Wf (u)/Wf (0) =


∗ ∗
ζ f (u)−f (0) , for each u ∈ GF (p)n .
Conversely, if Wf (u)/Wf (0) is of the form ζ iu , for some integer iu (for
u ∈ GF (p)n ), then let f ∗ (u) be iu (mod p) and let μ = Wf (0)/(pn/2 ). Then
f ∗ (u) is a μ-regular dual of f . 

Lemma 6.4.6. Suppose f : GF (p)n → GF (p) is bent and weakly regular.


The following are equivalent.

• 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

for all u in GF (p)n . Let V = GF (p)n . The Walsh transform of f ∗ is given by


 ∗
(y) −u,y
Wf ∗ (u) = ζf ζ
y∈V
 n
= μ−1 p− 2 Wf (y)ζ −u,y
y∈V
n

= μ−1 p− 2 ζ f (x) ζ −y,x ζ −u,y (6.7)
y∈V x∈V
n

= μ−1 p− 2 ζ f (x) ζ −y,x+u
y∈V x∈V
 
−n
= μ−1 p 2 ζ f (w−u) ζ −y,w .
w∈V y∈V

Next, we note that



 pn , if w = 0,
−y,w
ζ =
y∈V
0, if w = 0,

since, if y = (y1 , y2 , . . . , yn ) and w = (w1 , w2 , . . . , wn ), we have


   
ζ −y,w = ··· ζ −y1 w1 ζ −y2 w2 . . . ζ −yn wn
y∈V y1 ∈GF (p) y2 ∈GF (p) yn ∈GF (p)
⎛ ⎞

n 
= ⎝ ζ −ywi ⎠
i=1 y∈GF (p)

and, if wi = 0,

ζ −ywi = ζ 0 + ζ 1 + · · · + ζ p−1 = 0.
y∈GF (p)
6.5 PARTIAL DIFFERENCE SETS 255

Therefore Equation (6.7) reduces to


n
Wf ∗ (u) = μ−1 p− 2 ζ f (−u) pn
n
= μ−1 ζ f (−u) p 2 .

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. 

6.5 Partial difference sets

A number of combinatorial structures originally arose from statisticians who


wanted to design experiments. For example, if a farmer has a number of
fertilizers for his soy plants and wants to determine which fertilizer is the most
useful, how does one design a statistical experiment to accurately predict the
best one? The Indian mathematician Raj Chandra Bose was a leading figure
in this development.
A difference set is a combinatorial structure arising naturally from certain
groups. These structures arise in the theory of error-correcting codes, as well
as signal analysis.

Definition 6.5.1. 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, λ)-difference
set (DS) if the list of differences d1 d−1
2 , where d1 , d2 ∈ D, represents every
nonidentity element in G exactly λ times. We also use the notation (G, D)
to when referring to a difference set D ⊂ G.
A difference set is called elementary if G is an elementary abelian 2-group
(i.e., isomorphic to (Z/2Z)n for some n).
A Hadamard difference set D is one whose parameters are of the form
(4m2 , 2m2 − m, m2 − m) or (4m2 , 2m2 + m, m2 + m), for some m > 1.
256 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

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

GF (9) = GF (3)[x]/(x2 + 1) = {0, 1, 2, x, x + 1, x + 2, 2x, 2x + 1, 2x + 2},

written additively. The set of nonzero quadratic residues is given by

D = {1, 2, x, 2x}.

One can show that D is a partial difference set with parameters

v = 9, k = 4, λ = 1, μ = 2.

We shall return to this example (with more details) below, in Example


6.9.7.
Definition 6.5.4. Let (G, D) be a (v, k, λ, μ)-partial difference set. We say
it is of Latin square type (respectively, negative Latin square type) if there
exist integers N > 0 and R > 0 (respectively, N < 0 and R < 0) such that

(v, k, λ, μ) = (N 2 , R(N − 1), N + R2 − 3R, R2 − R).

Example 6.5.3 above is of Latin square type (N = 3 and R = 2) and of


negative Latin square type (N = −3 and R = −1).
6.6 CAYLEY GRAPHS 257

6.5.1 Dillon’s correspondence

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. 

6.6 Cayley graphs

In this section, we define Cayley graphs associated to partial difference


sets and to p-ary functions. In the Boolean case (p = 2), the Bernasconi–
Codenotti–VanderKam correspondence (Theorem 6.6.10) characterizes bent
functions in terms of their Cayley graphs.
Let G be a finite multiplicative group, and let D be a nonempty subset of
G such that D does not contain the identity element 1. We define a Cayley
graph associated to the pair (G, D). We are particularly interested in the case
in which (G, D) is a partial difference set.
258 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

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

6.6.1 Strongly regular graphs

The notion of a strongly regular graph is closely related to the notion of a


partial difference set.
Recall that the neighborhood N (u) of a vertex u in a graph is the set of
all vertices adjacent to u.

Definition 6.6.4. A connected simple graph Γ (without edge weights) is


called strongly regular with parameters (v, k, λ, μ) if it has v vertices, each of
degree k, and distinct vertices u1 and u2 have λ common neighbors if u1 and
u2 are neighbors, and μ common neighbors if u1 and u2 are not neighbors.
More concisely,

⎨ k, if u1 = u2 ,
|N (u1 ) ∩ N (u2 )| = λ, if u1 ∈ N (u2 ),

μ, if u1 ∈
/ N (u2 ) and u1 = u2 .

In the usual terminology/notation, such a graph is called an SRG(ν, k, λ, μ).

It is well known that strongly regular graphs may be characterized by their


spectra, i.e., by the eigenvalues of their adjacency matrices (see, e.g., [Bo98]).
If Γ is a connected regular graph which is not a complete graph, then Γ is
strongly regular if and only if it has exactly three distinct eigenvalues. One
of these eigenvalues is k, with corresponding eigenvector the all 1’s vector.
The following result relating partial difference sets and strongly regular
graphs is well known, but the proof is included for convenience.

Theorem 6.6.5. Let G be a finite abelian multiplicative group and let D ⊆


G be a subset such that 1 ∈ / D. Then D is a (v, k, λ, μ)-partial difference set
such that D = D−1 if and only if the associated Cayley graph Γ(G, D) is a
(v, k, λ, μ)-strongly regular graph.

Proof. Suppose D is a (v, k, λ, μ)-partial difference set such that D = D−1 .


Then, Γ(G, D) has v vertices. The set D has k elements, and each vertex g
of Γ(G, D) has neighbors dg, where d ∈ D. Therefore, Γ(G, D) is regular of
degree k. Let g1 and g2 be distinct vertices in Γ(G, D). Let x be a vertex
that is a common neighbor of g1 and g2 , i.e., x ∈ N (g1 ) ∩ N (g2 ). Then
x = d1 g1 = d2 g2 for some d1 , d2 ∈ D, which implies that d1 d−1 2 = g1−1 g2 .
−1
If g1 g2 ∈ D, then there are exactly λ ordered pairs (d1 , d2 ) that satisfy
the previous equation (by Definition 6.5.2). If g1−1 g2 ∈ / D, then g1−1 g2 ∈
G \ (D ∪ {1}), so there are exactly μ ordered pairs (d1 , d2 ) that satisfy the
equation. If g1−1 g2 ∈ D, then g2 = dg1 for some d ∈ D, so g1 and g2 are
adjacent. By a similar argument, if g1−1 g2 ∈ G \ (D ∪ {1}), then g1 and g2 are
not adjacent. So Γ(G, D) is a (v, k, λ, μ)-strongly regular graph.
Conversely, suppose Γ(G, D) is a (v, k, λ, μ)-strongly regular graph. If
Γ(G, D) is undirected, then for distinct vertices g1 and g2 there is an edge
260 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

from g1 to g2 if and only if there is an edge from g2 to g1 . By definition, g1


and g2 are connected by an edge if and only if g1 = dg2 , for some d ∈ D.
Thus g1 = d1 g2 if and only if g2 = d2 g1 , for some d1 , d2 ∈ D. This implies
that d2 = d−1 1 , so D = D
−1
. Since Γ(G, D) is (v, k, λ, μ)-strongly regular, it
is k-regular, so the order of D is k. Let x be a vertex in Γ(G, D) such that
x ∈ N (g1 ) ∩ N (g2 ). Then x = d1 g1 = d2 g2 for some d1 , d2 ∈ D, which implies
that d1 d−1 −1 −1
2 = g1 g2 . If g1 and g2 are adjacent, then g1 g2 ∈ D, so there are
exactly λ ordered pairs (d1 , d2 ) that satisfy the previous equation. If g1 and
g2 are not adjacent, then g1−1 g2 ∈ G\(D ∪{1}), so there are exactly μ ordered
pairs (d1 , d2 ) that satisfy the equation. Therefore, D is a (v, k, λ, μ)-partial
difference set and D = D−1 . 

The notion of a partial difference set can be characterized algebraically in


terms of the group ring
⎧ ⎫
⎨ ⎬
C[G] = cg · g|cg ∈ C ,
⎩ ⎭
g∈G

where addition is componentwise and multiplication is induced by the multi-


plicative structure
 of G. We identify a subset S of G with the corresponding
formal sum g∈S g in C[G].
The following lemma uses the group ring notation to identify D and D−1
as elements of C[G]. We denote the identity element of G here by 1.

Lemma 6.6.6. Let G be a finite abelian multiplicative group of order v, and


let D be a subset of order k such that 1 ∈/ D. The pair (G, D) is a (v, k, λ, μ)-
partial difference set if and only if the following identity holds in C[G]:

D · D−1 = (k − μ) · 1 + (λ − μ) · D + μ · G.

The well-known proof is omitted.


If furthermore D−1 = D and G \ (D ∪ {1}) is non-empty, we obtain from
Lemma 6.6.6 the well-known identity

k 2 − k = kλ + (v − k − 1)μ. (6.8)

Remark 6.6.7. If A is the adjacency matrix of a simple strongly regular


graph (without edge weights) having parameters (v, k, λ, μ), then

A2 = kI + λA + μ(J − I − A), (6.9)


6.6 CAYLEY GRAPHS 261

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

V = GF (p)n , D = supp(f ) = {v ∈ V | f (v) = 0}, and D = V \(D∪{0}).

Let v = |V | and k = |D|. Because f is even, D−1 = D and (D )−1 = D .


For each d ∈ D, let

λd = |{(g, h) ∈ D × D | g − h = d}|,

and, for each d ∈ D , let

μd = |{(g, h) ∈ D × D | g − h = d }|.

If D is a partial difference set then (a) λd does not depend on d ∈ D (we


denote the common value by λ), and (b) μd does not depend on d ∈ D (we
denote the common value by μ).
Since g − h ∈ D if and only if f (g − h) = 0 (for distinct g, h ∈ V ), there
are kλ pairs (g, h) ∈ D × D such that g − h = d for some d ∈ D. Likewise,
since g − h ∈ D if and only if f (g − h) = 0 (for distinct g, h ∈ V ), there are
(v − k − 1)μ pairs (g, h) ∈ D × D such that g − h = d for some d ∈ D .
Therefore, since there are k 2 − k pairs (g, h) ∈ D × D such that g = h, we
once again obtain the identity of Equation (6.8):

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.

6.6.2 Cayley graphs of bent functions

Definition 6.6.9. Let f be a p-ary function f : GF (p)n → GF (p). The


Cayley graph of f is the edge-weighted directed graph Γf = (V, E) whose
vertex set is V = GF (p)n and whose edge set is

3 It can also be proven by character-theoretic methods, but this method seems harder to

generalize to the edge-weighted case.


262 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

E = {(u, v) | u, v ∈ GF (p)n , f (u − v) = 0},

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.)

Theorem 6.6.10. (Bernasconi-Codenotti-VanderKam correspondence) Let


f : GF (2)n → GF (2) and let k = |supp(f )|. The function f is bent if and
only if the Cayley graph of f is a strongly regular graph having parameters
(2n , k, λ, λ) for some λ.
Remark 6.6.11. The following “conjecture” is false: If f : GF (p)n →
GF (p) is any even bent function then the (unweighted) Cayley graph of
f is distance-transitive. In fact, this fails when p = 2 for any bent function
of 4 variables having support of size 6. Indeed, in this case the Cayley graph
of f is isomorphic to the Shrikhande graph (with strongly regular parame-
ters (16, 6, 2, 2)), which is not a distance-transitive (see Brouwer, Cohen, and
Neumaier [BrCN89], pp. 104-105, 136).
Analogously, if f : GF (p)n → GF (p) is any even bent function then the
(unweighted) Cayley graph of f is not in general distance-regular.
6.7 ASSOCIATION SCHEMES 263

6.7 Association schemes

The following definition is standard, but we give Pott, Tan, Feng, and Ling
[PTFL11] as a reference.

Definition 6.7.1. Let S be a finite set and let R0 , R1 , . . . , Rs denote binary


relations on S (subsets of S × S). The dual of a relation R is the set

R∗ = {(x, y) ∈ S × S | (y, x) ∈ R}.

Assume R0 = ΔS = {(x, x) ∈ S × S | x ∈ S}. We say (S, R0 , R1 , . . . , Rs ) is


an s-class association scheme on S if the following properties hold.
• We have a disjoint union

S × S = R0 ∪ R 1 ∪ · · · ∪ R s ,

with Ri ∩ Rj = ∅ for all i = j.


• For each i there is a j such that Ri∗ = Rj (and if Ri∗ = Ri for all i, then
we say the association scheme is symmetric).
• For all i, j and all (x, y) ∈ S × S, define

ρij (x, y) = |{z ∈ S | (x, z) ∈ Ri , (z, y) ∈ Rj }|.

For each k, and for all x, y ∈ Rk , the integer ρij (x, y) is a constant,
denoted ρkij .

These constants ρkij are called the intersection numbers or parameters or


structure constants of the association scheme.

6.7.1 Adjacency rings (Bose–Mesner algebras)

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.

Definition 6.7.2. Let S be a finite abelian multiplicative group of order m.


Let (S, R0 , . . . , Rs ) denote a tuple consisting of S with relations Ri for which
we have a disjoint union

S × S = R0 ∪ R1 ∪ · · · ∪ Rs ,

with Ri ∩ Rj = ∅ for all i = j. Let Ai ∈ M atm×m (Z) denote the adjacency


matrix of Ri , i = 0, 1, . . . , s.
264 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

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);

• for each integer i ∈ {0, 1, 2, . . . , s}, Ati = Aj , for some integer j ∈


{0, 1, 2, . . . , s};

• there is a subset K ⊂ {0, 1, 2, . . . , s} such that j∈K Aj = I; and
• there is a set of nonnegative integers {ρkij | i, j, k ∈ {0, 1, 2, . . . , s}} such
that
 s
Ai Aj = ρkij Ak
k=0

for all such i, j.


It is well known that a partial difference set (G, D) is naturally associ-
ated to a 2-class association scheme, namely (G, R0 , R1 , R2 ) where R0 is the
diagonal on G × G,

R0 = ΔG ,

R1 = {(g, h) | gh−1 ∈ D},

R2 = {(g, h) | gh−1 ∈
/ D, g = h}.

To verify this, let consider the “Schur ring”.

6.7.2 Schur rings

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 ,

with Ci ∩ Cj = ∅ for all i = j.


6.7 ASSOCIATION SCHEMES 265

• 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

for some integers ρkij .


The subalgebra of C[G] generated by C0 , C1 , . . . , Cs is called a Schur ring
over G.
In the cases we are dealing with, the Schur ring is commutative, so ρkij =
ρkji , for all i, j, k.
If (G, C0 , . . . , Cs ) is a Schur ring, then

Ri = {(g, h) ∈ G × G | gh−1 ∈ Ci },

for 0 ≤ i, j ≤ s, gives rise to its corresponding association scheme.


Lemma 6.7.4. Let G be a finite abelian multiplicative group, and let D be
a subset of G such that 1 ∈/ D. Suppose that D is a disjoint union D = D1 ∪
· · ·∪Dr , with Di−1 = Di for all i. Let D0 = {1} and let Dr+1 = G\(D ∪{1}).
Suppose that Dr+1 is not empty. For each i with 0 ≤ i ≤ r + 1, let

Ri = {(g, h) ∈ G × G| gh−1 ∈ Di }.

Then (G, D) is a symmetric weighted PDS (defined in Definition 6.9.1) if


and only if (G, R0 , R1 , . . . , Rr+1 ) is a symmetric association scheme of class
s = r + 1.
Proof. Suppose that (G, D) is a symmetric weighted PDS. To show that it
determines a Schur ring, we must show that structure constants exist, i.e.,
we must show that there are nonnegative integers ρij such that


r+1
Di · Dj = ρij D , (6.10)
=0

for 0 ≤ i, j ≤ r + 1. Symmetry of the Schur ring follows from symmetry of


the weighted PDS.
Let ki = |Di | for 0 ≤ i ≤ r + 1. Note that (G, D) is a symmetric weighted
PDS if and only if Di−1 = Di for 1 ≤ i ≤ r and the following identity holds
in C[G], for 1 ≤ i, j ≤ r:


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

(where δij = 1 if i = j and δij = 0 otherwise). Note that identity (6.11)


implies identity (6.10), provided that, for 0 ≤ i, j ≤ r + 1, we put ρ0ij = δij ki ,
for 1 ≤ i, j, ≤ r, we put ρij = λi,j, and ρr+1
ij = μi,j . Furthermore, since
D0 ·Dj = Dj ·D0 = Dj , for all j, identity (6.10) holds if we put ρ0j = ρj0 = δj
for 0 ≤ j, ≤ r + 1.
By expanding out expressions for Di · G and Dr+1 · G, it can be shown
that

r
ρi,r+1 = ki − δi − λi,j, , for 1 ≤ i, ≤ r,
j=1


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

Also, ρij = ρji for all i and j, because G is abelian.


In the converse direction, if (G, R0 , R1 , . . . , Rr+1 ) is a symmetric associa-
tion scheme, it follows immediately that (G, D) is a symmetric weighted PDS
whose parameters are related to the intersection numbers of the association
scheme by the same relations as above. 

Remark 6.7.5. For a more general version of this, see Theorem 6.10.4
below.

Example 6.7.6. For an example of a Schur ring, we return to a partial


difference set (G, D), such that D = D−1 and D does not contain the identity
element 1. Let

D = G \ (D ∪ {1}).

We have the well-known intersection

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 .

Provided k ≥ max(μ, λ + 1), |G| ≥ max(k + 1, 2k − μ + 2), with these, one


can verify that a partial difference set naturally yields an associated Schur
6.7 ASSOCIATION SCHEMES 267

ring, generated by D, D , and D0 = {1} in C[G], and a 2-class association


scheme.
Using (6.13), one can verify that D is (v, k , λ , μ )-partial difference set
with (D )−1 = D and 1 ∈/ D , where

k = v − k − 1
λ = v − 2k − 2 + μ, and (6.14)
μ = v − 2k + λ.

We include a proof here for convenience.

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)

To find D · D , we note that

kG = D · G
= D · ({1} + D + D )
= D + D · D + D · D

so that
D · D = (k − λ − 1)D + (k − μ)D . (6.16)

Similarly, we note that

k G = G · D
= ({1} + D + D ) · D
= D + D · D + D · D

so that

D · D = k {1} + (k − k + λ + 1)D + (k − k − 1 − +μ)D


(6.17)
= k {1} + (v − 2k + λ)D + (v − 2k − 2 + μ)D .

Equation (6.17) shows that D is a (v, k , λ , μ )-partial difference set, with


λ and μ as in Equation (6.14).



 
It can be shown that μ = k 1 − k . μ

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

6.8 The matrix-walk theorem

Suppose that Γ = (V, E) is any edge-weighted graph (without loops or mul-


tiple edges) whose edge weights are positive integers. We fix a labeling of the
set of vertices V (Γ), which we often identify with the set {0, 1, . . . , N − 1},
where N = |V (Γ)|. If u and v are vertices of Γ, then a walk P from u to v with
weight sequence (w0 , w1 , . . . , wk−1 ) is a sequence of edges e0 = (v0 , v1 ) ∈ E,
e1 = (v1 , v2 ) ∈ E, . . . , ek−1 = (vk−1 , vk ) ∈ E, where v0 = u and vk = v,
connecting u to v, where edge ei has weight wi . Let A = (aij ) denote the
N × N weighted adjacency matrix of Γ, where i, j ∈ {0, 1, . . . , N − 1} and
where 
w, if (i, j) is an edge of weight w,
aij = (6.18)
0, if (i, j) is not an edge of Γ.

From this adjacency matrix A, we can derive weight-specific adjacency matri-


ces as follows. For each weight w of Γ, let A(w) = (a(w)ij ) denote the N × N
(1, 0)-matrix defined by

1, if (i, j) is an edge of weight w,
a(w)ij = (6.19)
0, if (i, j) is not an edge of weight w.

When Γ is the Cayley graph of a GF (p)-valued function, we identify the


edge-weights with the integers {1, . . . , p − 1}. We extend the weight set by
imposing the following conventions:

(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.

This allows us to define the weight-specific adjacency matrices Ap and A0 as


well, and we can (and do) extend the weight set of Γ by appending p and
0. Clearly, these weight-specific adjacency matrices have disjoint supports: if
a(w)ij = 0, then a(w )ij = 0 for all weights w = w.
Note that an alternative convention, which can be used for more general
edge-weighted graphs, is to extend the weight set by appending 0 (for case
(a) above) and −1 (for case (b) above).
In Corollary 6.10.5, we will give conditions under which these weight-
specific adjacency matrices form a Bose–Mesner algebra.
For the reader’s convenience, the well-known matrix-walk theorem is for-
mulated as in the result below (see, e.g., [GR01] for a proof in the unweighted
case).

Proposition 6.8.1. For any vertices u, v of Γ and any sequence of nonzero


edge weights w1 , w2 , . . . , wk , the (u, v)-th entry of A(w1 )A(w2 ) . . . A(wk ) is
6.9 WEIGHTED PARTIAL DIFFERENCE SETS 269

equal to the number of walks of weight sequence (w1 , w2 , . . . , wk ) from u to


v. Moreover, tr (A(w1 )A(w2 ) . . . A(wk )) is equal to the total number of closed
walks of Γ of weight sequence (w1 , w2 , . . . , wk ).

6.9 Weighted partial difference sets

Let G be a finite abelian multiplicative group of order v, and let D be a


subset of G. Decompose D into a union of disjoint subsets

D = D1 ∪ · · · ∪ Ds , (6.20)

/ D. Let ki = |Di |.
and assume 1 ∈

Definition 6.9.1. We say (G, D), or the collection (G, D1 , D2 , . . . , Ds ), is a


weighted (v, k, λ, μ)-partial difference set if the following properties hold:

• The list of “differences”

Di Dj−1 = {d1 d−1


2 | d1 ∈ Di , d2 ∈ Dj },

represents every non-identity element of D exactly λi,j, times and every


non-identity element of G \ D exactly μi,j times (1 ≤ i, j, ≤ s).
• For each i there is a j such that Di−1 = Dj (and if Di−1 = Di for all i,
then we say the weighted partial difference set is symmetric).

Remark 6.9.2. If D = D1 ∪ · · · ∪ Dr is a symmetric weighted partial dif-


ference set, then μi,j = μj,i and λi,j, = λj,i, .

This notion can be characterized algebraically in terms of the group ring


C[G].

Lemma 6.9.3. Let G be a finite abelian multiplicative group, and let D be


a subset of G such that 1 ∈/ D. Suppose that D is a disjoint union D = D1 ∪
· · ·∪Dr , with Di−1 = Di for all i. Let D0 = {1} and let Dr+1 = G\(D ∪{1}).
Suppose that Dr+1 is not empty. Let ki = |Di | for 0 ≤ i ≤ r + 1. Note that
(G, D) is a symmetric weighted PDS if and only if Di−1 = Di for 1 ≤ i ≤ r
and the identity (6.11) holds in C[G], for 1 ≤ i, j ≤ r.

The straightforward proof is omitted.


We will now state a more general proposition concerning weighted partial
difference sets.

Proposition 6.9.4. Let G be a finite abelian group. Let D1 , . . . , Dr ⊆ G


such that Di ∩Dj = ∅ if i = j, and let D0 = {1} and let Dr+1 = G\(D∪{1}),
where D is as above. Suppose
270 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

• G is the disjoint union D0 ∪ · · · ∪ Dr+1 ,


• for each i there is a j such that Di−1 = Dj , and
• condition (6.10) holds for the structure constants ρkij of the Di s.
Then, the matrices Pk = (ρkij )0≤i,j≤l satisfy the following properties:
• P0 is a diagonal matrix with entries |D0 |, . . . , |Dr+1 |.
• For each k, the j-th column of Pk has sum |Dj | (j = 0, . . . , r + 1).
Likewise, the i-th row of Pk has sum |Di | (i = 0, . . . , r + 1).

Proof. We begin by taking the sum


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.

Example 6.9.5. (S. Walsh [W14]) If G = GF (3)2 and

D0 = {(0, 0)},
D1 = {(1, 0), (2, 0), (0, 1), (0, 2)}, and
D2 = {(1, 1), (2, 1), (1, 2), (2, 2)},

then (G, D0 , D1 , D2 ) is a weighted partial difference set. Moreover, the inter-


section numbers ρkij are given as follows:
6.9 WEIGHTED PARTIAL DIFFERENCE SETS 271

ρ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?

Lemma 6.9.6. Let (G, D), where D = D1 ∪ · · · ∪ Dr (disjoint union) is


as in (6.20), be a symmetric weighted partial difference set, with parameters
(v, (ki ), (λi,j, ), (μi,j )). If 
λi,j,
i,j

does not depend on , 1 ≤ ≤ r, then D is also an unweighted partial


difference set with parameters (v, k, λ, μ) where
  
k= ki , λ = λi,j, , μ= μi,j .
i i,j i,j

Proof. The claim is that (G, D) is a partial difference set with parameters
(v, k, λ, μ). Since v = |G| and

k = |D| = |D1 | + · · · + |Dr | = k1 + · · · + kr ,

we need only verify the claim regarding λ and μ.


Does each element d of D occur the same number of times in the list
DD−1 ? Suppose d ∈ D , where 1 ≤ ≤ r. By hypothesis, d occurs in
Di − Dj exactly λi,j, times. Since DD−1 is the concatenation of the Di Dj−1 ,
for 1 ≤ i, j ≤ r, d occurs in D · D−1 exactly

λi,j,
i,j

times. By hypothesis, this does not depend on , so the claim regarding λ has
been verified.
272 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

Does each non-identity element d of G \ D occur the same number of


times in the list D · D−1 ? By hypothesis, d occurs in Di Dj−1 exactly μi,j
times. Since D · D−1 is the concatenation of the Di Dj−1 , for 1 ≤ i, j ≤ r, d
occurs in D · D−1 exactly 
μi,j
i,j

times. This verifies the claim regarding μ and completes the proof of the
lemma. 

Example 6.9.7. Consider the finite field

GF (9) = GF (3)[x]/(x2 + 1) = {0, 1, 2, x, x + 1, x + 2, 2x, 2x + 1, 2x + 2},

written additively. The set of nonzero quadratic residues is given by

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,

D1 D1−1 = [d1 − d2 | d1 ∈ D1 , d2 ∈ D1 ] = [0, 0, 1, 2],

D1 D2−1 = [d1 − d2 | d1 ∈ D1 , d2 ∈ D2 ] = [x + 1, x + 2, 2x + 1, 2x + 2],

D2 D1−1 = [d1 − d2 | d1 ∈ D2 , d2 ∈ D1 ] = [x + 1, x + 2, 2x + 1, 2x + 2],

D2 D2−1 = [d1 − d2 | d1 ∈ D2 , d2 ∈ D2 ] = [0, 0, x, 2x].

Therefore, this describes a weighted partial difference set with parameters

k1 = 2, k2 = 2,

λ1,1,1 = 1, λ1,1,2 = 0, λ1,2,1 = 0, λ1,2,2 = 0,

λ2,1,1 = 0, λ2,1,2 = 0, λ2,2,1 = 0, λ2,2,2 = 1,

and
μ1,1 = 0, μ1,2 = 1, μ2,1 = 1, μ2,2 = 0.

Suppose (G, D1 , D2 , . . . , Dr ) is a weighted (v, k, λ, μ)-partial difference set.


The adjacency matrix of the weighted partial difference set, say B = (Bij ), is
defined by Bij = k if j − i ∈ Dk (for i, j ∈ G and k ∈ {1, . . . , r}).
6.10 WEIGHTED CAYLEY GRAPHS 273

6.10 Weighted Cayley graphs

Definition 6.10.1. Let G be a finite abelian multiplicative group, and let D


be a subset of G such that 1 ∈
/ D and such that D has a disjoint decomposition
D = D1 ∪ D2 ∪ · · · ∪ Dr . The edge-weighted Cayley graph Γ = Γ(G, D)
associated with (G, D) is the edge-weighted graph constructed as follows. Let
the vertices of the graph be the elements of the group G. Two vertices g1
and g2 are connected by an edge of weight i if g2 = dg1 for some d ∈ Di . If
Di−1 = Di for all i, the graph Γ is undirected.

6.10.1 Edge-weighted strongly regular graphs

The concept of a strongly regular graph generalizes to that of an edge-


weighted strongly regular graph. Let W be a set of edge weights on a graph
Γ = (V, E), i.e., suppose that to each edge e in Γ we associate a weight
w ∈ W . In our examples, W will usually be GF (p) \ {0}.
Definition 6.10.2. For each vertex u ∈ V and edge weight a ∈ W we define
the a-neighborhood N (u, a) of u to be the set of all neighbors v of u in Γ for
which the edge (u, v) has weight a.
When W = GF (p) \ {0}, we also define N (u, 0) to be the set of all non-
neighbors of u, i.e., the set of all v ∈ V such that (u, v) is not an edge in Γ.
In particular, u ∈ N (u, 0).
Definition 6.10.3. Let Γ be a connected edge-weighted graph which is reg-
ular as a simple (unweighted) graph. The graph Γ is called an edge-weighted
strongly regular graph (SRG) with parameters v, k = (ka )a∈W , λ = (λa )a∈W 3 ,
and μ = (μa )a∈W 2 , denoted SRGW (v, k, λ, μ), if Γ has v vertices, and there
are constants ka , λa1 ,a2 ,a3 , and μa1 ,a2 , for a, a1 , a2 , a3 ∈ W , such that

|N (u, a)| = ka for all u ∈ V

and for vertices u1 = u2 we have



λa1 ,a2 ,a3 , if u1 ∈ N (u2 , a3 ),
|N (u1 , a1 ) ∩ N (u2 , a2 )| = (6.21)
μa1 ,a2 , if u1 ∈
/ N (u2 ).

6.10.2 Weighted partial difference sets

As we will see, there a weighted analog of the correspondence between partial


difference sets and strongly regular graphs.
274 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

We have the following generalization of Theorem 6.6.5.


Theorem 6.10.4. Let G be a finite abelian multiplicative group, and let D
be a subset of G such that 1 ∈
/ D and such that D has a disjoint decomposition
D = D1 ∪ D2 ∪ · · · ∪ Dr . Let D0 = {1}, let Dr+1 = G \ (D ∪ D0 ), and let

Ri = {(g, h) ∈ G × G| gh−1 ∈ Di }, 0 ≤ i ≤ r + 1.

The following statements are equivalent:


(a) The set D is a symmetric weighted partial difference set.
(b) The graph Γ(G, D) is an edge-weighted strongly regular graph with edge
weights {1, 2, . . . , r}.
(c) The tuple (G, R0 , R1 , . . . , Rr+1 ) is a symmetric association scheme of
class r + 1.
Proof. The equivalence of (a) and (c) is just Lemma 6.7.4.
((a) =⇒ (b)) Suppose (G, D) is a weighted partial difference set satisfying
Di−1 = Di for all i, and having parameters (v, k, λ, μ), where v = |G|, k = {ki }
with ki = |Di |, λ = {λi,j, }, and μ = {μi,j }. The graph Γ = Γ(G, D) has
v = |G| vertices, by definition. Each vertex g of Γ has ki neighbors of weight
i, namely, dg where d ∈ Di . Let g1 and g2 be distinct vertices in Γ. Let x be
a vertex which is a neighbor of each: x ∈ N (g1 , i) ∩ N (g2 , j). By definition,
x = d1 g1 = d2 g2 , for some d1 ∈ Di , d2 ∈ Dj . Therefore, d−1 −1
1 d2 = g1 g2 .
−1
If g1 g2 ∈ D , for some = 0, r + 1, then there are λi,j, solutions, by
definition of a weighted PDS. If g1 g2−1 ∈ Dr+1 , then there are μi,j solutions,
by definition of a weighted PDS.
((b) =⇒ (a)) For the remainder of the proof, note that the reasoning
above is reversible. Details are left to the reader. 
We sometimes extend the weight set of Γ = Γ(G, D) by imposing the
following conventions:
(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 = r + 1.
(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.
This allows us to extend the set of weight-specific adjacency matrices given
by (6.19) to the set A0 , A1 , . . . , Ar , Ar+1 .
Corollary 6.10.5. The graph Γ(G, D) is an edge-weighted strongly regular
graph if and only if the (extended) set of weight-specific adjacency matrices
given by (6.19) form a Bose-Mesner algebra with K = {0}.
Proof. The corollary is immediate from the definition of Bose-Mesner algebra
(see Definition 6.7.2), since the weight-specific adjacency matrices of Γ(G, D)
coincide with the adjacency matrices of the binary relations Ri . 
6.10 WEIGHTED CAYLEY GRAPHS 275

6.10.3 Level curves of p-ary functions

In this section we consider the “level curves” f −1 (a) ⊂ GF (p)n (a ∈ GF (p),


a = 0) and investigate the combinatorial structure of these sets, especially
when f is bent.
Let f be a GF (p)-valued function on GF (p)n . Recall, from (2.11), that the
Cayley graph of f is defined to be the edge-weighted directed graph (digraph)
Γf = (V, Ef ), whose vertex set is V = V (Γf ) = GF (p)n and whose set of
edges is

Ef = {(u, v) ∈ GF (p)n × GF (p)n | f (u − v) = 0},

where the edge (u, v) ∈ Ef has weight f (u − v).


However, if a function f : GF (p)n → GF (p) is even, then
• we can (and do) regard Γf as a weighted (undirected) graph,
• its level curves Di = f −1 (i) satisfy Di−1 = Di (as sets).
Theorem 6.10.6. Let f : GF (p)n → GF (p) be an even function such that
f (0) = 0. Let G = GF (p)n , and let Di = f −1 (i), for i = 1, 2, . . . , p − 1 If
(G, D1 , D2 , . . . , Dp−1 ) is a symmetric weighted partial difference set, then the
associated edge-weighted strongly regular graph is the edge-weighted Cayley
graph of f .
Remark 6.10.7. Roughly speaking, this theorem says that “if the level
curves of f form a weighted partial difference set, then the (edge-weighted)
Cayley graph corresponding to f agrees with the (edge-weighted) strongly
regular graph associated to the weighted partial difference set.”
Proof. The adjacency matrix A for the Cayley graph of f is defined by Aij =
f (j − i) for i, j ∈ GF (p)n . So the top row of A is defined by A0j = f (j).
The adjacency matrix for any Cayley graph can be determined from its top
row, since it is a circulant matrix. Therefore, it is enough to show that the
adjacency matrix of the weighted partial difference set has the same top row
as A. Let B = (Bij ) be the adjacency matrix of the weighted partial difference
set, so Bij = k if j − i ∈ Dk (for all i, j ∈ GF (p)n and k ∈ GF (p)). The top
row of B is defined by B0j = k if j ∈ Dk . But if j ∈ Dk , then f (j) = k, so
B0j = f (j). The top rows of A and B are equivalent, so A = B. Therefore,
the strongly regular graph associated with the weighted partial difference set
(G, D) is the Cayley graph of f . 

6.10.4 Intersection numbers

This section is devoted to stating some results on the ρkij ’s.


276 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

Theorem 6.10.8. Let f : GF (p)n → GF (p) be a function and let Γ be its


Cayley graph. Assume Γ is a weighted strongly regular graph. Let A = (ak,l )
be the adjacency matrix of Γ. Let Ai = (aik,l ) be the (0, 1)-matrix where

1, if ak,l = i,
aik,l =
0, otherwise,

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

satisfy the formula


 
1
pkij = T r(Ai Aj Ak ),
pn |Dk |

for all i, j, k = 1, 2, . . . , p.

This is (17.13) in Cameron and van Lint [CvL91]. We provide a different


proof for the reader’s convenience.

Proof. By the matrix-walk theorem, Ai Aj can be considered as counting


walks along the Cayley graph of specific edge weights. Supposed (u, v) is an
edge of Γ with weight k. If k = 0, then u = v and the edge is a loop. If k = p,
then (u, v) is technically not an edge in Γ, but we will label it as an edge of
weight p.
The (u, v)-th entry of Ai Aj is the number of walks of length 2 from u to
v, where the first edge has weight i and the second edge has weight j; the
entry is 0 if no such walk exists. If we consider the (u, v)-th entry on each
side of the equation defining the structure constants, Equation (6.22) with
s = p, we can deduce that pkij is the number of walks of length 2 from u to v,
where the first edge has weight i and the second edge has weight j (it equals
0 if no such walk exists) for any edge (u, v) with weight k in Γ.
Similarly, the matrix-walk theorem implies that tr(Ai Aj Ak ) is the total
number of closed walks of length 3 having edge weights i, j, k. We claim that
if  is any triangle with edge weights i, j, k, then, by subtracting an element
v ∈ GF (p)n , we will obtain a triangle in Γ containing the zero vector as a
vertex with the same edge weights. Suppose  = (u1 , u2 , u3 ), where (u1 , u2 )
has edge weight i, (u2 , u3 ) has edge weight j, and (u3 , u1 ) has edge weight k.
Let  = (0, u2 − u1 , u3 − u1 ). We compute the edge weights of  :
6.10 WEIGHTED CAYLEY GRAPHS 277

edge weight of (0, u2 − u1 ) = f (0 − (u2 − u1 )) = f (u1 − u2 ) = i;


edge weight of (u2 − u1 , u3 − u1 ) = f ((u2 − u1 ) − (u3 − u1 )) = f (u2 − u3 ) = j ;
edge weight of (u3 − u1 , 0) = f ((u3 − u1 ) − 0) = f (u3 − u1 ) = k.

Thus the claim is proven.


Therefore,
   
1 1
tr(Ai Aj Ak ) = tr(Ai Aj Ak )
|GF (p)n | pn

is the number of closed walks of length 3 having edge weights i, j, k and


containing the zero vector as a vertex, incident to the edge of weight i and
the edge of weight k.
There are |Dk | edges of weight k incident to the zero vector, so
  
1 1
tr(Ai Aj Ak )
pn |Dk |

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).

Corollary 6.10.9. Let G = GF (p)n . Let D0 , . . . , Dr ⊆ G such that Di ∩


Dj = ∅ if i = j, and
• G is the disjoint union of D0 ∪ · · · ∪ Dr ,
• for each i there is a j such that Di−1 = Dj , and

r
• Di · Dj = ρkij Dk for some positive integers ρkij .
k=0

Then, for all i, j, k, |Dk |ρkij = |Di |ρikj .

Proof. For all i, j, k, we have the following identity of adjacency matrices:

Tr(Ai Aj Ak ) = pn |Dk |ρkij ,

where pn is the order of G and ρkij is an intersection number. Since Tr(AB)


= Tr(BA) for all matrices A and B, Tr(Ai Aj Ak ) = Tr(Ak Aj Ai ), and the
proposition follows. 

These concepts can be reformulated in terms of association schemes.


If G is a set and D = D1 ∪ D2 ∪ · · · ∪ Dr (all Di distinct) is a weighted
partial difference set of G, then we can construct an association scheme as
follows:
278 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

• Define R0 = ΔG = {(x, x) ∈ G × G | x ∈ G}.


• For 1 ≤ i ≤ r, define Ri = {(x, y) ∈ G × G | xy −1 ∈ Di , x = y}.
• Define Rr+1 = {(x, y) ∈ G × G | xy −1 ∈
/ D, x = y}.
According to Lemma 6.7.4, this association scheme structure determines
the corresponding weighted partial difference set.

6.10.5 Cayley graphs of p-ary functions

Let us return to describing the Cayley graph in (2.11) above.


As the following lemma illustrates, it is very easy to characterize the Cayley
graph of an even p-ary function in terms of its adjacency matrix.
Lemma 6.10.10. Let Γ be an undirected edge-weighted graph with weights
in GF (p) and with vertex set V = GF (p)n (and vertices labeled using
the bijection given by the p-ary representation map of Equation 6.5). Let
A = (aij ) be the (symmetric) weighted adjacency matrix of Γ, where i, j ∈
{0, 1, . . . , pn −1}. Let f be an even GF (p)-valued function on V with f (0) = 0.
Then Γ is the Cayley graph of f if and only if Γ is regular and the following
conditions hold:
(a) For each i ∈ {0, 1, . . . , pn − 1}, ai,0 = f (η(i)).
(b) For each i, j ∈ {0, 1, . . . , pn − 1}, ai,j = ak,0 , where η(k) = η(i) − η(j).
Proof. Let w ∈ GF (p). We know that Ai,j = w if and only if there is an edge
of weight w from η(i) to η(j) if and only if f (η(i) − η(j)) = w. The result
follows. 
We assume, unless stated otherwise, that f is even. For each u ∈ V , define
• N (u) = NΓf (u) to be the set of all neighbors of u in Γf ,
• N (u, a) = NΓf (u, a) to be the set of all neighbors v of u in Γf for which
the edge (u, v) ∈ Ef has weight a (for each a ∈ GF (p)× = GF (p) − {0}),
• N (u, 0) = NΓf (u, 0) to be the set of all non-neighbors v of u in Γf (i.e.,
we have (u, v) ∈
/ Ef ),
• supp(f ) = {v ∈ V | f (v) = 0} to be the support of f .
It is clear that supp(f ) = N (0) is the set of neighbors of the zero vector.
More generally, for any u ∈ V ,

N (u) = u + supp(f ), (6.23)

where the last set is the collection of all vectors u + v, for some v ∈ supp(f ).
6.10 WEIGHTED CAYLEY GRAPHS 279

Recall that we call a map g : GF (p)n → GF (p) balanced if the cardinalities


−1
|g (x)| (x ∈ GF (p)) do not depend on x. We call the signature of f :
GF (p)n → GF (p) the list

|S0 |, |S1 |, |S2 |, . . . , |Sp−1 |,

where, for each i in GF (p),

Si = {x | f (x) = i}. (6.24)

We can extend Equation (6.23) to the more precise statement

N (u, a) = u + Sa , (6.25)

for all a ∈ GF (p). We call N (u, a) the a-neighborhood of u.


If f : V → GF (p), then we let fC : V → C be the function whose values
are those of f but regarded as integers (i.e., we select the congruence class
residue representative in the interval {0, 1, . . . , p − 1}). We abuse notation
and often write f in place of fC .
The weighted adjacency matrix A of the Cayley graph of f is the matrix
whose entries are
Ai,j = fC (η(i) − η(j)), (6.26)

where η(k) is the p-ary representation as in (6.5). If f is even and we regard


Γf as an unweighted graph, then Γf is a regular of degree

ω = ωf = wt(f ),

where ω denotes the cardinality of supp(f ) = {v ∈ V | f (v) = 0}. If we let



σf = fC (v),
v∈V

then fˆ(0) = σf ≥ |supp(f )|. If f is even and we count edges according to


their weights, then Γf is an σf -regular (edge-weighted) graph. If we ignore
weights, then it is an ωf -weighted graph.
If A is the adjacency matrix of an edge-weighted strongly regular graph
having parameters (v, ka , λa1 ,a2 ,a3 , μa1 ,a2 ) and positive weights W ⊆ Z one
can compute (A2 )ij explicitly, again by looking at the three separate cases
(a) i = j, (b) i = j and i, j adjacent, (c) i = j and i, j non-adjacent. We
obtain
⎧ 2
⎨ a∈W a ka , i = j,
2 i = j, i ∈ N (j, c),
(A )i,j = 2 abλ(a,b,c) , (6.27)
⎩ (a,b)∈W
(a,b)∈W 2 abμ (a,b) , i 
= j, i ∈
/ N (j).
280 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

Note that

Wf (0) = |S0 | + |S1 |ζ + · · · + |Sp−1 |ζ p−1 ,

which we can regard as an identity in the (p − 1)-dimensional Q-vector space


Q(ζ). The relation

1 + ζ + ζ 2 + · · · + ζ p−1 = 0,

gives

Wf (0) − |S0 | + |S1 |


= (|S2 | − |S1 |)ζ 2 + · · · + (|Sp−1 | − |S1 |)ζ p−1 .

We have proven the following result.

Lemma 6.10.11. If f : GF (p)n → GF (p) has the property that Wf (0) is a


rational number then

|S1 | = |S2 | = · · · = |Sp−1 |,

and

Wf (0) = |S0 | − |S1 |.

In particular,

|supp(f )| = |S1 | + |S2 | + · · · + |Sp−1 |


= (p − 1)|S1 | = (p − 1)(|S0 | − Wf (0)).

Remark 6.10.12. It is also known that if n is even and f is bent then

|S1 | = |S2 | = · · · = |Sp−1 |.

6.10.6 Group actions on bent functions

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

It is straightforward to calculate that

Wf g(u) = Wf ((φ−1 )t u),

where t denotes transpose.


It follows that if f is bent, so is g = f ◦ φ, and if f is bent and regular, so
is g. If f is bent and weakly regular, with μ-regular dual f ∗ , then g is bent
and weakly regular, with μ-regular dual g ∗ , where g ∗ (u) = f ∗ ((φ−1 )t u).
Next, we examine the effect of the group action on bent functions and
the corresponding weighted partial difference sets (in the case that the level
curves determine a weighted PDS).

Proposition 6.10.13. Let f : GF (p)n → GF (p) be an even, bent function


such that f (0) = 0 and define Di = f −1 (i) for i ∈ GF (p) − {0}. Suppose
φ : GF (p)n → GF (p)n is a linear map that is invertible (i.e., det φ = 0
(mod p)). Define the function g = f ◦ φ; g is the composition of a bent
function and an affine function, so it is also bent. If the collection of sets
{D1 , D2 , . . . , Dp−1 } forms a weighted partial difference set for GF (p)n then
so does its image under the function φ.

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

C0 = {0} (where 0 denotes the zero element of GF (p)n ),

C1 = D1 , . . . , Cp−1 = Dp−1

Cp = GF (p)n − (C0 ∪ · · · ∪ Cp−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

φ−1 . We conclude that the Schur ring of g corresponds to a weighted partial


difference set for GF (p)n , which is the image of that for f . 

Remark 6.10.14. It is known that for homogeneous4 weakly regular bent


functions, the level curves give rise to a weighted partial difference set. This
weighted partial difference set corresponds to an association scheme, and the
dual association scheme corresponds to the dual bent function (see Pott,
Tan, Feng, and Ling [PTFL11], Corollary 3). We know that any bent func-
tion equivalent to such a bent function also has this property, thanks to the
proposition above.

6.11 Fourier transforms and graph spectra

In the Boolean (p = 2) case, there is a nice simple relationship between


the Fourier transform and the Walsh-Hadamard transform. The spectrum of
Γf is determined by the set of values of the Walsh-Hadamard transform of
f when regarded as a vector of (integer) 0, 1-values (of length 2n ). We ask
whether this result has an analog for p > 2. In Equation (6.29) below, we
shall try to connect these two transforms, (6.1) and (6.2), in the GF (p) case
as well. In this context, it is worth noting that it is possible (see Proposition
6.3.9) to characterize a bent function in terms of the Fourier transform of its
derivative.
Suppose we want to write the function ζ f (x) as a linear combination of
translates of the function f :

ζ f (x) = ca f (x − a), (6.28)
a∈V

for some ca ∈ C. This may be regarded as the convolution of fC with a


function, c. One way to solve for the ca ’s is to write this as a matrix equation,

ζ f = A · c,

where A is the adjacency matrix of Γf , c = cf = (ca | a ∈ V ) and ζ f =
(ζ f (x) | x ∈ V ). If A is invertible, that is if the Fourier transform of f is
always nonzero, then

c = A−1 ζ f .

If (6.28) holds then we can write the Walsh transform f ,

4 When regarded as a function f : GF (pn ) → GF (p).


6.11 FOURIER TRANSFORMS AND GRAPH SPECTRA 283

Wf (u) = ζ f (x)−u,x ,
x∈GF (p)n

as a linear combination of values of the Fourier transform,



fˆ(y) = f (x)ζ −x,y .
x∈V

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).

6.11.1 Connected components of Cayley graphs

Recall

ω = ωf = wt(f )

denotes the cardinality of supp(f ) = {v ∈ V | f (v) = 0} and let



σf = fC (v).
v∈V

Note that fˆ(0) = σf ≥ |supp(f )|. If f is even then Γf is an σf -regular


(edge-weighted) graph. If we ignore weights, then it is an ωf -weighted graph.
Recall that, given a graph Γ and its adjacency matrix A, the spectrum

σ(Γ) = {λ1 , λ2 , . . . , λN },
284 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

where N = pn , is the multi-set of eigenvalues of A. Following a standard


convention, we index the elements λi = λi (A) of the spectrum in such a way
that they are monotonically increasing. Because Γf is regular, the row sums
of A are all σf , whence the all 1’s vector is an eigenvector of A with eigenvalue
σf .
Clearly, the set of vertices in Γf connected to 0 ∈ V is in natural bijection
with supp(f ). Let Wj denote the subset of V consisting of those vectors which
can be written as the sum of j elements in supp(f ) but not j − 1. Clearly,

W1 = supp(f ) ⊂ W2 ⊂ · · · ⊂ Span(supp(f )).

For each v0 ∈ W1 = supp(f ), the vertices connected to v0 are the vectors in

supp(fv0 ) = {v ∈ V | f (v − v0 ) = 0},

where fv0 (v) = f (v − v0 ) denotes the translation of f by −v0 . Therefore,

supp(fv0 ) = v0 + supp(f ).

In particular, all the vectors in W2 are connected to 0 ∈ V . For each v0 ∈ W2 ,


the vertices connected to v0 are the vectors in supp(fv0 ) = v0 + supp(f ),
so all the vectors in W3 are connected to 0 ∈ V . Inductively, we see that
Span(supp(f )) is the connected component of 0 in Γf . Pick any u ∈ V rep-
resenting a nontrivial coset in V /Span(supp(f )). Clearly, 0 is not connected
with u in Γf . However, the above reasoning implies u is connected to v if and
only if they represent the same coset in V /Span(supp(f )). This proves the
following result.
Lemma 6.11.1. The connected components of Γf are in one-to-one corre-
spondence with the elements of the quotient space V /Span(supp(f )).

6.12 Algebraic normal form

A p-ary function f on GF (p)n has a unique representation as a polynomial in


n variables, x0 , x1 , . . . , xn−1 over GF (p) such that each variable occurs with
power at most p − 1. This representation is called the algebraic normal form
of f . The highest degree of its terms is called the degree of f .
Carlet [C10] shows how to find the algebraic normal form of any Boolean
function. Similarly, we show how to find the algebraic normal form of any
p-ary function.
Definition 6.12.1. An atomic p-ary function is a function GF (p)n →
GF (p) supported at a single point. For v ∈ GF (p)n , we define an atomic
function fv : GF (p)n → GF (p) by setting
6.12 ALGEBRAIC NORMAL FORM 285

1, if w = v,
fv (w) = (6.30)
0,  v.
if w =

We first show how to find the algebraic normal form of the atomic function
fv , for v = (v0 , v1 , . . . , vn−1 ) ∈ GF (p)n .

Theorem 6.12.2. (Celerier) Let fv be the atomic p-ary function defined by


Equation (6.30). Then the algebraic normal form of fv is given by
⎛ ⎞

n−1
1 
fv (x) = ⎝ (j + vi − xi )⎠. (6.31)
(p − 1)!
i=0 j∈GF (p)\{0}

Proof. First, we show that fv (v) = 1. Substituting x = v into Equation (6.31)


gives
⎛ ⎞

n−1
1 
fv (v) = ⎝ (j + vi − vi )⎠
(p − 1)!
i=0 j∈GF (p)\{0}
⎛ ⎞

n−1
1 
= ⎝ j⎠
(p − 1)!
i=0 j∈GF (p)\{0}


n−1
(p − 1)!

=
i=0
(p − 1)!
= 1.

Next, we show that fv (w) = 0 for every w = v. Suppose that w = v.


Pick k such that wk = vk . Then there exists a j ∈ GF (p) \ {0} such that
j + vk − wk = 0 in GF (p). Thus, the inside product of (6.31) is 0 for i = k,
and so fv (w) = 0. 

It follows that every p-ary function can be written in algebraic normal


form.

Corollary 6.12.3. Let g : GF (p)n → GF (p). Then



g(x) = g(v)fv (x), (6.32)
v∈GF (p)n

where fv is the atomic function defined by Equation (6.30).

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]

Proposition 6.12.5. (Hou) The degree of any bent function f : GF (p)n →


GF (p), when represented in algebraic normal form, satisfies

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

provided that (p − 1)n ≥ 4.


For a proof of these results, see Hou [H04] (and see also Coulter and
Matthews [CoM77] for further details).

6.13 Examples of bent functions

In this section we classify even bent functions f : GF (p)n → GF (p) with


f (0) = 0 for p = 3 and n = 2 and give some examples for p = 3 and n = 3,
and for p = 5 and n = 2. Sage was used for many of the calculations.

6.13.1 Bent functions GF (3)2 → GF (3)

We focus on examples of even functions GF (3)2 → GF (3) sending 0 to 0.


There are exactly 34 = 81 such functions, 18 of which are bent.
6.13 EXAMPLES OF BENT FUNCTIONS 287

The set of such functions has some amusing combinatorial properties we


shall discuss below.
Sage was used to verify the following fact (originally discovered by
S. Walsh).

Proposition 6.13.1. There are 18 even bent functions f : GF (3)2 → GF (3)


such that f (0) = 0. The functions are given here in table form and in algebraic
normal form.

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 algebraic normal forms of these functions are:

b1 = −b10 = x20 + x21 ,


b2 = −b3 = −x20 + x21 ,
b4 = −b6 = −x20 − x0 x1 ,
b5 = −b7 = −x0 x1 − x21 ,
b8 = −b14 = −x20 + x0 x1 ,
b9 = −b15 = x0 x1 − x21 ,
b11 = −b16 = −x0 x1 ,
b12 = −b18 = −x20 − x0 x1 + x21 ,
b13 = −b17 = x20 − x0 x1 − x21 .

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

B1 = {b2 , b3 , b4 , b5 , b6 , b7 , b8 , b9 , b11 , b14 , b15 , b16 },


B2 = {b1 , b10 , b12 , b13 , b17 , b18 }.

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 ,

Di = {v ∈ GF (3)2 | f (v) = i},

yield a symmetric weighted partial difference set with intersection numbers


ρkij given as follows.

1. If f ∈ B1 , then |D1 | = |D2 | = 2, and the intersection numbers ρkij are


given in the following tables:
ρ0ij 0 1 2 3 ρ1ij 0 1 2 3
0 1 0 0 0 0 0 1 0 0
1 0 2 0 0 1 1 1 0 0
2 0 0 2 0 2 0 0 0 2
3 0 0 0 4 3 0 0 2 2

ρ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

2. If f ∈ B2 , then |D1 | = |D2 | = 4, D3 = ∅, and the intersection numbers


ρkij are given in the following tables:

ρ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

The proposition is verified using a case-by-case analysis, which we omit.


However, see Example 6.9.5 above for more details on Part 2. Also, see
[CJMPW15] for further properties of the bent functions in the orbit B1 .
Lemma 6.13.3. The 12 bent functions in the orbit B1 can all be obtained
from b6 (x0 , x1 ) = x20 + x0 x1 by linear transformations of the coordinates, i.e.,
(x0 , x1 ) → (ax0 + bx1 , cx0 + dx1 ) where ad − bc = 0. Each such isomorphism
of GF (3)2 induces an isomorphism5 of the associated edge-weighted Cayley
graphs. Thus, the Cayley graphs of the 12 bent functions in the orbit B1 are all
isomorphic as edge-weighted strongly regular graphs. The unweighted Cayley
graphs of the 12 bent functions in the orbit B1 are strongly regular graphs
with parameters (9, 4, 1, 2). Up to isomorphism, there is only one unweighted
strongly regular graph having parameters (9, 4, 1, 2) (see Brouwer [Br] and
Spence [Sp]). This unweighted graph is not complete.
Similarly, the 6 bent functions in the orbit B2 can all be obtained from the
function b1 (x0 , x1 ) = x20 + x21 by linear transformations of the coordinates.
Thus, the associated edge-weighted Cayley graphs are all isomorphic. The
unweighted Cayley graphs of the 6 bent functions in the orbit B2 are strongly
regular graphs with parameters (9, 8, 7, 0). These unweighted graphs are all
isomorphic and complete.
Example 6.13.4. We omit the Sage computations which verify the follow-
ing facts (see [CJMPW15] for details).
• In the orbit B1 , the regular functions in the following pairs are dual to
one another; (b2 , b3 ), (b4 , b9 ), (b5 , b8 ), (b6 , b15 ), (b7 , b14 ), and (b11 , b16 ).
• In the orbit B2 , the weakly regular functions b1 and b10 are −1-dual to
one another, while the weakly regular functions b12 , b13 , b17 and b18 are
all −1-self-dual.
Exercise 6.12. Verify that b4 and b9 are regular and dual to each other.
Exercise 6.13. Verify the following relationships:

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 .

We now examine the supports of the 18 bent functions.

5 We say edge-weighted graphs are isomorphic if there is a bijection of the vertices which

preserves the weight of each edge.


290 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

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

supp(b1 ) = supp(b10 ) = supp(b12 ) = supp(b13 ) = supp(b17 ) = supp(b18 )

are all equal to GF (3)2 \ {(0, 0)}. Note that


• All 18 functions are weight 4 or weight 8.
• If S1 and S2 are any two weight 4 support sets, then either

S1 ∩ S2 = ∅ or |S1 ∩ S2 | = 2.

In fact, if you consider the set

S = {∅} ∪ {supp(f ) | f ∈ B1 ∪ B2 },

then S with the symmetric difference operator Δ forms a group which is


isomorphic to GF (2)3 .

Question 6.5. To what extent is it true that if f1 , f2 are bent functions on


GF (p)n with f1 (0) = f2 (0) = 0, then

supp(f1 ) Δ supp(f3 ) = supp(f3 )

for some bent function f3 satisfying f3 (0) = 0?


Question 6.6. Over GF (p), for p = 2, does the set

S = {∅} ∪ {supp(f ) | f is bent, f (0) = 0, f is even}

form a group (under Δ)?


This does not seem to hold in the binary case6 .
Example 6.13.5. This example is intended to illustrate the bent function
b8 listed in the table above and to provide more detail on Example 6.9.7.

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

Consider the finite field

GF (9) = GF (3)[x]/(x2 + 1) = {0, 1, 2, x, x + 1, x + 2, 2x, 2x + 1, 2x + 2}.

2
1

2
2 1
2

1 1 2
1

2
1
1
1

2
2 1

Figure 6.3: The Cayley graph for b8 .

The set of nonzero quadratic residues is given by

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.

This is a strongly regular graph with parameters (9, 4, 1, 2).

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

The axioms of an edge-weighted strongly regular graph can be directly verified


using this table.
292 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

6.13.2 Bent functions GF (3)3 → GF (3)

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

f1 (x0 , x1 , x2 ) = x20 + x21 + x22 .

A representative of B2 is

f2 (x0 , x1 , x2 ) = x0 x2 + 2x21 + 2x20 x21 .

The bent functions in orbits B1 and B3 give rise to symmetric weighted


partial difference sets, while those in orbits B2 and B4 do not. The functions
in orbits B1 and B3 are weakly regular, but not regular. The functions in
orbits B2 and B4 are not weakly regular.

Example 6.13.6. Let

f (x0 , x1 , x2 ) = − x20 x21 + x20 x1 x2 − x0 x21 x2 − x20 x22


+ x0 x1 x22 − x21 x22 + x20 − x21 − x0 x2 + x22 .

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.

6.13.3 Bent functions GF (5)2 → GF (5)

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.

Example 6.13.7. Let G = GF (25) = GF (5)[x]/(x2 + 2),


B1 f1 (x0 , x1 ) = −x20 + 2x21
B2 f2 (x0 , x1 ) = −x0 x1 + x21
B3 f3 (x0 , x1 ) = −2x40 + 2x20 + 2x0 x1
B4 f4 (x0 , x1 ) = −x41 + x0 x1 − 2x21
B5 f5 (x0 , x1 ) = x30 x1 + 2x41
B6 f6 (x0 , x1 ) = −x0 x31 + x41
B7 f7 (x0 , x1 ) = x41 − x0 x1
B8 f8 (x0 , x1 ) = 2x41 − 2x0 x1 + 2x21
B9 f9 (x0 , x1 ) = −x30 x1 + x41
B10 f10 (x0 , x1 ) = 2x0 x31 + x41 − x21
B11 f11 (x0 , x1 ) = x0 x31 − x41 − 2x21

Table 6.1: Representatives of orbits in B/G for GF (5)2 → GF (5).

D1 = {1, 4, x + 2, 4x + 3}, D2 = {x + 1, x + 3, 4x + 2, 4x + 4},

D3 = {2x + 1, 2x + 2, 3x + 3, 3x + 4}, D4 = {2, 3, 2x + 4, 3x + 1},

and D = D1 ∪ D2 ∪ D3 ∪ D4 . If f (x0 , x1 ) = x20 + x0 x1 then each subset Di


(i = 1, 2, 3, 4) is the image of the level curve f −1 (i) under the GF (5)-vector
space isomorphism

φ : GF (5)2 → GF (25),
(a, b) −→ bx + a ,

Di = φ(f −1 (i)), i = 1, 2, 3, 4. The associated Cayley graph Γf is edge-


weighted strongly regular. The parameters of Γf , as an unweighted strongly
regular graph, are (25, 16, 9, 12). It is possible to compute the ki,j ’s, μi,j ’s,
and λki,j ’s (omitted here but see the longer arxiv version of [CJMPW15] for
more details). This f is homogeneous, bent and regular (hence also weakly
regular).

Exercise 6.14. Consider the bent function on GF (5)2 ,

f4 (x0 , x1 ) = −x41 − 2x21 + x0 x1 .

This function represents a GL(2, GF (5)) orbit of size 120.


294 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

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.

6.14 Examples of Cayley graphs

Let V = GF (p)n and let f : V → GF (p). If we fix an ordering on GF (p)n ,


then the pn × pn matrix A = (Aij ), where Aij is as in (6.26), is a Z-valued
matrix.
Example 6.14.1. Consider the even function f : GF (3)2 → GF (3) with
the following values:

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

The weighted Cayley graph Γ of f is given in Figure 6.4.


This function f is not bent. The algebraic normal form of f is

2x20 x21 + x20 + x0 x1 + 2x21 .

In particular, f is nonhomogeneous. The weighted adjacency matrix of the


Cayley graph of f is
6.14 EXAMPLES OF CAYLEY GRAPHS 295

⎛ ⎞
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

μ(1,1) = 2, k1 = 4, λ(1,1,1) = 1, λ(1,1,2) = 2,

μ(1,2) = 2, λ(1,2,1) = 1, λ(1,2,2) = 0,

μ(2,2) = 0, k2 = 2, λ(2,2,1) = 0, λ(2,2,2) = 1.

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

Example 6.14.2. It can be shown that Example 6.9.7 (or an isomorphic


copy) arises via the bent function b8 (see also Example 6.13.5). For this
example of b8 , we compute the adjacency matrix associated to the members
R1 and R2 of the association scheme (G, R0 , R1 , R2 , R3 ), where G = GF (3)2 ,

Ri = {(g, h) ∈ G × G | gh−1 ∈ Di }, i = 1, 2,

and Di = f −1 (i).

Consider the following Sage computation.


Sage

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

The Sage computation above tells us that the adjacency matrix of R1 is


⎛ ⎞
0 0 0 0 0 1 0 1 0
⎜0 0 0 1 0 0 0 0 1⎟
⎜ ⎟
⎜0 0 0 0 1 0 1 0 0⎟
⎜ ⎟
⎜0 1 0 0 0 0 0 0 1⎟
⎜ ⎟
A1 = ⎜
⎜0 0 1 0 0 0 1 0 0⎟ ⎟,
⎜1 0 0 0 0 0 0 1 0⎟
⎜ ⎟
⎜0 0 1 0 1 0 0 0 0⎟
⎜ ⎟
⎝1 0 0 0 0 1 0 0 0⎠
0 1 0 1 0 0 0 0 0

the adjacency matrix of R2 is


6.14 EXAMPLES OF CAYLEY GRAPHS 297
⎛ ⎞
0 1 1 0 0 0 0 0 0
⎜ 1 0 1 0 0 0 0 0 0 ⎟
⎜ ⎟
⎜ 1 1 0 0 0 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 0 1 1 0 0 0 ⎟
⎜ ⎟
A2 = ⎜
⎜ 0 0 0 1 0 1 0 0 0 ⎟,

⎜ 0 0 0 1 1 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 0 0 0 0 0 1 1 ⎟
⎜ ⎟
⎝ 0 0 0 0 0 0 1 0 1 ⎠
0 0 0 0 0 0 1 1 0

and the adjacency matrix of R3 is


⎛ ⎞
0 0 0 1 1 0 1 0 1
⎜0 0 0 0 1 1 1 1 0 ⎟
⎜ ⎟
⎜0 0 0 1 0 1 0 1 1 ⎟
⎜ ⎟
⎜1 0 1 0 0 0 1 1 0 ⎟
⎜ ⎟
A3 = ⎜⎜1 1 0 0 0 0 0 1 1 ⎟.

⎜0 1 1 0 0 0 1 0 1 ⎟
⎜ ⎟
⎜1 1 0 1 0 1 0 0 0 ⎟
⎜ ⎟
⎝0 1 1 1 1 0 0 0 0 ⎠
1 0 1 0 1 1 0 0 0

Of course, the adjacency matrix of R0 is the identity matrix. In the above


computation, Sage has also verified that they commute and satisfy

A1 A3 = 2A2 + A3

in the Schur ring.

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.)

Example 6.14.3. We take V = GF (3)2 and consider an even function


whose Cayley graph has three connected components.
298 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

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

The graph Γ constructed in the Sage example is shown in Figure 6.5.


Recall from Corollary 2.7.6 that the spectrum of the graph Γf is precisely
the set of values of the Fourier transform Ff of fC . This is illustrated in the
example below.

Example 6.14.4. Consider the ternary function

f (x0 , x1 ) = −x20 x21 + x20 + x0 x1 − x21 .

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

6.15 Cayley graphs of linear codes

We give a very brief construction of a Cayley graph attached to a binary


error-correcting code.
Let C be a binary linear [n, k, d]-code with generator matrix G. Let B
denote the columns of G and assume no column is the zero vector. Let V =
GF (2)k and let Γ = (V, E), where

E = {(v, w) ∈ V × V | v + w ∈ B}.

This is an n-regular graph.

Lemma 6.15.1. The Laplacian spectrum of Γ is the set of numbers 2·wt(c),


for c ∈ C where wt denotes the Hamming weight.

For a proof, see Roth [Ro06], Corollary 13.14.

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

The weights of the code words in C are

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,

as predicted by Lemma 6.15.1.


Moreover, Γ is an edge-transitive, vertex-transitive, distance-regular, bipar-
tite graph. However, it is not strongly regular and not planar. Its automor-
phism group Aut(Γ) clearly contains S7 , the symmetric group on 7 letters,
since one can permute the columns of G and get the same C. However, there
are extra automorphisms of Γ since Aut(Γ) has order 80640 and a center Z
of order 2.
300 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

Figure 6.6: The Cayley graph of the Hamming [7, 4, 3] code, created using Sage.

See Roth [Ro06], Chapter 13 for further details.


There is an extensive and fascinating literature on Boolean functions
and linear codes, a topic that would fill its own book. For example, the
Reed–Muller codes, quadratic reciprocity codes, and Kerdock codes can be
described in this way. Unfortunately, it would take us too far afield to discuss
them in detail here. For further reading in this topic, we refer to the excel-
lent texts Huffman and Pless [HP10], MacWilliams and Sloane [MS77], and
Tokareva [T15].

6.16 Analogs and questions

Regarding the Dillon correspondence, we have the following combinatorial


questions.

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

(GF (p)n , D0 , D1 , D2 , . . . , Dp−1 , Dp )

define a weighted partial difference set?


6.16 ANALOGS AND QUESTIONS 301

We reformulate this in an essentially equivalent way using the language of


association schemes.
Analog 6.16.2. Let f be as above and let R0 , R1 , . . . , Rp denote binary rela-
tions on GF (p)n given by

Ri = {(x, y) ∈ GF (p)n × GF (p)n | f (x, y) = i}, 0 ≤ i ≤ p.

Under what conditions on an even bent function f will (GF (p)n , R0 , R1 , . . . ,


Rp ) be a p-class association scheme?
Remark 6.16.3. In Chee, Tan, and Zhang [CTZ10], it is shown that if n is
even then the unweighted Cayley graph of certain7 weakly regular even bent
functions f : GF (p)n → GF (p), with f (0) = 0, is strongly regular.
The (naive) analog of the Bernasconi–Codenotti–VanderKam correspon-
dence for p > 2 is formalized below in Analog 6.16.4
Analog 6.16.4. Assume n is even and f : GF (p)n → GF (p) is even bent.
Under what additional conditions on f will the following conditions hold true?
For each a ∈ GF (p)× , we have
• if u1 , u2 ∈ V are a3 -neighbors in the Cayley graph of f then |N (u1 , a1 ) ∩
N (u2 , a2 )| does not depend on u1 , u2 (with a given edge-weight), for each
a1 , a2 , a3 ∈ GF (p)× ;
• if u1 , u2 ∈ V are not distinct and neighbors in the Cayley graph of f
then |N (u1 , a1 ) ∩ N (u2 , a2 )| does not depend on u1 , u2 , for each a1 , a2 ∈
GF (p)× .
(In other words, the associated Cayley graph is strongly regular as in Defini-
tion 6.10.3.)
Unfortunately, it is not true in general.
Remark 6.16.5. 1. This analog is false when p = 5.
2. This analog remains false if you replace “f : GF (p)n → GF (p) is even
bent” in the hypothesis by “f : GF (p)n → GF (p) is even bent and regu-
lar.” However, when p = 3 and n = 2, see Lemma 6.13.3.
3. In general, this analog remains false if you replace “f : GF (p)n → GF (p)
is even bent” in the hypothesis by “f : GF (p)n → GF (p) is even bent and
weakly regular.” However, when p = 3 and n = 2, see Lemma 6.13.3.
4. This analog is false if n is odd.
5. The converse of this analog, as stated, is false if p > 2.
Related conjectures can be found in [CJMPW15].

7 By “certain” we mean that f , regarded as a function GF (pn ) → GF (p), is homogeneous

of some degree.
302 6 CAYLEY GRAPHS OF BENT FUNCTIONS AND CODES

6.17 Further reading

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

(b) The incidence matrix is


⎛ ⎞
1 1 1 0 0 0 0 0 0 0 0 0
⎜1 0 0 1 1 1 0 0 0 0 0 0⎟
⎜ ⎟
⎜0 0 0 1 0 0 1 1 1 0 0 0⎟
⎜ ⎟
⎜0 0 0 0 0 0 1 0 0 1 0 0⎟
⎜ ⎟.
⎜0 1 0 0 1 0 0 0 0 1 0 0⎟
⎜ ⎟
⎜0 0 1 0 0 0 0 0 0 0 1 1⎟
⎜ ⎟
⎝0 0 0 0 0 1 0 1 0 0 1 0⎠
0 0 0 0 0 0 0 0 1 0 0 1

(c) It is Hamiltonian: (0, 4, 3, 2, 7, 5, 6, 1].


(d) It’s not Eulerian.
(e) The girth is 3.
(f) The diameter is 3.

c Springer International Publishing AG 2017 303


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
304 APPENDIX A: SELECTED ANSWERS

Exercise 1.4 The cycle space has basis

{(1, 0, −1, 0, 1, 0), (0, 1, −1, 0, 0, 1), (0, 0, 0, 1, −1, 1)}.

The cocycle space has basis

{(1, 0, 0, −1, −1, 0), (0, 1, 0, 1, 0, −1), (0, 0, 1, 0, 1, 1)}.

Exercise 1.5 Yes, it is connected. Its order is 11 and size is 22.


Exercise 1.6 The cycle space has basis

{(1, 0, −1, 0, 0, 1, 0, 0, 0, 0, −1, 0), (0, 1, −1, 0, 0, 0, −1, 0, 1, −1, 0, −1),

(0, 0, 0, 1, 0, −1, 0, 0, 1, 0, 1, −1), (0, 0, 0, 0, 1, −1, −1, 0, 1, −1, 1, −1),

(0, 0, 0, 0, 0, 0, 0, 1, −1, 0, −1, 1)}.

Exercise 1.7 The cocycle space has basis

{(1, 0, 0, 0, −1, 0, 0, 0, 0, −1, 1, 1), (0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0),

(0, 0, 1, 0, 0, 0, 0, 0, 0, 0, −1, −1), (0, 0, 0, 1, 0, 0, 0, −1, 0, −1, 0, 1),

(0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0), (0, 0, 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

configuration energy configuration energy


{0, 0, 0, 0} 0 {−2, 0, 2, 0} 2
{−1, 0, 0, 1} 12 {−3, 0, 2, 1} 7
2
{−2, 0, 0, 2} 2 {−2, 1, 0, 1} 3
2
1
{−1, 0, 1, 0} 2 {−3, 1, 0, 2} 7
2
3
{−2, 0, 1, 1} 2 {−3, 2, 0, 1} 7
2
7
{−3, 0, 1, 2} 2 {−3, 2, 1, 0} 7
2

Exercise 4.16 Recall that a divisor on a graph is non-special if its degree is


one less than the genus of the graph and its linear system is empty. Thus, a
divisor on a cycle graph is non-special if it has degree 0 and is not linearly
equivalent to any effective divisor. The only effective divisor of degree 0 is the
APPENDIX A: SELECTED ANSWERS 305

zero divisor. Since the pullback map φ∗ : Jac(Cm ) → Jac(Cn ) is injective, it


follows that if ν is a degree 0 divisor on Cm which is not linearly equivalent
to the zero divisor on Cm , then φ∗ ν is a degree 0 divisor on Cn which is not
linearly equivalent to the zero divisor on Cn .

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.18 (−2, 0, 1, 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

Let a = y − x = (a1 , a2 , . . . , an ) and z = (z1 , z2 , . . . , zn ). Note that


 
ζ z,a = ζ z1 a1 ζ z2 a2 · · · ζ zn an
z∈V z∈V
p−1
n 
z
= (ζ ai ) i .
i=1 zi =0

The sum
p−1
 zi
(ζ ai )
zi =0
306 APPENDIX A: SELECTED ANSWERS

is zero if ai = 0. Therefore, z∈V ζ z,a = 0 if a = 0, i.e., if y = x. Thus

1 
ĝ ∨ (y) = g(y) ζ 0 = g(y).
pn
z∈V

Exercise 6.2 Suppose that ĝ(z) = c for all z ∈ GF (p)n . Then



∨ 1  z,y 0 if y= 0,
g(y) = ĝ (y) = n c ζ =
p c if y = 0.
z∈V

Conversely, if g is supported at 0, then



ĝ(y) = g(x)ζ −x,y = g(0)
x∈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

Exercise 6.5 Yes. (7, 3, 1).


Exercise 6.6 Yes. (11, 5, 2).
Exercise 6.7 No. There are 20 nonidentity elements in D · D−1 and only 15
in G, so the nonidentity elements in G cannot all be represented the same
number of time in D · D−1 .
APPENDIX A: SELECTED ANSWERS 307

Exercise 6.9 The incidence matrix is


⎛ ⎞
1 1 1 1 0 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 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0⎟
⎜ ⎟
⎜1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0⎟
⎜ ⎟
⎜0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0⎟
⎜ ⎟
⎜0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1⎟
⎜ ⎟
⎜0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0⎟
⎜ ⎟
⎝0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0⎠
0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1

and the girth is 3.


Exercise 6.10 The adjacency matrix is
⎛ ⎞
0 0 0 1 0 1 1 1 0
⎜0 0 0 1 1 0 0 1 1⎟
⎜ ⎟
⎜0 0 0 0 1 1 1 0 1⎟
⎜ ⎟
⎜1 1 0 0 0 0 1 0 1⎟
⎜ ⎟
⎜0 1 1 0 0 0 1 1 0⎟
⎜ ⎟
⎜1 0 1 0 0 0 0 1 1⎟
⎜ ⎟
⎜1 0 1 1 1 0 0 0 0⎟
⎜ ⎟
⎝1 1 0 0 1 1 0 0 0⎠
0 1 1 1 0 1 0 0 0

and the diameter is 2.


Bibliography

[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)

c Springer International Publishing AG 2017 309


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
310 BIBLIOGRAPHY

[BLS07] T. Biyikogu, J. Leydold, P. Stadler, Laplacian Eigenvectors of Graphs,


Lecture Notes in Mathematics (Springer, Berlin, 2007)
[BLoS91] A. Björner, L. Lovász, P. Shor, Chip-firing games on graphs. Eur. J.
Combin 12, 283–291 (1991). http://www.cs.elte.hu/∼lovasz/morepapers/
chips.pdf
[Bl08] S. Blackburn, Cryptanalysing the critical group: efficiently solving Biggs’s
discrete logarithm problem. J. Math. Cryptol. 3, 199–203 (2009)
[Bo98] B. Bollobás, Modern Graph Theory, Graduate Texts in Mathematics
(Springer, Berlin, 1998)
[BM07] J. Bondy, U. Murty, Graph Theory with Applications (Springer, Berlin,
2007)
[BL02] S. Bosch, D. Lorenzini, Grothendieck’s pairing on component groups of
Jacobians. Invent. Math. 148, 353–396 (2002)
[Br] A. Brouwer, Parameters of Strongly Regular Graphs. http://www.win.
tue.nl/∼aeb/graphs/srg/srgtab1-50.html
[BrCN89] A. Brouwer, A. Cohen, A. Neumaier, Distance-Regular Graphs (Springer,
Berlin, 1989)
[BH11] A. Brouwer, W. Haemers, Spectra of Graphs (Springer, Berlin, 2011).
http://www.win.tue.nl/∼aeb/2WF02/spectra.pdf
[CvL91] P. Cameron, J. van Lint, Designs, Graphs, Codes and their Links. London
Math. Soc. Lecture Note Ser. 19 (1991)
[C10] C. Carlet, Boolean functions for cryptography and error correcting codes,
in Boolean Models and Methods in Mathematics, Computer Science, and
Engineering, eds. by Y. Crama and P. Hammer, (Cambridge University
Press, 2010), pp. 257–397. http://www1.spms.ntu.edu.sg/∼kkhoongm/
chap-fcts-Bool.pdf
[CD04] C. Carlet, C. Ding, Highly non-linear mappings. J. Complex. 20, 205–244
(2004)
[CJMP12] C. Celerier, D. Joyner, C. Melles, D. Phillips, On the Walsh-Hadamard
transform of monotone Boolean functions. Tbilisi Math. J. (Special Issue
on Sage and Research) 5, 19–35 (2012)
[CJMPW15] C. Celerier, D. Joyner, C. Melles, D. Phillips, S. Walsh, Edge-weighted
Cayley graphs and p-ary bent functions, INTEGERS 16 (2016) #A35.
See also Explorations of edge-weighted Cayley graphs and p-ary bent func-
tions. http://www.arxiv.org/abs/1406.1087
[CM12] A. Cesmelioglu, W. Meidl, Bent functions of maximal degree. IEEE Trans.
Inform. Theory 58, 1186–1190 (2012)
[CP05] D. Chebikin, P. Pylyavskyy, A family of bijections between G -parking
functions and spanning trees. J. Combin. Theory Ser. A 110, 31–41 (2005)
[CTZ10] Y. Chee, Y. Tan, and X. Zhang, Strongly Regular Graphs Constructed
from p-ary Bent Functions, preprint, (2010). http://arxiv.org/abs/1011.
4434
[Ch92] F. Chung, Spectral Graph Theory, American Mathematical Society
(1992). http://www.math.ucsd.edu/∼fan/research/revised.html
[Ch05] F. Chung, Laplacians and the Cheeger inequality for directed graphs. Ann.
Comb. 9, 1–19 (2005). http://www.math.ucsd.edu/∼fan/wp/dichee.pdf
[CLP15] J. Clancy, T. Leake, S. Payne, A note on Jacobians, Tutte polynomials,
and two-variable zeta functions of graphs. Exp. Math. 24, 1–7 (2015)
[Co76] J. Conway, On Numbers and Games (ONAG) (Academic Press, New
York, 1976)
[Co84] J. Conway, Hexacode and tetracode - MINIMOG and MOG, in Compu-
tational Group Theory, ed. by M. Atkinson, (Academic Press, 1984)
[CS86] J. Conway, N. Sloane, Lexicographic codes: error-correcting codes from
game theory. IEEE Trans. Inform. Theory 32, 337–348 (1986)
BIBLIOGRAPHY 311

[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

[HB68] S. Hakimi, J. Bredeson, Graph theoretic error-correcting codes. IEEE


Trans. Inform. Theory 14, 584–591 (1968)
[Ha77] R. Hartshorne, Algebraic Geometry, Graduate Texts in Mathematics, vol.
52 (Springer, New York, 1977)
[HK06] T. Helleseth, A. Kholosha, Monomial and quadratic bent functions over
the finite fields of odd characteristic. IEEE Trans. Inform. Theory 52,
2018–2032 (2006)
[HK10] T. Helleseth, A. Kholosha, On generalized bent functions, Information
theory and applications workshop (ITA), (2010)
[HK13] T. Helleseth, A. Kholosha, Bent functions and their connections to com-
binatorics, in Surveys in Combinatorics, London Math. Soc. Lecture Note
Series, Vol. 409. Cambridge University Press 2013, 91–126 (2013)
[He11] A. Herman, Seminar notes: Algebraic Aspects of Association Schemes
and Scheme Rings, seminar notes, (2011). http://uregina.ca/∼hermana/
ASSR-Lecture9.pdf
[HLMPPW08] A. Holroyd, L. Levine, K. Meszaros, Y. Peres, J. Propp, D. Wilson, Chip-
firing and rotor-routing on directed graphs, preprint, (2008). http://front.
math.ucdavis.edu/0801.3306
[H04] X.-D. Hou, p-Ary and q-ary versions of certain results about bent func-
tions and resilient functions. Finite Fields Appl. 10, 566–582 (2004)
[HP10] W. Huffman, V. Pless, Fundamentals of Error-Correcting Codes (Cam-
bridge University Press, Cambridge, 2010)
[J15] D. Joyner, The man who found God’s number. College Math. J. 45, 258–
266 (2014)
[JK11] D. Joyner, J.-L. Kim, Selected Unsolved Problems in Coding Theory
(Birkhaüser, New York, 2011)
[JV10] D. Jungnickel, S. Vanstone, Graphical codes revisited. IEEE Trans. In-
form. Theory 43, 136–146 (1997)
[KR01] J. Kahane, A. Ryba, The hexad game in the Fraenkel Festschrift volume.
Electron. J. of Combin. 8, 00–00 (2001). http://www.combinatorics.org/
ojs/index.php/eljc/article/view/v8i2r11 #R11
[KA02] P. Kaski, Eigenvectors and Spectra of Cayley Graphs, preprint,
(2002). http://www.tcs.hut.fi/Studies/T-79.300/2002S/esitelmat/kaski
paper 020506.pdf
[KP09] T. Kim, C. Praeger, On generalised Paley graphs and their automorphism
groups. Michigan Math. J. 58, 293–308 (2009)
[KSW85] P. Kumar, R. Scholtz, L. Welch, Generalized bent functions and their
properties. J. Combin. Theory Ser. A 40, 90–107 (1985)
[La70] S. Lang, Algebraic Number Theory (Addison-Wesley, 1970)
[Lu11] Y. Luo, Rank-determining sets of metric graphs. J. Combin. Theory Ser.
A 118, 1775–1793 (2011)
[MS77] The Theory of Error-Correcting Codes, North Holland Mathematical
Library (North Holland Publishing Company, New York, 1977)
[Ma11] M. Manjunath, The Rank of a Dvisor on a Finite Graph: Geometry and
Computation, (2011). http://arxiv.org/abs/1111.7251
[Mar08] D. Marcus, Graph Theory, A Problem-Oriented Approach (Mathematical
Association of America, 2008)
[M15] A. Mednykh, On the Riemann-Hurwitz Formula for Graph Coverings,
preprint, (2015). http://arxiv.org/pdf/1505.00321.pdf
[MM14] A. Mednykh, I. Mednykh, Graph Coverings and Harmonic Maps in Ex-
ercises, preprint, (2014). http://kam.mff.cuni.cz/∼atcagc14/materialy/
Harmonic%20maps 1.pdf
[MvOV96] A. Menezes, P. van Oorschot, S. Vanstone, Handbook of Applied Cryptog-
raphy (CRC Press, 1996). http://www.cacr.math.uwaterloo.ca/hac/ (All
chapters are free online.)
BIBLIOGRAPHY 313

[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/

index.php/proceedings/article/viewArticle/dmAA0118 (The first link is


for the thesis itself in ps format; the second link is to an associated
paper.)
[Me04] C. Merino, The chip-firing game. Discret. Math. 302, 188–210 (2005)
[Mes16] S. Mesnager, Bent Functions: Fundamentals and Results (Springer, 2016)
[Mi95] R. Miranda, Algebraic Curves and Riemann Surfaces No. 5, AMS, Grad-
uate studies in mathematics series (Providence, R.I., 1995)
[Mo91a] B. Mohar, The Laplacian spectrum of graphs, in Graph Theory, Combi-
natorics, and Applications ed. by Y. Alavi, G. Chartrand, O. Oellermann,
A. Schwenk, vol 2 (Wiley, 1991) pp. 871–898. http://www.fmf.uni-lj.si/
∼mohar/Papers/Spec.pdf
[Mo91b] B. Mohar, Eigenvalues, diameter, and mean distance for graphs. Graphs
Combin. 7, 53–64 (1991). http://www.sfu.ca/∼mohar/Reprints/1991/
BM91 GC7 Mohar EigenvaluesDiameterMeanDistance.pdf
[NS94] Noam Nisan, Mario Szegedy, On the degree of boolean functions as real
polynomials. Comput. Complex. 4, 301–313 (1994)
[PPW11] D. Perkinson, J. Perlman, and J. Wilmes, Primer for the algebraic geom-
etry of sandpiles, preprint (2011). http://arxiv.org/abs/1112.6163
[Pe09] J. Perlman, Sandpiles, A Bridge Between Graphs and Toric Ideals, the-
sis, Reed College, (2009). http://people.reed.edu/∼davidp/homepage/
students/perlman.pdf
[Po03] J. Pohill, A brief survey of difference sets, partial difference sets,
and relative difference sets, preprint, (2003). http://www.passhema.org/
proceedings/2003/PolhillDifference2003.pdf
[PS04] A. Postnikov, B. Shapiro, Trees, parking functions, syzygies, and deforma-
tions of monomial ideals. Trans. Am. Math. Soc. 356, 3109–3142 (2004)
[Pot16] V. Potapov, On Minimal Distance Between q-ary Bent Functions, preprint
(2016). http://arxiv.org/abs/1606.02430
[PTFL11] A. Pott, Y. Tan, T. Feng, S. Ling, Association schemes arising from bent
functions. Des. Codes Cryptogr. 59, 319–331 (2011)
[RKHS02] D. Rockmore, P. Kostelec, W. Hordijk, P. Stadler, Fast Fourier transform
for fitness landscapes. Appl. Comput. Harmon. Anal. 12, 57–76 (2002)
[Ro06] R. Roth, Introduction to Coding Theory (Cambridge University Press,
Cambridge, 2006)
[Sh09] F. Shokrieh, Discrete logarithm problem on the Jacobian of finite graphs
preprint later retitled and published as The monodromy pairing and dis-
crete logarithm on the Jacobian of finite graphs. J. Math. Cryptol. 4,
43–56 (2010). http://arxiv.org/pdf/0907.4764.pdf
[Sp] E. Spence, webpage Strongly regular graphs on at most 64 vertices.
http://www.maths.gla.ac.uk/∼es/srgraphs.php
[Sp10] D. Spielman, Algorithms, graph theory, and linear equations in Lapla-
cian matrices, in Proceedings of the International Congress of Math-
ematicians (Hyderabad, India, 2010). http://www.cs.yale.edu/homes/
spielman/PAPERS/icm10post.pdf
[St07] P. Stanica, Graph eigenvalues and Walsh spectrum of Boolean functions.
Integers 7(2), 00 (2007). #A32
[St99] R. Stanley, Enumerative Combinatorics, 2nd edn. (Cambridge University
Press, Cambridge, 1999)
[St14] D. Stevanovic, Spectral Radius of Graphs (Academic Press, 2014)
314 BIBLIOGRAPHY

[Su86] T. Sunada, L-functions in geometry and some applications, in Curvature


and Topology of Riemannian Manifolds, Lecture Notes in Mathematics,
vol 1201 (Springer 1986) pp. 266–284
[Te10] A. Terras, A Stroll Through the Garden of Graph Zeta Functions (Cam-
bridge University Press, 2010)
[T10] N. Tokareva, Generalizations of Bent Functions: A Survey (2010). http://
eprint.iacr.org/2011/111.pdf
[T15] N. Tokareva, Bent Functions: Results and Applications to Cryptography
(Academic Press, 2015)
[vD01] E. van Dam, Strongly regular decompositions of the complete graph. J.
Algebraic Combin. 17, 181–201 (2003)
[W14] S. Walsh, Combinatorics of p-ary Bent Functions (United States Naval
Academy honors project, 2014)
[We99] D. Welsh, The Tutte Polynomial. https://www.math.ucdavis.edu/
∼deloera/MISC/BIBLIOTECA/trunk/Welsh/welsh-tutte-polynomial.

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

Cayley sum graph, 78 decomposition of, 172


character, 49 invariant factors of, 172
characteristic functions, 99 of a union, 174
characteristic polynomial of graph, 46 of Clancy-Leake-Payne graph, 174,
characteristic vector, 152 180
chip-firing game, 146, 148 cube graph, 101, 103, 116, 122, 190
chip-firing move, 150 cut, 16, 24
q-legal, 150 -set, 16
Chvátal graph, 214 -set space, 99
circuit rank, 27, 28 space, 16, 99
circulant matrix, 58, 82 cycle, 3, 8
circulation, 99 fundamental, 99
space, 16, 99 Hamiltonian, 8
Clancy-Leake-Payne graph, 174, 180, prime, 27
205 space, 16
class function, 69 vector representation of, 14
cocycle, 16, 98 cycle graph, 4, 102, 162, 178
space, 16, 99 cycle space, 98
code
error-correcting, 29
length, 29 D
minimum distance, 30 Dürer graph, 218, 220
complementary configuration, 159 decomposition of a graph, 34
complete q-pointed sequence of chip- default orientation of a graph, 2
firings, 157 degree
complete graph, 101, 103, 116, 122, 164, local, of graph morphism, 110
173, 179, 190, 200 local, of harmonic morphism, 111
critical group of, 171 of canonical divisor, 132
configuration, 148, 149 of configuration, 149
complementary, 159 of configuration on set, 152
critical, 155, 157, 159, 168 of harmonic morphism, 112
degree of, 149 of vertex, 5
equivalent, 165 sequence, 5
legal, 149, 198 degree of p-ary function, 284
maximal q-stable, 158 Desargues graph, 216, 219
pushforward, 149 Dhar’s algorithm, 195
q-legal, 149 ordered, 199
q-stable, 154 diameter, 6, 46
recurrent, 155 diamond graph, 3, 150
reduced, 158, 159, 168 difference set, 255
stable, 169 elementary, 255
conjugacy class, 69 elementary Hadamard, 257
connected component, 6, 7 Hadamard, 255
connected graph, 3, 6 digraph, 61
convolution operator, 63 dihedral group, Dn , 61
covering map, 118, 120 Dillon correspondence, 257, 300
identity, 118 analogs of, 301
covering transformation, 122 dimension
Coxeter graph, 216, 217 of linear system, 134
critical configuration, 155, 157, 159, 168 dimension of linear system, 128, 138
critical group, 169, 205 disconnecting set, 16, 98
as lattice quotient, 172 discrete logarithm problem, 206
cyclic, 186 distance, 6
INDEX 317

distance-regular graph, 6, 209, 216, 232, of Laplacian, 119


238, 241 elementary divisors, 172
distance-transitive graph, 6, 209, 210, elementary Hadamard difference set, 257
216, 232, 241 endpoint, 2
divisor, 126, 170 energy
canonical, 131 of degree 0 configuration, 162–164
degree of, 126 pairing on critical group, 176, 206
effective, 127 pairing on degree 0 configurations,
linearly equivalent, 127 161, 165, 175
non-special, 128, 204 Errera graph, 223, 224
non-special determined by ordering, error-correcting code, xix
128 Euler tour, 8
principal, 126, 170 even function, 247
pullback of, 137 external activity, 24
pushforward of, 136 externally active edge, 24, 201
reduced, 130, 141 externally passive edge, 201
Riemann-Roch dimension of, 128
weight of, 199
dollar game, 146, 149, see also chip-firing F
game face-turn metric, xiv
DS Fibonacci number, 180, 187
see difference set, 255 flow, 98
dual space, 16
of bent function, 252 forest, 5
dual group, 78 Foster graph, 225, 226
Duursma zeta function, 30, 32, 174 Fourier multiplier operator, 63
Dyck graph, 220, 222 Fourier transform, 248
Franklin graph, 225, 227
free action, 125
fundamental cycle, 6, 99
E
edge, 1
cut subgraph, 16, 98 G
cutset, 98 G-parking function, 160
default orientation, 2 Galois covering graph, 122
externally active, 24 generalized inverse, 53, 162
fixed by group action, 121 genus
head of, 2 Duursma, 33
horizontal, 100 of graph, 120, 126
internally active, 24 government vertex, 148
orientation, 2 Grötzsch graph, 229, 231
reversed by group action, 121 graph, 1
space, 11 additive Cayley, 78
tail of, 2 adjacency matrix of, 5
vertical, 100 automorphism, 6, 122
edge boundary, 67 banana, 4, 27
edge expansion, 67 Biggs, 186
edge Laplacian, 119 Biggs-Smith, 210
identity, 119 Brinkmann, 212
edge-transitive graph, 210, 218, 227, 232, Cartesian product, 93
235 Cayley, 68, 181, 258, 261, 294
eigenvalue characteristic polynomial, 46
of Laplacian, 119 Chvátal, 214
eigenvector circulant, 58
318 INDEX

Clancy-Leake-Payne, 174, 180, 205 Peterson, 241


complete, 3, 22, 23, 25, 101, 103, 116, planar, 21, 33
122, 147, 164, 171, 173, 179, 190 rank generating function of, 22
configuration, 148 rooted product, 122
connected, 3, 7 Shrikhande, 241, 243
covering, 122 simple, 1, 2
Coxeter, 216, 217 size of, 2
cube, 17, 23, 101, 103, 116, 122, 190 spectrum, 46
cycle, 4, 9, 27, 28, 32, 55, 58, 60, 61, star, 50
102, 159, 162, 178 strongly regular, 235, 236, 241, 259
Dürer, 218, 220 tetrahedron, 18, 101, 103, 116, 122
Dürer graph, 148 theta, 4, 141
decomposition, 34 traceable, 8
default orientation of, 2 transitive action on, 6
Desargues, 216, 219 tree, 178
diamond, 3, 27, 29, 150, 162 Tutte polynomial, 22
dipole, 4 vertex-transitive, 218, 220, 232, 235
directed, 61 weighted, 5
distance-regular, 6, 209, 216, 232, wheel, 4, 180, 186, 206
238, 241 graph morphism
distance-transitive, 6, 209, 210, 216, local degree of, 110
232, 241 graph morphism identity, 105
dual, 21 Gray graph, 227, 230
Dyck, 220, 222 group
edge-transitive, 218, 227, 232, 235 action on graph, 121
edge-weighted, 5 group action
edge-weighted strongly regular, 273 on bent functions, 280
Errera, 223, 224 group ring, 269
Eulerian, 8
expander, 66
Foster, 225, 226 H
Franklin, 225, 227 Hadamard difference set, 257
G-covering of, 122 Hadamard matrix, 250
Galois covering, 122 Hamiltonian cycle, 8
genus of, 3, 120 Hamiltonian path, 8
Grötzsch, 229, 231 Hamming distance
Gray, 227, 230 between p-ary functions, 252
group action on, 121 harmonic action, 125
group quotient of, 86 harmonic morphism, 100, 106, 136, 138,
Hamiltonian, 8 187
Heawood, 232 and spectrum of Laplacian, 119
Hoffman, 232, 234 degree of, 112
Hoffman–Singleton, 235 horizontal multiplicity of at vertex,
homomorphism, 100 107
index of, 52 Laplacian matrix identity, 110
morphism, 100 local degree of, 111
multi-, 2 matrix identity, 108
Nauru, 235, 237 surjectivity of nonconstant, 111
order of, 2 vertical multiplicity of at vertex, 107
Paley, 18, 102, 113, 121, 124, 188, 236, Heawood graph, 232
238 hexad
Pappus, 238, 240 signed, 36
path, 178 hexad in S(5, 6, 12), 34
INDEX 319

Hoffman graph, 232, 234 M


Hoffman–Singleton graph, 235 MacWilliams identity, 30
homomorphism mathematical blackjack, 37
of graphs, 100 matrix
horizontal adjacency, 46
edge, 106 circulant, 58
multiplicity, 106 edge map, 103, 105
Laplacian, 46
multiplicity-vertex map, 108
signed edge map, 103, 105
I
vertex map, 103
incidence, 2
matrix-walk theorem, 268
incidence matrix, 10, 42, 98
matroid
index
rank generating function of, 22
of graph, 52
maximal q-stable configuration, 158
inner product, 99
McKay’s lower bound, 48
internal activity of tree, 24
MDS, 30
internally active edge, 24
MINIMOG, 35
intersection number, 263, 270, 275 minimum distance separable, 30
invariant factors, 172 Moore–Penrose pseudoinverse, 53, 162,
of Cayley graph, 185, 186 163
of Smith normal form, 171 morphism
harmonic, 100
of graphs, 100
J multicover, 118
Jacobian, 127, 169, 170 multigraph, 2
multiplicity
local horizontal, 106
L vertical, 107
Laplacian, 41, 42, 51, 81, 147
and covering map, 120
N
edge, 46
Nauru graph, 235, 237
eigenvalue of, 119
neighbor, 2
eigenvector of, 119
neighborhood, 1, 279
kernel of, 46
non-special divisor, 128, 204
matrix identity for harmonic mor-
nullity
phisms, 110
of set of edges, 22
of Dürer graph, 148
of K4 , 147
rank of, 46 O
reduced, 172 odd man out, 36
spectrum, 119 Orientation vector, 2, 14
length outdegree
of walk, 6 of set, 151
weighted, 6 of set at vertex, 129
level curve, 275 of vertex, 151
lift of graph, 122
linear feedback shift register, xviii
linear equivalence of divisors, 127 P
linear system, 127 p-ary function, 246
dimension of, 128, 134, 138 Paley graph, 18, 102, 113, 121, 124, 236,
loop, 2 238
Lucas number, 180, 187 Pappus graph, 238, 240
320 INDEX

parking function, 160 Riemann–Roch theorem, 132, 135


Parseval’s equation, 247 rooted graph product, 122
partial difference set, 256 rotor-routing model, 146
Cayley graph associated to, 258
of Latin square type, 256
of negative Latin square type, 256
weighted, 269, 288 S
path, 8 Schur ring, 265
Hamiltonian, 8 seg, 15
path graph, 178 see also disconnecting set, 15
PDS sensitivity, 7
see partial difference set, 256 conjecture, 7
Petersen graph, 241 sensitivity graph, 7
Picard group, 169, 170 sequence of chip-firings
pointed sequence of chip-firings, 156 complete q-pointed, 157
prime cycle, 27 pointed, 156
product graph, 92 proper, 156
proper sequence of chip-firings, 156 recurrent, 155, 157
pseudoinverse of Laplacian matrix, 53 set-firing move, 154
pullback Shrikhande graph, 241, 243
of divisor, 137 signature
pushforward of p-ary function, 279
of divisor, 136 Singleton bound, 30
pushforward configuration, 149 sink vertex, 148
Smith normal form, 171, 172, 205
for complete graph, 173
Q spanning tree, 201
quasi-multicover, 118 number, 173
quasicover, 118
theorem, 170, 195, 203
quotient graph, 86
spanning tree number, 173, 203
spectral decomposition, 9
spectral gap, 66
R
relative, 67
radius, 6
spectrum
Ramanujan graph, 68
of Laplacian, 46, 119
rank, 10
SRG
circuit, 5, 27
see strongly regular graph, 259
of set of edges, 22
stable configuration, 154
recurrent configuration, 155
stable set, 158
recurrent sequence of chip-firings, 155
reduced configuration, 158, 159, 168 stable vertex, 154
reduced divisor, 130, 141 star subgraph, 100
regular function, 288 Steiner system, 34
relation strongly regular graph, 235, 236, 241,
dual, 263 259, 289
symmetric, 263 edge-weighted, 273
representation, 49 primitive, 84
irreducible, 49 structure constants, 263, 270
sub-, 49 Subgraph, 1
Riemann–Hurwitz formula vector representation of, 14
for graphs, 120 sum graph, 77
for graphs with group action, 121 support, 81
Riemann–Roch dimension, 128 of p-ary function, 278
INDEX 321

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)

A. Saichev and W.A. Woyczyński: Distributions in the Physical and Engi-


neering Sciences (ISBN 978-0-8176-3924-2)
C.E. D’Attellis and E.M. Fernandez-Berdaguer: Wavelet Theory and Har-
monic Analysis in Applied Sciences (ISBN 978-0-8176-3953-2)
H.G. Feichtinger and T. Strohmer: Gabor Analysis and Algorithms (ISBN
978-0-8176-3959-4)
R. Tolimieri and M. An: Time-Frequency Representations (ISBN 978-0-8176-
3918-1)
T.M. Peters and J.C. Williams: The Fourier Transform in Biomedical Engi-
neering (ISBN 978-0-8176-3941-9)
G.T. Herman: Geometry of Digital Spaces (ISBN 978-0-8176-3897-9)
A. Teolis: Computational Signal Processing with Wavelets (ISBN 978-0-8176-
3909-9)
J. Ramanathan: Methods of Applied Fourier Analysis (ISBN 978-0-8176-
3963-1)
J.M. Cooper: Introduction to Partial Differential Equations with MATLAB
(ISBN 978-0-8176-3967-9)
A. Procházka, N.G. Kingsbury, P.J. Payner, and J. Uhlir: Signal Analysis
and Prediction (ISBN 978-0-8176-4042-2)
W. Bray and C. Stanojevic: Analysis of Divergence (ISBN 978-1-4612-7467-4)
G.T. Herman and A. Kuba: Discrete Tomography (ISBN 978-0-8176-4101-6)
K. Gröchenig: Foundations of Time-Frequency Analysis (ISBN 978-0-8176-
4022-4)

c Springer International Publishing AG 2017 323


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
324 Applied and Numerical Harmonic Analysis

L. Debnath: Wavelet Transforms and Time-Frequency Signal Analysis (ISBN


978-0-8176-4104-7)
J.J. Benedetto and P.J.S.G. Ferreira: Modern Sampling Theory (ISBN 978-
0-8176-4023-1)
D.F. Walnut: An Introduction to Wavelet Analysis (ISBN 978-0-8176-3962-4)
A. Abbate, C. DeCusatis, and P.K. Das: Wavelets and Subbands (ISBN 978-
0-8176-4136-8)
O. Bratteli, P. Jorgensen, and B. Treadway: Wavelets Through a Looking
Glass (ISBN 978-0-8176-4280-80
H.G. Feichtinger and T. Strohmer: Advances in Gabor Analysis (ISBN 978-
0-8176-4239-6)
O. Christensen: An Introduction to Frames and Riesz Bases (ISBN 978-0-
8176-4295-2)
L. Debnath: Wavelets and Signal Processing (ISBN 978-0-8176-4235-8)
G. Bi and Y. Zeng: Transforms and Fast Algorithms for Signal Analysis and
Representations (ISBN 978-0-8176-4279-2)
J.H. Davis: Methods of Applied Mathematics with a MATLAB Overview
(ISBN 978-0-8176-4331-7)
J.J. Benedetto and A.I. Zayed: Modern Sampling Theory (ISBN 978-0-8176-
4023-1)
E. Prestini: The Evolution of Applied Harmonic Analysis (ISBN 978-0-8176-
4125-2)
L. Brandolini, L. Colzani, A. Iosevich, and G. Travaglini: Fourier Analysis
and Convexity (ISBN 978-0-8176-3263-2)
W. Freeden and V. Michel: Multiscale Potential Theory (ISBN 978-0-8176-
4105-4)
O. Christensen and K.L. Christensen: Approximation Theory (ISBN 978-0-
8176-3600-5)
O. Calin and D.-C. Chang: Geometric Mechanics on Riemannian Manifolds
(ISBN 978-0-8176-4354-6)
J.A. Hogan: Time?Frequency and Time?Scale Methods (ISBN 978-0-8176-
4276-1)
C. Heil: Harmonic Analysis and Applications (ISBN 978-0-8176-3778-1)
K. Borre, D.M. Akos, N. Bertelsen, P. Rinder, and S.H. Jensen: A Software-
Defined GPS and Galileo Receiver (ISBN 978-0-8176-4390-4)
Applied and Numerical Harmonic Analysis 325

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

G. Pfander: Sampling Theory, a Renaissance (ISBN 978-3-319-19748-7)


R. Balan, M. Begue, J. Benedetto, W. Czaja, and K.A Okoudjou: Excursions
in Harmonic Analysis, Volume 4 (ISBN 978-3-319-20187-0)
O. Christensen: An Introduction to Frames and Riesz Bases, Second Edition
(ISBN 978-3-319-25611-5)
E. Prestini: The Evolution of Applied Harmonic Analysis: Models of the Real
World, Second Edition (ISBN 978-1-4899-7987-2)
J.H. Davis: Methods of Applied Mathematics with a Software Overview, Sec-
ond Edition (ISBN 978-3-319-43369-1)
M. Gilman, E. M. Smith, S. M. Tsynkov: Transionospheric Synthetic Aper-
ture Imaging (ISBN 978-3-319-52125-1)
S. Chanillo, B. Franchi, G. Lu, C. Perez, E.T. Sawyer: Harmonic Analysis,
Partial Differential Equations and Applications (ISBN 978-3-319-52741-3)
R. Balan, J. Benedetto, W. Czaja, M. Dellatorre, and K.A Okoudjou: Excur-
sions in Harmonic Analysis, Volume 5 (ISBN 978-3-319-54710-7)
I. Pesenson, Q.T. Le Gia, A. Mayeli, H. Mhaskar, D.X. Zhou: Frames and
Other Bases in Abstract and Function Spaces: Novel Methods in Harmonic
Analysis, Volume 1 (ISBN 978-3-319-55549-2)
I. Pesenson, Q.T. Le Gia, A. Mayeli, H. Mhaskar, D.X. Zhou: Recent Ap-
plications of Harmonic Analysis to Function Spaces, Differential Equations,
and Data Science: Novel Methods in Harmonic Analysis, Volume 2 (ISBN
978-3-319-55555-3)
F. Weisz: Convergence and Summability of Fourier Transforms and Hardy
Spaces (ISBN 978-3-319-56813-3)
C. Heil: A Short Introduction to Metric, Banach, and Hilbert Spaces: With
Operator Theory (ISBN 978-3-319-65321-1)
S. Waldron: An Introduction to Finite Tight Frames: Theory and Applica-
tions. (ISBN: 978-0-8176-4814-5)
D. Joyner and C.G. Melles: Adventures in Graph Theory: A Bridge to Ad-
vanced Mathematics. (ISBN: 978-3-319-68381-2)
For an up-to-date list of ANHA titles, please visit
http://www.springer.com/series/4968

You might also like