CoDiMa (CCP in the area of Computational Discrete Mathematics)

Lead Research Organisation: University of St Andrews
Department Name: Computer Science

Abstract

Computational Discrete Mathematics applied computers to a number of areas within pure mathematics,
including abstract algebra, combinatorics and number theory and their applications in, for instance,
cryptography, network routing, experimental design and others. Although less visible than the use
of numerical methods in solving continuous problems such as differential equations, computation in
discrete mathematics has an equally long history.

The project is aimed at the community-building activities centred around the two main open-source
software systems, GAP and Sage. GAP (www.gap-system.org) is a 25 year old software package widely
used for computations in important areas of pure mathematics, especially in abstract algebra, the
mathematics of structure and symmetry. The Sage project is a free open-source general mathematics
software system, started in 2005 with the ambitious aim of providing an open-source alternative
to such well-established closed systems. Sage builds on the Python and incorporates dozens of
open-source mathematical packages, in particular GAP, Singular, PARI/GP and others.

GAP and Sage both have quite well established user communities in the UK and internationally.
However these communities are limited in a two ways, which the CCP is designed to address.
Firstly they are limited by discipline -- while finite group theorists are well aware of GAP,
for instance, few physicists or computer scientists are; while Sage is well known in number
theory research, it is still not much used in the UK for mixed symbolic-numeric work; etc.
Secondly the level of involvement of users is limited. Users need support to become programmers;
programmers to become package authors and package authors to become contributors to the core
system and all need support to best use parallel programming.

The proposed software management and user support activity underpins the whole project. The
CCP will provide baseline support in these areas which will have a direct impact on GAP's
sustainability. It will support the rollout of its next mainstream version, GAP 5, which
supports shared memory parallelism, and will facilitate the transition to GAP 5 in the user
and developer communities.

For the Sage system, of which GAP is an essential component, the CCP funding will facilitate
tighter Sage-GAP integration, in particular regarding memory management and parallelisation,
and incorporating into Sage as many GAP packages as possible; the latter currently is done
on an ad hoc basis, is hard to maintain and error-prone.

Last but not the least, closer GAP-Sage collaboration will allow GAP to learn from the newer
Sage project which has been very successful in using modern tools and software development
workflows and in being exceptionally welcoming to new developers.

Planned Impact

The academic benefits and beneficiaries of this project are described
in the Academic Impact section of the Case for Support and the
Beneficiaries section above. They are primarily current and future
users of and contributors to GAP and Sage (and of systems that include
or can link to them) - a broad group of researchers, students and teachers
in mathematics, computer science and other disciplines. Other
beneficiaries are users of mathematical services implemented using GAP
and Sage and indirectly, users of mathematical and scientific results
obtained these systems. Developers of other scientific software may
also benefit from our experience in re-engineering the GAP system.

Benefits outside academia primarily flow through the academic
beneficiaries. Our software enables researchers and teachers to tackle
otherwise inaccessible research problems and to teach more effectively,
and their output of research results and trained students feeds into
the economy.

Most of our research users are working in abstract algebra, number
theory, representation theory or combinatorics. While it is hard to
predict the future, the recent past suggests that economic impact in
diverse areas can be expected from research results and trained
students in those topics.

One such area is the protection of digital data from loss or corruption.
Whether because it is being transmitted by radio from the
surface of Mars, or from a moving car in a crowded city, stored as
just a handful of electrons trapped in a silicon crystal, or on a
scratched DVD, digital data is vulnerable to random loss or change. It
is protected using error-correcting codes, the best of which turn out to
be intimately connected to beautiful algebraic structures. The GAP
package GUAVA is used for research and teaching in exactly this area.

Encryption, used to protect secrets, privacy and wealth online, is
another area where abstract mathematics (number theory and algebra)
turns out to be critical to the digital economy. GAP is used for
research in this area and mathematicians trained in this area are in
high demand in industry and government.

An emerging technique is the use of homological algebra in data
mining and computer vision, both areas of obvious commercial impact.
We are working closely with groups using GAP for exactly that,
and this project will help them quite directly.

Group theory and symmetry arise naturally in many scientific
disciplines outside mathematics -- in the physics of crystals, for
instance, or in molecular spectroscopy. Computational techniques, and
our software, can help in those areas. GAP has been cited in the
Journals of Molecular Spectroscopy and Mathematical Physics among many
others. Better computational tools enabling new results in those areas
which in turn have economic impact is another possible route.

Finally, able mathematicians experienced in computational algebra have
been for many years in high demand as quantitative analysts in the
financial sector, as well as in the IT sector and in research.

Publications

10 25 50
 
Description This project contributes to the maintenance and continuous enhancement of the community's collection of software for computing in discrete mathematics. New packages are developed and existing ones improved, and updated as needed
Exploitation Route The software is in daily use by research mathematicians worldwide, and also for teaching.
Sectors Digital/Communication/Information Technologies (including Software),Education

URL http://www.codima.ac.uk
 
Title GAP 4.10.0 
Description GAP (https://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2018 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: https://www.gap-system.org/Doc/Bib/bib.html * swMATH: https://www.swmath.org/software/320 * Google Scholar: https://bit.ly/gap_citations 
 
Title GAP 4.10.1 
Description GAP (https://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2019 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: https://www.gap-system.org/Doc/Bib/bib.html * swMATH: https://www.swmath.org/software/320 * Google Scholar: https://bit.ly/gap_citations 
 
Title GAP 4.10.2 
Description GAP (https://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2019 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: https://www.gap-system.org/Doc/Bib/bib.html * swMATH: https://www.swmath.org/software/320 * Google Scholar: https://bit.ly/gap_citations 
 
Title GAP 4.11.0 
Description GAP (https://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2020 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: https://www.gap-system.org/Doc/Bib/bib.html * swMATH: https://www.swmath.org/software/320 * Google Scholar: https://bit.ly/gap_citations 
 
Title GAP 4.7.8 
Description GAP (http://www.gap-system.org/) is an open source system for discrete computational algebra. This particular release was the first minor release made after GAP development version moved on GitHub. 
Type Of Technology Software 
Year Produced 2015 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: http://www.gap-system.org/Doc/Bib/bib.html * swMATH: http://www.swmath.org/software/320 * Google Scholar: http://bit.ly/gap_citations 
URL http://www.gap-system.org/Releases/4.7.8.html
 
Title GAP 4.7.9 
Description GAP (http://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2015 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: http://www.gap-system.org/Doc/Bib/bib.html * swMATH: http://www.swmath.org/software/320 * Google Scholar: http://bit.ly/gap_citations 
URL http://www.gap-system.org/Releases/4.7.9.html
 
Title GAP 4.8.10 
Description GAP (https://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2018 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: https://www.gap-system.org/Doc/Bib/bib.html * swMATH: https://www.swmath.org/software/320 * Google Scholar: https://bit.ly/gap_citations 
 
Title GAP 4.8.2 
Description GAP (http://www.gap-system.org/) is an open source system for discrete computational algebra. This particular release was the first major release made after GAP development version moved on GitHub. 
Type Of Technology Software 
Year Produced 2016 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: http://www.gap-system.org/Doc/Bib/bib.html * swMATH: http://www.swmath.org/software/320 * Google Scholar: http://bit.ly/gap_citations 
URL http://www.gap-system.org/Releases/4.8.2.html
 
Title GAP 4.8.3 
Description GAP (http://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2016 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: http://www.gap-system.org/Doc/Bib/bib.html * swMATH: http://www.swmath.org/software/320 * Google Scholar: http://bit.ly/gap_citations 
URL http://www.gap-system.org/Releases/4.8.3.html
 
Title GAP 4.8.4 
Description GAP (http://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2016 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: http://www.gap-system.org/Doc/Bib/bib.html * swMATH: http://www.swmath.org/software/320 * Google Scholar: http://bit.ly/gap_citations 
URL http://www.gap-system.org/Releases/4.8.4.html
 
Title GAP 4.8.5 
Description GAP (http://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2016 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: http://www.gap-system.org/Doc/Bib/bib.html * swMATH: http://www.swmath.org/software/320 * Google Scholar: http://bit.ly/gap_citations 
URL http://www.gap-system.org/Releases/4.8.5.html
 
Title GAP 4.8.6 
Description GAP (http://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2016 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: http://www.gap-system.org/Doc/Bib/bib.html * swMATH: http://www.swmath.org/software/320 * Google Scholar: http://bit.ly/gap_citations 
URL http://www.gap-system.org/Releases/4.8.6.html
 
Title GAP 4.8.7 
Description GAP (http://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2017 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: http://www.gap-system.org/Doc/Bib/bib.html * swMATH: http://www.swmath.org/software/320 * Google Scholar: http://bit.ly/gap_citations 
 
Title GAP 4.8.8 
Description GAP (http://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2017 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: http://www.gap-system.org/Doc/Bib/bib.html * swMATH: http://www.swmath.org/software/320 * Google Scholar: http://bit.ly/gap_citations 
 
Title GAP 4.8.9 
Description GAP (https://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2017 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: https://www.gap-system.org/Doc/Bib/bib.html * swMATH: https://www.swmath.org/software/320 * Google Scholar: https://bit.ly/gap_citations 
 
Title GAP 4.9.1 
Description GAP (https://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2018 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: https://www.gap-system.org/Doc/Bib/bib.html * swMATH: https://www.swmath.org/software/320 * Google Scholar: https://bit.ly/gap_citations 
 
Title GAP 4.9.2 
Description GAP (https://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2018 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: https://www.gap-system.org/Doc/Bib/bib.html * swMATH: https://www.swmath.org/software/320 * Google Scholar: https://bit.ly/gap_citations 
 
Title GAP 4.9.3 
Description GAP (https://www.gap-system.org/) is an open source system for discrete computational algebra. 
Type Of Technology Software 
Year Produced 2018 
Open Source License? Yes  
Impact The impact of GAP could be tracked, for example, by its citations, which could be found in several places: * GAP bibliography: https://www.gap-system.org/Doc/Bib/bib.html * swMATH: https://www.swmath.org/software/320 * Google Scholar: https://bit.ly/gap_citations 
 
Title gap-packages/FactInt: 1.6.3 
Description Release for FactInt 
Type Of Technology Software 
Year Produced 2019 
URL https://zenodo.org/record/3543758
 
Title gap-packages/YangBaxter: YangBaxter 0.10.0 
Description Release for YangBaxter 
Type Of Technology Software 
Year Produced 2022 
URL https://zenodo.org/record/6506091
 
Title gap-packages/circle: Circle 1.6.5 
Description Release for Circle 
Type Of Technology Software 
Year Produced 2022 
URL https://zenodo.org/record/6499275
 
Title gap-packages/example: Example 4.3.2 
Description Release for Example 
Type Of Technology Software 
Year Produced 2022 
URL https://zenodo.org/record/6946376
 
Title gap-packages/modisom: ModIsom 2.5.3 
Description Release for ModIsom 
Type Of Technology Software 
Year Produced 2022 
URL https://zenodo.org/record/6976488
 
Title gap-packages/openmath: OpenMath 11.5.1 
Description Release for OpenMath 
Type Of Technology Software 
Year Produced 2022 
URL https://zenodo.org/record/6505364
 
Title gap-packages/primgrp: PrimGrp 3.4.2 
Description Release for PrimGrp 
Type Of Technology Software 
Year Produced 2022 
URL https://zenodo.org/record/6513958
 
Title gap-packages/scscp: SCSCP 2.4.1 
Description Release for SCSCP 
Type Of Technology Software 
Year Produced 2023 
URL https://zenodo.org/record/3015841
 
Title gap-packages/unitlib: UnitLib 4.1.0 
Description Release for UnitLib 
Type Of Technology Software 
Year Produced 2022 
URL https://zenodo.org/record/6491570