GAP on GitHub: one year on

We present a guest blog post by Alexander Konovalov, in which he mentions a number of activities that were partially or fully supported by the CoDiMa project. The original version of the post is located at his homepage.

This post is based on my earlier comment on the pull request number one submitted to the GAP repository on GutHub a little bit more than a year ago.

Of course, GAP is not new to the version control. The first revision in the CVS repository for GAP 4 is dated July 3rd 1996. Then 16 years later, in summer 2012 the repository had been converted to Mercurial (thanks to Max Horn!) after the release of GAP 4.5. In February 2015 the Mercurial repository had been converted to Git (thanks to Chris Jefferson!), and we started to host it on GitHub at

Below there are some highlights of what happened during the first year after that:

  • On 26th February 2016 there were In total 640 pull requests and issues in this repository, namely:
    • 120 open + 133 closed issues
    • 32 open + 356 closed pull requests
    • That’s more than one new pull request a day!
  • While the ratio for open/closed issues is nearly 50:50, “if things are done, they are done”: pull requests are normally reviewed and getting merged, so the ratio open/closed for pull requests is about 1:10.
  • We had several very productive GAP Days in Aachen, Trondheim and St Andrews.
  • We have a gap-system virtual organisation on GitHub which also hosts repositories for other development tools, GAP Website, etc.
  • We have an expanding virtual organisation for gap-packages.
  • There is even more activity with GAP packages, since some of them are openly developed elsewhere (we are trying to keep an up-to-date list at this page).
  • There is an active open GAP development mailing list.
  • There is also a growing Wiki with documentation for developers.
  • In 2015, we made two minor releases based on the stable-4.7 branch of the GitHub repository (4.7.8 and 4.7.9).
  • We put a lot of efforts in making GAP more robust and test it better, in particular, we now run nightly check of the code coverage and publish code coverage reports.
  • And we have just announced the first major release of GAP 4.8.2, which is the first major release of GAP that has been made from this repository! The overview of changes between GAP 4.7 and GAP 4.8 highlights most significant ones, including support for partially variadic functions, better tools for testing, debugging and profiling, function calls with timeouts, 12 new packages redistributed with GAP, and other changes.

Congratulations and thanks to everyone who worked on making all of this possible!!!

In addition, this visualisation, produced with gource, shows files and directories that were modified in the master branch of the core GAP system during the 1st year on GitHub. The large cluster in the top right corner corresponds to the GAP library. The top left corner is occupied by the GAP kernel. The pink cluster in the bottom represents GAP regression tests, and the main GAP manuals are marked by green. There are already changes waiting for GAP 4.9!


Nikolaus conference 2015

Just like every year since about 2004 I have attended the Nikolauskonferenz in Aachen in December 2015.

Nikolaus is a relatively small meeting of mathematicians interested in group- or representation theory, and computational methods in these fields in particular. As such this meeting is a good venue to meet users of the GAP system, hear about their experiences and do some advertising work for HPC-GAP.

One particular highlight to be mentioned here was my conversation with Sergio Siccha, who just started his PhD in Aachen and wants to use HPC-GAP, and Jürgen Müller, one of the authors of the Orb GAP package. Sergio is going to attend our first joint GAP and SageMath days in January and we will work on a HPC version of the orbit-by-suborbit algorithm.

I also sat down with Rebecca to discuss our recently funded project.

Thanks to Frank Lübeck, who has been organising this meeting for as long as I can remember, to all the speakers who gave interesting talks, and all attendees who made this meeting a memorable experience.

Last but not least, thanks to CoDiMa for making this visit possible for me!

DFG grant success!

In August 2015 Rebecca Waldecker visited St Andrews, funded by CoDiMa, to explore possibilities of collaboration using her knowledge of permutation groups and our knowledge of computational methods.

In our discussions we found out that search in permutation groups is a topic that intersects our interests, and Rebecca suggested that we should apply for a grant from Deutsche Forschungsgesellschaft (DFG) to fund mutual visits over the course of a year to continue our collaboration.

Rebecca’s application has been successful and we will receive 6460 EUR in travel support for two visits by Rebecca Waldecker to St Andrews and two visits by Chris Jefferson and Markus Pfeiffer to Halle.

We are planning to attack the theory and practice of search in permutation groups such as group intersection, automorphisms of structures, canonical images and parallelisation.

With our different backgrounds in group theory and computation, we would also like to make the theory more accessible to programmers, and the practical aspects more accessible to mathematicians.

What makes this topic even more exciting and promising is Babai’s most recent publication on the complexity of the graph isomorphism problem.

GAP 4.7.9 released

New release of GAP 4.7.9 was announced in the beginning of December 2015. In this guest post (reproduced from here), Alexander Konovalov tells about his work from research software engineering perspective.

This week I was mainly wearing my Research Software Engineer (RSE) hat. RSE support for the GAP system has three related strands: development of the core GAP system; support of package authors and other GAP users; training future users and contributors to the system. They are all important for the thriving community of users and developers, and this week I’ve done something to advance each of them.

First, I’ve prepared a new release of GAP 4.7.9. (more…)

CoDiMa training school: week in tweets

The First CoDiMa Training School in Computational Discrete Mathematics (Manchester, 16th-20th) November) was a success. We will publish a detailed blog post about it shortly. In the meantime, please have a look at this collection of #codima2015 tweets on Storify!

CoDiMa training school is ready to begin!

We are organising the First CoDiMa Training School in Computational Discrete Mathematics, which will take place on November 16th-20th at the University of Manchester. Please see the recently updated school’s page for the programme of the school and further information.

Rebecca Waldecker visited St Andrews

Prof. Rebecca Waldecker visited St Andrews on August 23rd-29th, 2015. From the report by Markus Pfeiffer, “… During her one-week visit to St Andrews, Rebecca Waldecker, Chris Jefferson, and I discussed many ideas around the notion of fixity, the partition backtrack algorithm first published by Leon and the canonical image algorithm. We found it to be a very productive week and agreed to apply to a further grant to make our work into a longer-term project.”

Open Research Funding

This is the fourth part part of Peter Cameron‘s trilogy on open science. For the other parts, see Open Publication, Open Data and Open Software. If you would like to leave comments for the author, please leave them here.

Douglas Adams wrote The Hitch-Hiker’s Guide to the Galaxy as a radio series. It was published in book form as a trilogy, but later he added two further parts. At the start of the first part, the Earth is destroyed. Later we learn that it hasn’t really been destroyed, but at the end of the last part it is destroyed again, and we are led to understand that this time is for real. Presumably he didn’t want to write any more.

More modestly, here is the fourth part of my trilogy on open science. It is devoted to the question How do we acknowledge the source of funding for our research?

At first it seems obvious that we should do this. But as ever I believe that things are not so clear-cut. (more…)

Open Software

This is the third part of Peter Cameron‘s post on Open Publication, Open Data and Open Software (the fourth part of the trilogy, called Open Research Funding, appeared later). If you would like to leave comments for the author, please leave them here.

My thoughts about this were sparked by reading the presidential address to the Royal Statistical Society by Peter Diggle. The title was “Data science and statistics”, and the address covered much more than open software. But one of the points he makes is particularly relevant:

Principally, we learn that a published article is no longer a complete solution to a practical problem. We need our solutions to be implemented in software, preferably open source so that others can not only use but also test and, if need be, improve our solutions. We also need to provide high quality documentation for the software. And in many cases we need to offer an accessible, bespoke user interface.

At a time when some research organisations (even high-status ones) are dispensing with statisticians on the grounds that every researcher has on her desk a computer running Excel, it is necessary to be very clear about what researchers can add. One area where expertise matters is experimental design. (more…)

Open Data

This is the second part of Peter Cameron‘s post on Open Publication, Open Data and Open Software (the fourth part of the trilogy, called Open Research Funding, appeared later). If you would like to leave comments for the author, please leave them here.

I recently wrote about open data on my own blog; some of the points I made there will be repeated.

Open data is an important issue. For example, drug companies invest huge sums of money in new drugs, and have traditionally been reluctant to advertise the failure of a drug in clinical trials. It can be worse; sometimes they can cherry-pick the results of the trials and claim that the drug is useful in some situations. Ben Goldacre and others are campaigning for more transparency in the publication of clinical trials.

More generally, scientific journals tend to have a publication bias towards positive results, so that an important study finding no connection between certain factors may be suppressed, leading to repetition and waste of resources. This has led to calls for all experimental data to be made freely available to all researchers, subject to various safeguards.

I began to think about this when I was asked to comment on a draft concordat proposed by the UK research councils on open data. Here is their definition of research data: (more…)