![]() |
libsemigroups
v3.0.0
C++ library for semigroups and monoids
|
This is a minor release for with a bug in Konieczny
fixed by Finn Smith, and a limit added to CongruenceByPairs
to try to resolve https://github.com/semigroups/Semigroups/issues/634 (again).
This is a minor release for compatibility with the GAP package Semigroups.
This is a minor release fixing a bug in the ToddCoxeter
class (the contains
member function could return false negatives in some cases after shrink_to_fit
was called).
This is a minor release resolving the following issues:
This is a minor release resolving an issue with [make install]{.title-ref} including a copy of [eigen3]{.title-ref} when it should not have. Reported by Antonio Rojas.
This is a minor release resolving some issues in the build system, and some issues related to PBRs.
The issues resolved are:
LIBSEMIGROUPS_FMT_ENABLED
was incorrectly used in report.cpp
and some weirdness ensued when libsemigroups
was system installed (via make install
). Resolved by J. D. Mitchell.--disable-fmt
and --enable-fmt
did the same thing. Resolved by J. D. Mitchell.PBR
objects, which caused some incorrect values to be returned by FroidurePin<PBR>
instances. The to_string
implementation for PBR
\'s also didn\'t work properly in all cases. Resolved by Finn Smith.This is a tediously minor release to fix some issues in the last release.
In this release some new features have been added and some issues have been resolved. The new features in this version of libsemigroups
were implemented by J. D. Mitchell, Reinis Cirpons, and Finn Smith.
The major new feature in this release is:
The major improvements in this release are:
libsemigroups
is compiled with eigen
enabled (as it is by default), then an integer matrix can be associated to a finite presentation, if this matrix does not have full rank, then the associated finitely presented semigroup or monoid is infinite. eigen
is used to perform the computation of the rank of this matrix if available (Reinis Cirpons and J. D. Mitchell).libsemigroups
has be reduced.This is an exceedingly minor release removing some extraneous files from, and adding one essential file to, the distro.
In this release some new features have been added and some bugs have been fixed. The new features in this version of libsemigroups
were implemented by J. D. Mitchell and M. Tsalakou.
The major new features in this release are:
KnuthBendix
instance. This automaton is accessible via the member function gilman_digraph
. Using this approach significantly improves the performance of the size
member function of KnuthBendix
and allows a KnuthBendix
instance to know whether or not it is infinite.number_of_paths
member function of the class template ActionDigraph
, and the ability to specify the algorithm to be used.ActionDigraph
gets new member functions: number_of_edges
for a node; number_of_paths
with a single node as argument; number_of_paths_algorithm
which returns a value in an enum describing the algorithm used by number_of_paths
by default.topological_sort
and add_cycle
in the namespace libsemigroups::action_digraph_helper
number_of_words
for counting the number of words with length in a given range over an alphabet of specified size.ActionDigraph
gets new static member functions random
for outputting a random action digraph with a given number of edges; and random_acyclic
.There were also several further minor improvements and bug fixes implemented in this version, many of which arose while developing libsemigroups_cppyy. Thanks to Murray Whyte for pointing out several of these bugs.
One major bug was also resolved: sometimes a KnuthBendix
instance refusing to run even though the rules it contained were not reduced (but were confluent).
This is a minor release which adds some new features and fixes some bugs.
The more major new features in this release are:
cbegin_wilo
, cbegin_wislo
, cbegin_silo
, cbegin_sislo
)FroidurePin
now has member functions for iterating through its rules (cbegin_rules
)action_digraph_helper
is introduced. This namespace contains the helper functions follow_path
, is_acyclic
, is_reachable
, validate_node
, and validate_label
for the class template ActionDigraph
.ActionDigraph
has new member functions for iterating through nodes in reverse (crbegin_nodes
); for iterating through paths (cbegin_panilo
, cbegin_panislo
, cbegin_pilo
, cbegin_pislo
, cbegin_pstilo
, and cbegin_pstislo
); and for counting the number of paths starting at a source (and optionally ending at a target) node (number_of_paths
).The more major bugs fixed are:
FpSemigroup
member functions number_of_rules
, run_until
, and run_for
now behave as expectedlibsemigroups
can be used with fmt
version 6.2.0 was made.FroidurePin::word_to_pos
which resulted in incorrect results for instances with duplicate generators.There were also several further minor improvements and bug fixes implemented in this version, many of which arose while developing libsemigroups_cppyy. Thanks to Murray Whyte for pointing out several of these bugs.
This is an exceedingly minor release removing some extraneous files from the distro.
This is another minor release fixing some minor issues, again mostly highlighted from libsemigroups_cppyy
This is a minor release fixing some minor issues, mostly highlighted from libsemigroups_cppyy
This is a minor release fixing some bugs.
This is a minor release with some minor changes to the documentation and build system. The non-trivial changes in this release were made by Isuru Fernando
This is a minor release with several improvements to the build system. It is now possible to build libsemigroups
using an external installation of fmt
with the configure option --with-external-fmt
, and it should also be possible to build libsemigroups
on non-x86 architectures.
This is a minor release that includes some fixes that caused tests to fail on 32-bit systems. The non-trivial changes in this release were made by J. James
This is a very minor release to fix a bad test that failed in the conda package continuous integration.
This is a minor release to resolve some issues with the conda package, and to remove some compiler warnings.
This is a major release that dramatically expands the scope of libsemigroups
. In v1.0.0, libsemigroups
has been almost completely rewritten, generalised, and some new features have been added.