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.
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.
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.
Organisations
Publications
Archibald B
(2017)
Towards Generic Scalable Parallel Combinatorial Search
Archibald B
(2018)
Replicable parallel branch and bound search
in Journal of Parallel and Distributed Computing
Bailey R
(2020)
Substitutes for the Non-existent Square Lattice Designs for 36 Varieties
in Journal of Agricultural, Biological and Environmental Statistics
Bailey R
(2021)
Uniform semi-Latin squares and their pairwise-variance aberrations
in Journal of Statistical Planning and Inference
Borovik A
(2018)
Adjoint representations of black box groups PSL 2 ( F q )
in Journal of Algebra
Jefferson C
(2019)
Minimal and canonical images
in Journal of Algebra
Jefferson C
(2019)
New refiners for permutation group search
in Journal of Symbolic Computation
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/YangBaxter: YangBaxter 0.10.3 |
Description | Release for YangBaxter |
Type Of Technology | Software |
Year Produced | 2023 |
URL | https://zenodo.org/record/2573572 |
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/circle: Circle 1.6.6 |
Description | Release for Circle |
Type Of Technology | Software |
Year Produced | 2023 |
URL | https://zenodo.org/record/3525416 |
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/example: Example 4.3.4 |
Description | Release for Example |
Type Of Technology | Software |
Year Produced | 2023 |
URL | https://zenodo.org/record/3340075 |
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/modisom: ModIsom 2.5.4 |
Description | Release for ModIsom |
Type Of Technology | Software |
Year Produced | 2023 |
URL | https://zenodo.org/record/2572745 |
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/openmath: OpenMath 11.5.3 |
Description | Release for OpenMath |
Type Of Technology | Software |
Year Produced | 2023 |
URL | https://zenodo.org/record/3660724 |
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 |
Title | gap-packages/unitlib: UnitLib 4.2.0 |
Description | Release for UnitLib |
Type Of Technology | Software |
Year Produced | 2023 |
URL | https://zenodo.org/record/6491569 |