Modularity in Mathematical Computation

Nicolas M. Thiéry et al.

Tetrapod: Modular Knowledge workshop

FLoC 2018, Oxford, July 13th of 2018

A collaborative document

Please connect to:

https://tinyurl.com/tetrapod-2018-computation


Participants


Abstract

Over the last decades, a huge amount of computational software was developed for pure mathematics, in particular to support research and education. As for any complex ecosystem of software components, the ability to compose them has a multiplier effect on the expressive power, flexibility, and range of applications.

The purpose of this session is to share experience on the many barriers to composability in computational mathematics, and how they are being tackled in various communities. Of particular interest will be the exploitation of knowledge to leverage some of the barriers. feedback from neighbor fields (proofs, data, knowledge) will be most welcome.


Composability?

For this session we focus on the ability to transfer data and run procedures across “systems” (two different software, two instances of the same software on different machines, two libraries within a system, …).


Data transfers


Procedure calls


Barriers faced by the computational pure maths community?


Semantic barriers


The good news


Social barriers


Technical barriers


Some case studies and tentative solutions


OpenMath

After twenty years, little adoption


The Math-in-the-Middle approach


Categories in GAP, Axiom, MuPAD, SageMath


Case Study: libsemigroups:, a library for computing with semigroups

Author: James B. Mitchel et al.


Case Study: the Sage / GAP interface



Open discussion