CoDiMa training plans for early 2020

We are organising two events in January-February 2020:

GAP 4.10.2 release

GAP 4.10.2 has been released in June 2019 and can be downloaded from the GAP website here. In addition to updates in the core GAP system, it contains 145 packages, including updated versions of 55 packages from GAP 4.10.1 distribution. A new package redistributed with GAP is MonoidalCategories by Mohamed Barakat, Sebastian Gutsche and Sebastian Posur. It is based on the CAP package and implements monoidal structures for CAP. See the release overview in the Changes manual and the release announcement in the GAP Forum for further details.

Orbital graphs and constructive matrix recognition

Paula Hähndel (Martin-Luther-Universität Halle-Wittenberg) writes on her visit to St Andrews in Spring 2019, supported by CoDiMa:

“My stay in St Andrews was a great opportunity to meet the local GAP community. I was encouraged to continue my improvements of parts of the GAP documentation, and I used some of my time during my stay to do so. I also continued to discuss some ideas about orbital graphs with Markus Pfeiffer. One part of this was discussing ways to construct groups that have interesting orbital graphs, which would provide good test cases for the search algorithms that are developed by Wilf Wilson, Chris Jefferson and Markus.

I also gave a talk about constructive matrix group recognition and the discussion (mainly with Mun See Chang, Wilf and Chris) continued afterwards. We also discussed many of the details that are needed for implementation, but that were not addressed in the talk. This hopefully was a good preparation for the Summer School on Matrix Group Recognition in Aachen this year that us four will attend together. I am thankful for the opportunity to come. It was a really nice and productive time in St Andrews.”

GAP 4.10.1 release

GAP 4.10.1 has been released in February 2019 and can be downloaded from the GAP website here. In addition to updates in the core GAP system, it contains 145 packages, including updated versions of 35 packages from GAP 4.10.0 distribution, and also five new packages:

  • MajoranaAlgebras by Markus Pfeiffer and Madeleine Whybrow, which constructs Majorana representations of finite groups.
  • PackageManager by Michael Torpey, providing a collection of functions for installing and removing GAP packages, with the
    eventual aim of becoming a full pip-style package manager for the GAP system.
  • Thelma by Victor Bovdi and Vasyl Laver, implementing algorithms to deal with threshold elements.
  • walrus by Markus Pfeiffer, providing methods for proving hyperbolicity of finitely presented groups in polynomial time.
  • YangBaxter by Leandro Vendramin and Olexandr Konovalov, which provides functionality to construct classical and skew braces, and also includes a database of classical and skew braces of small orders.

See the release overview in the Changes manual and the release announcement in the GAP Forum for further details.

Next major GAP release: GAP 4.10.0

The next major release of GAP 4.10.0 has been announced on 12 November 2018. Its complete overview with links to the GAP documentation and pull requests can be found here. Alternative distributions – for macOS and GAP Docker container have been updated too.

You can check the status of standard tests of GAP packages from GAP 4.10.0 release on Travis CI. Out of 140 packages, redistributed with this GAP release, 103 now provide such a test, and for 97 of these packages their tests pass cleanly. To compare, in GAP 4.7.9 (November 2015), only 56 packages had standard tests. But not only more tests were added over three years, but also their code coverage improved, as you can see by exploring code coverage for GAP packages at Codecov. This is a result of collaboration of many GAP developers and package authors, helper by keeping many package repositories on GitHub (see ) and providing tools for package authors to automate testing and publishing releases, and keep a regular release cycle. In particular, in GAP 4.10.0 distribution, 103 packages have been updated in 2018, another 20 – in 2017, and 6 more in 2016. On the other hand, there are 2 packages dated 2011, 2 – 2012, 5 – 2013, 1 – 2014 and 1 – 2015, but no packages from 2000s any more!

GAP 4.10.0 contains the new release of the JupyterKernel package by Markus Pfeiffer which allows to use GAP in a Jupyter notebook. This development has been supported by the project. You can try to use it remotely on Binder or install it locally as explained in its manual.

One of the new packages from GAP 4.10.0, based on the Jupyter kernel for GAP, is francy by Manuel Martins, which provides an interface to draw graphics using objects.

Another package is JupyterViz by Nathan Carter. It adds visualisation tools including standard line and bar charts, pie charts, scatter plots, and graphs (i.e. vertices & edges). Both packages also offer an opportunity to explore them on Binder (click on “launch on Binder” badges in their README files on GitHub).

Remarkably, there was no beta release this time. The new GAP 4.10.0 release is a proper official GAP release. With publicly available repositories for GAP and the majority of packages, and with the improved testing setup, the need in a preliminary beta release simply disappears. The GAP testing dashboard shows how code coverage (collected at Codecov with the help of the profiling package by Chris Jefferson) improved over releases.

The GAP testing dashboard also contains badges for Travis CI builds which test GAP packages. We test released and development versions of packages with released and development versions of GAP in various settings.

Other tools to support package authors are:

  • PackageMaker – a GAP package that makes it easy and convenient to create new GAP packages
  • Example package – an example of how to create a GAP package
  • ReleaseTools –  a script which automates the process of making a new release for a GAP package hosted on GitHub.
  • GitHubPagesForGAP – a template for setting up a website for a GAP package hosted on GitHub.
  • Docker containers for GAP –


Carnival of Mathematics #161

Welcome to the 161th Carnival of Mathematics. This is a monthly digest of selected mathematical blogs, hosted each month on a different site. The 1st Carnival has been published in February 2007, so this tradition already continues for more than 11 years.

Following the Carnival’s tradition, first we collect some interesting facts about 161 = 7 x 23. First, it is an generalised octagonal number, and hence 3*161+1 is a perfect square. Next, it is also a greengrocer’s number. Finally, it is the number of isomorphism classes of groups of order 3080.

Which of these facts you would find most interesting? What is your favourite mathematical fact? Evelyn Lamb interviewed two mathematicians about their favourite theorems for her Roots of Unity blog. Holly Krieger chose the Brouwer fixed-point theorem, and Vidit Nanda – the Banach’s fixed-point theorem.

Other blog writers turned to mathematical facts that are not intuitively clear. For example, Elias Wirth used graph theory to describe the phenomenon called the Friendship Paradox: on average, most individual’s friends have more friends than the individual themselves. His blog, called Math Section, is dedicated to applications of mathematic in everyday life, and the friendship paradox is a perfect fit. In particular, the article refers to a study which applies this paradox to better predict outbreaks of contagious diseases.

While the friendship paradox’s explanation is accepted, that’s not yet the case for the proof of the abc conjecture, one of the central modern problems in number theory. You can read about the latest developments in the article by Erica Klarreich called “Titans of Mathematics Clash Over Epic Proof of ABC Conjecture” and in the post by Rachel Crowell called “Musings on a mathematicians duties“, placing the problem in the wider context of research ethics.

Chistina Heimken from the University of Münster interviewed her colleague Raimar Wulkenhaar who, together with Erik Panzer (Oxford) solved an equation from elementary particle physics, previously considered to be unsolvable. The interview reflects on 10 year long attempt to find a solution, and gives an interesting insight into the process of mathematical research.

But mathematical research is inseparable from learning and teaching mathematics. How we combine building theories and solving problems when we teach mathematics?Joshua Bowman looks at this from the philosophical viewpoint in “Dialectics of Mathematics“.

Continuing teaching theme, look also at “An Introduction to Newton’s Method” by Ari Rubinsztejn for geometric explanations and a visualisation of the algorithm.

John D. Cook‘s new post “Pi primes” was inspired by another blog post by Evelyn Lamb in which she had mentioned that 314159 is a prime number. Can we find another prime number formed by the initial digits of π? There must be an OEIS sequence for that! In his another recent post on statistics called “Six sigma events” John discusses the rarity of six-sigma events and concludes that they are much more common than the name implies.

Finally, Q is for QUESTION: especially for this issue of the Carnival, Peter Cameron wrote a blog post called “Q is for quantum?” about several standard uses of the letter q in mathematics.

Thank you to everyone who made contributions to the 161th Carnival! The next 162th Carnival of Mathematics is hosted by the team at the Chalkdust Magazine. Please see the main Carnival website for further details and the form to submit blog posts to the new Carnival.

Algorithms for black box groups

CoDiMa partially supported the visit of Prof. Alexandre Borovik (University of Manchester) to Dr Sukru Yalcinkaya (Istanbul University) on 8-21 September 2018. They reported the following:

In this short period of very intensive work in a small group (A. Borovik, S. Yalcinkaya (Istanbul University), and M. Lavrauw (Sabanci University)) we achieved a significant further progress towards efficient algorithms for analysis of black box groups representing classical linear groups over finite fields of odd characteristic. These results are highly significant for probabilistic methods of computational group theory. Unlike much of the previously existed methods which were conditional on the existence of Discrete Logarithm Oracles, our algorithms run in time polynomial in input length, work for very large sizes of fields without use of oracles of any kind and have been successfully tested for prime fields of order about 10^70.

GAP Jupyter interface included in GAP 4.9.2 release

The new minor release of GAP, version 4.9.2, is now available for download from the GAP website at It includes the new JupyterKernel package by Markus Pfeiffer which provides a so-called kernel for the Jupyter interactive document system. This package requires Jupyter to be installed on your system (see instructions here). It also requires GAP packages IO, ZeroMQInterface, json, and also two new packages by Markus Pfeiffer called crypting and uuid, all included into GAP 4.9.2 distribution. The JupyterKernel package is not yet usable on Windows.

The complete description of changes introduced in this release, with links to the documentation and to GitHub pull requests is available here. Please also see the release announcement in the GAP Forum.

Computations in small overlap monoids

For several days in June 2018, Mark Kambites (Manchester) visited James Mitchell in St Andrews, supported by the CoDiMa research visits programme. The visit allowed Mark Kambites and James Mitchell to discuss algorithms for performing computations in small overlap monoids. Efficient algorithms for various problems in this important class of finitely presented monoids were developed by Mark in a series of papers published between 2007 and 2011. The most basic of these (to solve the word problem) was implemented by Mark himself in the GAP SmallOverlap package in 2008. James and students have recently re-implemented this much more efficiently, and also begun to implement Mark’s other algorithms for more sophisticated tasks such as computing normal forms. However, they have encountered some problems with practical implementation of the algorithms in Mark’s papers. The visit allowed James to explain these issues, and Mark to clarify how some of the algorithms were supposed to function. In addition, the visit allowed Mark to attend the 28th NBSAN meeting, which provided a valuable opportunity for discussions with other experts in the field.

Symmetry vs Regularity: The first 50 years since Weisfeiler-Leman stabilization

Madeleine Whybrow reports:

With the support of CoDiMa, I attended the conference “Symmetry vs Regularity: The first 50 years since Weisfeiler-Leman stabilization” in Pilsen, Czech Republic. It was a very impressive event and nearly all of the major contributors to the field of algebraic graph theory over the past 50 years were present. There were some great talks presenting both the history of the area and also the new directions of research.

There was a strong computational theme throughout the conference and there were many stimulating talks and conversations on this topic. I gave a talk in which I presented my work with Markus Pfeiffer developing an algorithm in GAP to construct Majorana representations. This was well received and many people were very interested in our work, particularly in the methods that we use. Overall, it was an interesting and enjoyable week and I had the chance to meet lots of people and have lots of useful discussions.