Software tools for mathematics 2018-01 Morelia Morelia, Mexico, 2018-01-22--2018-01-26

Main goals

The goal of the event was for mathematicians to improve their coding skills and knowledge of mathematical software.

OpenDreamKit implication

Samuel Lelièvre (OpenDreamKit member from UPSud) was one of the organisers. The OpenDreamKit funds at Paris-Sud were used to fund travel and stays of speakers, and lunch and coffee breaks for all participants. Centro de Ciencias Matemáticas (CCM), the mathematics department at UNAM Morelia, co-funded the event, paying travel and accommodation for some participants.

Event summary

The event consisted in a two-day Software Carpentry workshop (teaching participants the Unix shell, version control with Git, and programming with Python) followed by three days on mathematical software with mini-courses on CoCalc, GAP, Jupyter, PARI/GP, SageMath, YAGS, as well as talks on other mathematical software and databases, and on mathematical research using software. A problem session allowed participants to submit mathematical problems they cared about and thought software might help with, several of which were solved in the following days by other participants.


Over 140 people registered: 36 10 and researchers, 10 50 participants, we focused on PhD students, postdocs, professors and researchers.

Results and impact

During the Software Carpentry workshop, Tania Hernandez taught the Unix shell, Nelly Selem taught version control with Git, Leticia Vega taught programming with Python. These courses were taught in Spanish, although using supporting materials in English. This may have been the first time a Software Carpentry workshop was taught entirely in Spanish. An effort is underway to translate the Software Caprentry and Data Carpentry lesson plans to Spanish.

During the mathematical software part, Alexander Hulpke taught GAP, Samuel Lelièvre taught CoCalc, Jupyter and SageMath, Miguel Pizaña taught YAGS (a GAP package for working with graphs), Miguel Raggi presented Discreture (a library for enumerating combinatorial objects), Emmanuel Royer taught PARI/GP, Adrián Soto presented TeXmacs and gave a talk on Rauzy fractals, Janoš Vidali presented DiscreteZOO, Rafael Villarroel presented Emacs, Russ Woodroofe gave two talks (“The story of a calculation” and “The story of a figure”), Katja Berčič gave a talk on “Databases of theorems”, and Uziel Silva gave a presentation of Macaulay2, Greuel and Reveal.js.

Many participants told the organisers, orally or by email, that this workshop was transformative for them; often they felt they had passed some confidence threshold: whereas before the conference they were interested in mathematical software but unsure how to install and use them, they were now confident how to do that, and felt they had the necessary resources to learn more.

One of the participants who is part of the board of the Mexican Math Society initially intended to visit briefly to check out our workshop briefly, and ended up staying the whole week, staying at the install party during the free afternoon, and got convinced of the importance of having a software component in future mathematics conferences in his area. As a result, David Sanders gave a course on “numerical methods for dynamical systems”, based on Julia, at the next national dynamical systems conference in Mexico in June 2018.

Another of the organisers, Katja Berčič, a Slovenian post-doc currently in Morelia, Mexico, liked the format of this workshop so much that a new workshop on the same format is planned for September 2018 in Koper, Slovenia.

Workshops and Conferences