Home » Articles posted by obk1 (Page 3)

Author Archives: obk1

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:

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 Olexandr 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 Jefferson, Olexandr 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 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

Olexandr 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.

From CoDiMa training activities

We have just came back from the Second CoDiMa Training School in Computational Discrete Mathematics which we run at the International Centre for Mathematical Sciences in Edinburgh on October 17th-21st, 2016. The school webpage contains links to the presentations and supplementary materials for all school’s programme. We will also publish a blog post about the school soon.

Announcing Second Training School

Our Second Training School in Computational Discrete Mathematics will take place at the International Centre for Mathematical Sciences in Edinburgh on October 17th-21st, 2016. It is intended for PhD students and researchers from UK institutions. It will start with the hands-on Software Carpentry workshop covering basic concepts and tools, including working with the command line, version control and task automation, continued with introductions to GAP and SageMath systems, and followed by the series of lectures and exercise classes on a selection of topics in computational discrete mathematics. It will have a similar structure to the First Training School that we organised in Manchester in 2015 (to get an impression of this previous event, see its webpage).

For further details on the 2016 School, please check its webpage here.

GAP on GitHub: one year on

We present a guest blog post by Olexandr 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 https://github.com/gap-system/gap.

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!

gource_1styear

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), Olexandr 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…)