Groups, Rings and the Yang-Baxter equation

In June 2017 Alexander Konovalov took part in the conference Groups, Rings and the Yang-Baxter equation” (Spa, Belgium). He gave a talk “GAP Group Rings Toolkit” with an overview of the functionality to work with group rings available in GAP and four of its packages, demonstrated the Jupyter kernel for GAP, and organised a coding sprint to work on the Wedderga package. As a result, Wedderga development version has been migrated from Bitbucket to GitHub (, and a new collaborator, Dr Sugandha Maheshwary (ISER Mohali), had submitted her first pull request to Wedderga.

GAP training events in Summer 2017

We will run two additional GAP tutorials in the UK this summer:

Visitor Madeleine Whybrow: Constructing Majorana Representations in GAP

After meeting at the Workshop on Permutation Groups: Methods and Applications in Bielefeld in Germany, Markus Pfeiffer became interested in some computational work which I am developing as part of my PhD. He kindly invited me to St Andrews to spend a week working together on my code. Funding for this trip was provided by CoDiMa.

The work concerns developing and implementing an algorithm which can construct Majorana algebras, objects which occur in the study of the Monster group and its associated representation, the Griess algebra. In particular, I am interested in studying these algebras as Majorana representations of certain finite groups.

The algorithm takes as its input a finite group and a generating set of involutions. It considers all possible Majorana representations of the group with respect to the generating set and then, for each representation, either attempts to construct it or shows that it cannot exist.

In 2012, Akos Seress announced that he had constructed such an algorithm and published a list of groups whose Majorana representations he had been able to classify. However, Seress sadly passed away before he was able to publish the details of either his algorithm or of the representations which he had constructed. Reproducing his work has been an important aim of Majorana theory ever since.

The code is currently able to construct the Majorana representations of some groups, but we have not been able to reproduce the full results of Seress’ work. Together, we have been working on improving the methods in the algorithm to extend its capabilities. Improvements can come either from better implementation of the current methods, or from finding new approaches from theoretical work on the algebras.

This work is of particular interest as these algebras are defined over the reals and their construction involves some linear algebra over rational numbers. Improving GAP’s functionality over fields of characteristic zero is something which is being actively worked on and will benefit this problem as well as many others.

I also got the opportunity to present my work at the School of Mathematics and Statistics’ Pure Colloquium.

Overall, the week was very productive and we look forward to working together in the future.


Madeleine Whybrow

Computational Mathematics with Jupyter

Jointly with the Horizon 2020 OpenDreamKit project, we have organised the workshop “Computational Mathematics with Jupyter”, which took place at the International Centre for Mathematical Sciences in Edinburgh on 16-20 January 2017. You can find some reports from the workshop here:

Nikolaus conference 2016

Yet again I attended the Nikolauskonferenz in Aachen this year, funded by CoDiMa.

At the meeting Chris Jefferson and I presented our work with Rebecca Waldecker, and co-funded by CoDiMa, on search and canonical images in permutation groups. A recent submission can be found here, and a further one is coming out soon.

Another notable talk was given by Mikaël Cavallin from Kaiserslautern: He and Donna Testerman found a bug in a paper by Seitz from 1987 which is widely used in algebraic groups. This reminded me of our CoDiMa event in January, where Carmen Rovi visited us to learn about how GAP computes Schur multipliers, and we suspected that there was a bug in GAP, but it turned out to be a bug in an old paper.

Richard Parker and I met mainly at breakfast and discussed high performance low level algorithms such as his meataxe64, or multiplying permutations on millions of points, making full use of modern computer systems, which according to Richard, humanity is too stupid to program.

Two further talks that caught my attention were Imke Toborg’s talk on An Algebraic View on a Composite Functional Equation on Groups, because I first thought: why would you do that? and then: actually this is really interesting, and Julian Brough’s talk about Central Intersections of Element Centralisers, because I like this kind of group theory.

Of course all the other talks were interesting too, and I very much enjoyed being in Aachen again meeting everyone and doing research – Cambridge style! once more. A special thank you goes to Frank Lübeck for organising the event. I hope to see everyone back in Aachen next year!

Teaching good mathematical software practices at CoDiMa training school

On October 17-21, 2016 we organised the Second CoDiMa training school in Discrete Computational Mathematics in Edinburgh (our first school took place in Manchester in November 2015). This time it was hosted at the International Centre for Mathematical Sciences, and had been attended by 26 learners representing 11 institutions around the UK. The majority of them were PhD students in mathematics and computer science. Their participation was supported by the CoDiMa project, which covered their travel, accommodation and subsistence needed to attend the school.

The school started with the hands-on Software Carpentry workshop covering the UNIX command line and version control (instructed by Alexey Tarutin and Leighton Pritchard), and the Software Carpentry lesson on GAP given by Alexander Konovalov (for published versions of these lessons, see here, here and there on Zenodo). The 2-days Software Carpentry workshop created the basis for more in-depth explanation of the following topics on GAP and computational algebra during the remaining part of the week:

  • debugging and profiling
  • advanced GAP programming
  • GAP type system
  • distributed parallel calculations
  • demonstration of the new GAP Jupyter interface
  • examples of some algorithms and their implementations

delivered by Christopher JeffersonAlexander KonovalovSteve LintonMarkus Pfeiffer and Wilf Wilson. Furthermore, John Cremona gave a presentation of LMFDB (The L-functions and modular forms database project) which offered interesting insight into the internals of designing and maintaining mathematical database such as LMFDB. Also on Thursday Viviane Pons (Université Paris-Sud) gave an introduction to SageMath, and on the final day we had “Is your research software correct?” talk by the EPSRC Research Software Engineering Fellow Mike Croucher (Sheffield), and a panel discussion joined by Neil Chue Hong, who is the director of the Software Sustainability Institute.

For further details, please see the school webpage which contains links to the presentations and supplementary materials for all school’s programme. You can also find all #codima2016 tweets on Storify (they provide very good day by day coverage of the whole week), and school photos courtesy of ICMS here on Flickr. It was a really exciting event, and it is a great pleasure to thank everyone involved: all participants, speakers, instructors, helpers; Software Sustainability Institute and personally Giacomo Peru who coordinates Software Carpentry activities in the UK; all contributors to Software Carpentry lessons that we taught; ICMS staff for welcoming us and being attentive to all our requests; Blue Sky Catering for nice lunches; and Vittoria on the Bridge for the school dinner!

We plan at least three more such schools in 2017-2019. Besides training events, we also organise annual workshops. The first one was in the form of GAP-SageMath days at St Andrews in January 2016, and the next one is “Computational Mathematics with Jupyter” which we organise jointly with the Horizon 2020 project OpenDreamKit at the International Centre for Mathematical Sciences in Edinburgh on January 17-20, 2017.

Software Carpentry lesson on GAP

Alexander Konovalov wrote two blog posts about the Software Carpentry lesson on GAP. The first one is “Programming with GAP”, written for the Software Carpentry website and telling how the lesson has been established. The second one is “Publishing Software Carpentry lesson on GAP” which contains more details about the research-like problem on which the lesson is based.

Computational Mathematics with Jupyter

Jointly with the Horizon 2020 OpenDreamKit project, we are currently organising the workshop “Computational Mathematics with Jupyter”. It will take place at the International Centre for Mathematical Sciences in Edinburgh on 16-20 January 2017. Please see the workshop website here for further details.

Towards practical methods to compute with hyperbolic groups

In October 2016, Markus Pfeiffer visited Alan Logan in Glasgow to work on the practical implementations of methods to compute with hyperbolic groups. This is an important direction of research, and it was once more highlighted at the “Computation in geometric and combinatorial group theory” workshop at the ICMS in Edinburgh in July this year that we need to have a usable and publicly available GAP implementation of these. The progress report on this visit is available here. The work on the new GAP package continues…

There is no McLaughlin geometry

This summer Leonard Soicher (Queen Mary) and Patric Östergård (Aalto) published the preprint with the same title, in which they successfully used GAP to solve a 40-year-old problem about the existence of a partial geometry which has the McLaughlin graph as its point graph. The calculation, which used GAP and its GRAPE package, took about 250 core-years. Peter Cameron wrote a blog post about the significance of this result here.