From 0c061d824ac0152df9f9a48f39a547a717a3f00f Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 22 Apr 2022 09:29:10 -0600 Subject: [PATCH] Version 2.1.5. --- README.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++ libsemigroups.spec | 5 +++- sources | 2 +- 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..e78dda3 --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +# libsemigroups + +[libsemigroups](https://libsemigroups.readthedocs.io/) is a C++14 library +containing implementations of several algorithms for computing finite, and +finitely presented, semigroups and monoids. Namely: + +- the [Froidure-Pin algorithm](https://www.irif.fr/~jep/PDF/Rio.pdf) for + computing finite semigroups; +- the [Todd-Coxeter algorithm](https://en.wikipedia.org/wiki/Todd%E2%80%93Coxeter_algorithm) + for finitely presented semigroups and monoids; see also + [this paper](https://arxiv.org/abs/2203.11148); +- the [Knuth-Bendix algorithm](https://en.wikipedia.org/wiki/Knuth%E2%80%93Bendix_completion_algorithm) + for finitely presented semigroups and monoids; +- the [Schreier-Sims algorithm](https://en.wikipedia.org/wiki/Schreier%E2%80%93Sims_algorithm) + for permutation groups; +- a preliminary implementation of the + [Konieczny](https://link.springer.com/article/10.1007/BF02573672) and + [Lallement-McFadden](https://www.sciencedirect.com/science/article/pii/S0747717108800570) + algorithm for computing finite semigroups which act on sets; +- an implementation of the + [Radoszewski-Rytter](https://link.springer.com/chapter/10.1007/978-3-642-11266-9_55) + algorithm for testing equivalence of words in free bands. +- an implementation of the algorithm for solving the word problem + for small overlap monoids, and for computing normal forms in such monoids; + see [Kambites](https://doi.org/10.1016/j.jalgebra.2008.09.038), + [Kambites](https://doi.org/10.1016/j.jalgebra.2008.12.028), and + [Mitchell-Tsalakou](http://arxiv.org/abs/2105.12125). + +Libsemigroups is partly based on +["Algorithms for computing finite semigroups"](https://www.irif.fr/~jep/PDF/Rio.pdf), +["Expository Slides"](https://www.irif.fr/~jep/PDF/Exposes/StAndrews.pdf), and +[Semigroupe 2.01](https://www.irif.fr/~jep/Logiciels/Semigroupe2.0/semigroupe2.html) +by [Jean-Eric Pin](https://www.irif.fr/~jep/). + +Libsemigroups is used in the +[Semigroups package](https://semigroups.github.io/Semigroups/) for +[GAP](https://www.gap-system.org/), and it is possible to use libsemigroups +directly in Python 3 via the package `libsemigroups_pybind11`. The development +version of libsemigroups is available on +[github](https://github.com/libsemigroups/libsemigroups), and some related +projects are [here](https://github.com/libsemigroups). + +The main classes in libsemigroups are named after the algorithms they +implement; see, for example, `libsemigroups::FroidurePin`, +`libsemigroups::Konieczny`, `libsemigroups::congruence::ToddCoxeter`, +`libsemigroups::fpsemigroup::Kambites`, +`libsemigroups::fpsemigroup::KnuthBendix`, and `libsemigroups::SchreierSims`. + +The implementations in `libsemigroups::FroidurePin`, +`libsemigroups::Konieczny`, and `libsemigroups::SchreierSims` are generic and +easily adapted to user-defined types. + +Libsemigroups uses: [HPCombi](https://github.com/hivert/HPCombi) which uses +the SSE and AVX instruction sets for very fast manipulation of +transformations, partial permutations, permutations, and boolean matrices of +small size; [catch](https://github.com/catchorg/Catch2) for tests; +[fmt](https://github.com/fmtlib/fmt) for reporting; and +[eigen](http://eigen.tuxfamily.org/) for some linear algebra computations. diff --git a/libsemigroups.spec b/libsemigroups.spec index 5d1fbaa..020a8ab 100644 --- a/libsemigroups.spec +++ b/libsemigroups.spec @@ -1,5 +1,5 @@ Name: libsemigroups -Version: 2.1.4 +Version: 2.1.5 Release: 1%{?dist} Summary: C++ library for semigroups and monoids @@ -164,6 +164,9 @@ LD_LIBRARY_PATH=$PWD/.libs make check %license LICENSE %changelog +* Fri Apr 22 2022 Jerry James - 2.1.5-1 +- Version 2.1.5 + * Mon Mar 7 2022 Jerry James - 2.1.4-1 - Version 2.1.4 - Drop all patches diff --git a/sources b/sources index 44d9bf8..6bb24fb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libsemigroups-2.1.4.tar.gz) = 4a844ce44f15bdf32f24463a8d3bd11ccdfb589f5f8a7dae70ec742543bc4254d0da75176870efd1ee60faea6ceef47e99e8f239ad1c64b7a08285e206a2ac36 +SHA512 (libsemigroups-2.1.5.tar.gz) = 578b83c9b8ca6fdfd6fc1c024ac096024df9603a41a5fb3c5f4aef670147a89d4d875dcd9008fe96b043ba82949a32b68ba41cc2309f122655244960e968e8d3