Broadly speaking I am interested in the structure and representation theory of
finite groups, and in combinatorial objects upon which such groups may
act. Within these areas I am interested in developing computational
algorithms and techniques for computing with concrete examples,
especially when these examples seem out of reach of the existing methods
I’ve also got a bit of a side-line in static program analysis. Just for fun.
on MathSciNet (if you have access to it).
Here are some things I am working on:
- Conjugacy Class Representatives
in the Monster Group
(With R. A. Wilson.) LMS J. Comput. Math. 8 (2005).
We use the computer constructions of the Monster to determine words in the generators
for an element in each conjugacy class, up to algebraic conjugacy. We show
how to distinguish the conjugacy classes.
You can(not) access the
Monster elements database on-line.
- The Character Table Of A Maximal Subgroup Of The
Monster. (With R. A. Wilson.)
LMS J. Comput. Math. 10 (2007) 161--175.
to be precise.
- The Character Table Of A Group Of Shape
(Preprint and program, tar.gz, 124k.)
LMS J. Comput. Math. 13 (2010) 82–89
We use the technique of Fischer matrices to write a program to
produce the character table of a group of shape
from the character tables of
G, G:2, 2.G and 2.G:2. We also supply a
simplified proof of a result frequently used in the Fischer matrices
- Nets of the Monster.
I am working on a classification of “nets”, combinatorial
objects obtained from the Monster group. At net is an orbit (under a
certain action) of the 3 string braid group on a triple (a,b,c) of
2A-involutions of the Monster. The problem is to obtain
representative triples for all such orbits, up to conjugacy in
the Monster. An easy structure constant calculation shows there to
be about 1·4 million classes of triples.
My strategy has been to work in p-local maximal subgroups to obtain
all nets centralised by an element of order p. I have completed all
cases for p ≥ 5.
- A Trajectory-based Strict Semantics for Program Slicing.
Robert M. Hierons,
Mike Laurence, and
Theoretical Computer Science 411 (2010) 1372–1386.
We define a simple, intuitive trajectory-based
equivalence relation which accurately captures the relationship between
programs and the slices produced by the most commonly used and
well-known slicing algorithms, Weiser’s and the PDG algorithm,
even for non-terminating programs.
Our new equivalence, unlike other approaches, is based on standard
semantics. It deals with non-termination by stipulating that a program
and its slice must ‘agree’ in all terminating ‘approximations’ based
on finite loop unfoldings. We prove that this equivalence is preserved
by Weiser’s algorithm and all slicing algorithms based on data and
control dependence. We also demonstrate that this new equivalence more
accurately captures the behaviour of slicing algorithms than previous
- A unifying theory of controldependence and its application to arbitrary program structures.
Theoretical Computer Science 412 (49) (2011) 6809–6842.
There are several similar, but not identical, definitions of control dependence in the literature.
These definitions are given in terms of control flow graphs which have had extra restrictions imposed (for example, end-reachability).
We define two new generalisations of non-termination insensitive and non-termination
sensitive control dependence called weak and strong control-closure. These are defined for
all finite directed graphs, not just control flow graphs and are hence allow control dependence
to be applied to a wider class of program structures than before.
We investigate all previous forms of control dependence in the literature and prove that,
for the restricted graphs for which each is defined, vertex sets are closed under each if
and only if they are either weakly or strongly control-closed. Low polynomial-time algorithms
for producing minimal weakly and strongly control-closed sets over generalised control flow graphs are given.
This paper is the first to define an underlying semantics for control dependence:
we define two relations between graphs called weak and strong projections, and
prove that the graph induced by a set of vertices is a weak/strong projection of the
original if and only if the set is weakly/strongly control-closed. Thus, all previous forms of
control dependence also satisfy our semantics. Weak and strong projections, therefore, precisely
capture the essence of controldependence in our generalisations and all the previous, more restricted forms.
More fundamentally, these semantics can be thought of as correctness criteria for future definitions of control dependence.
I enjoy seminars in the school, including the
London Algebra Colloquium, the
Monday pure mathematics seminar, sometimes the
dynamical systems seminar, and the
representation theory study group where I
I also enjoy
conferences! Maybe you’ve seen me at one.
Octad of the week.
A road sign.
Retirement calculator written using KnockoutJS and Twitter Boostrap.
Using TrueType fonts in LaTeX.
Using Times or Palatino in LaTeX, including equations.
Placing the end of proof symbol nicely in LaTeX.
Paper models of polyhedra.
Controlling TYPE/CREATOR codes and dealing with evil
wicked file extensions in MacOS X.
A macro to help making box plots in Excel
Compiling the MeatAxe on MacOS X.
Sometimes I make websites for people.
I have finally been ejected into the private sector where
I am Head of Spend Analysis. I
made a carbon footprint analysis thingamajig too.
Please buy one, or form a limited company!