Implementing Brouwer’s database of strongly regular graphs
Des. Codes Cryptogr.
DOI 10.1007/s10623-016-0264-x
Implementing Brouwer’s database of strongly regular
graphs
Nathann Cohen1 · Dmitrii V. Pasechnik2
Received: 31 December 2015 / Revised: 20 July 2016 / Accepted: 23 July 2016
© The Author(s) 2016. This article is published with open access at Springerlink.com
Abstract Andries Brouwer maintains a public database of existence results for strongly
regular graphs on n ≤ 1300 vertices. We have implemented most of the infinite families
of graphs listed there in the open-source software Sagemath (The Sage Developers, http://
www.sagemath.org), as well as provided constructions of the “sporadic” cases, to obtain a
graph for each set of parameters with known examples. Besides providing a convenient way
to verify these existence results from the actual graphs, it also extends the database to higher
values of n.
Keywords Strongly regular graphs · Databases of combinatorial objects · Explicit computer
implementations
Mathematics Subject Classification 05E30 · 68-04
1 Introduction
Many researchers in algebraic combinatorics or an adjacent field at some point want to get
their hands on a list of feasible parameters of strongly regular graphs, and on actual examples
of graphs. These graphs are studied and/or used in hundreds of articles; recent highlights in
using strongly regular graphs include Bondarenko’s [2] and an improvement of the latter by
Jenrich and Brouwer [38]. While parameters are available from Brouwer’s online database
This is one of several papers published in Designs, Codes and Cryptography comprising the special issue in
honor of Andries Brouwer’s 65th birthday.
B Dmitrii V. Pasechnik
Nathann Cohen
1
CNRS and Université Paris-Sud 11, Orsay, France
2
Department of Computer Science, The University of Oxford, Oxford, UK
123
N. Cohen, D. V. Pasechnik
[4], actually constructing an example can easily take a lot of time and effort. The project
described here aims at making these tasks almost trivial by providing the necessary graph
constructions, and a way to obtain a strongly regular graph from a tuple of parameters, in the
computer algebra system Sagemath [54] (also known as Sage). It is worth mentioning that
a large part of the project makes use of GAP [53] and its packages, in particular Soicher’s
package GRAPE [50].
Exhaustive enumeration of the non-isomorphic strongly regular graphs has been performed
for some tuples T of parameters (see Spence [51]). However, the sheer number of nonisomorphic examples (see e.g. Fon-Der-Flaass [20] or Muzychuk [44]) makes it hard to
expect to be able to generate all of them, for a given T , in reasonable time. Thus we opted
for a minimalist approach: for each T we generate an example, provided that one is known.
We note, however, that some of constructions implemented can generate many examples
with the same T ; e.g. we have implemented the construction to generate the point graph of
the generalized quadrangle T2∗ (O) (see [47]) from any hyperoval O ⊂ P G(2, 2k ). As well,
many T ’s can be realized by more than one implemented construction, sometimes leading
to isomorphic graphs, and sometimes not.
Our desire to take on this project was motivated by the following considerations.
• One wants to double-check that the constructions are correct and their descriptions are
complete; indeed, a program is more trustworthy than a proof in some situations, and
coding a construction is a good test for completeness of the description provided.
• We wanted to see that the Sage combinatorial, graph-theoretic, and group-theoretic
primitives to deal with such constructions are mature and versatile, so that coding of
constructions is relatively easy and quick.
• One learns a lot while working on such a project, both the underlying mathematics, and
how the toolset can be improved. In particular, one might come along simplifications of
constructions, and this actually happened on couple of occasions, see Sect. 5.3.
• As time goes by, possible gaps in constructions are harder and harder to fill in. Reconstructing omitted proof details becomes a tricky and time-consuming task.
In particular, as far as the latter item is concerned, we seem to have uncovered at least one
substantial gap in constructions (see Sect. 7). Furthermore, a number of constructions needed
feedback from their authors or discussions with experts—sometimes quite substantial—to
code them.
A large part of the constructions use in a nontrivial way another combinatorial or algebraic
object: block design, Hadamard matrix, two-graph, two-distance code, finite group, etc. In
particular, at the start of the project some of these were lacking in Sagemath, we needed to
implement constructions of certain block designs, regular symmetric Hadamard matrices with
constant diagonal (where the gap just mentioned was uncovered), skew-Hadamard matrices,
and two-graphs. As well, we created a small database of two-distance codes (see Sect. 4.2).
The remainder of the paper consists of a short introduction to strongly regular graphs,
pointing out particular relevant Sagemath features, and a description of our implementations,
few of them seemingly novel. We list the constructions that we implemented, and discuss
few gaps we discovered in the literature.
2 Strongly regular graphs and related objects
An undirected regular degree k graph on n vertices (with 0 < k < n − 1) is called strongly
regular if the vertices u and v of any edge have λ common neighbours, and the vertices u and
123
Implementing Brouwer’s database of strongly regular graphs
v of any non-edge have μ common neighbours. One says that has parameters (n, k, λ, μ).
Note that the complement of , i.e. the graph with the same set of vertices and edges being
precisely the non-edges of , is also a strongly regular whose parameters are related by a
simple formula to these of (see e.g. Brouwer and Haemers [7] for details).
Example 2.1 Let be the graph with vertices being k-subsets of an m-set, with k ≤ m/2;
two vertices are adjacent if the corresponding k-subsets intersect in a (k − 1)-subset. Such
graphs are called Johnson graphs and denoted by J (m, k) (in Sagemath, J (m, k) can be
constructed by calling the function graphs.JohnsonGraph(m,k)).
Then J (m, 2) is a
strongly regular graph, with parameters m2 , 2(m − 2), m − 2, 4 .
Example 2.2 RSHCD – a (n, )-Regular Symmetric Hadamard matrix M with Constant
Diagonal is an√
n × n symmetric ±1-matrix such that: (1) M M T = n I ; (2) its rows sums are
all equal to δ n, where ∈ {−1, +1} and δ is the (constant) diagonal value of M, usually
denoted RSHCD− and RSHCD+ . These matrices yield regular two-graphs. As well, they
yield strongly regular graphs: replacing all the entries equal to the diagonal values by 0, and
the remaining entries by 1 gives the adjacency matrix of a strongly regular graph.
Some sources further require that both and its complement are connected; in terms of
parameters this means 0 < μ < k. T (...truncated)