3.1.0
This is a major release of the Semigroups package, including several changes to
existing behaviour, new functionality, and bugfixes.
Changed functionality in this release
- Congruence posets are now digraph objects (in the sense of the Digraphs package) rather than lists of lists. This applies to
LatticeOfCongruences
,PosetOfCongruences
, and several other functions. This change was made by Michael Torpey in PR #385. - The attributes
LeftCayleyDigraph
andRightCayleyDigraph
are introduced to replaceLeftCayleyGraphSemigroup
andRightCayleyGraphSemigroup
. These new attributes return digraph objects (in the sense of the Digraphs package) rather than lists of out-neighbours. There are also several new functions for visualising Cayley digraphs, such asTikzLeftCayleyDigraph
,DotLeftCayleyDigraph
, andDotStringDigraph
. This functionality was all added by J. D. Mitchell in PR #348. IteratorFromPickledFile
has been replaced byIteratorFromGeneratorsFile
, andIteratorFromOldGeneratorsFile
has been removed. The behaviour ofWriteGenerators
has also been modified slightly. This work was done by J. D. Mitchell in PR #419.
New functionality in this release
- Finn Smith added support for creating and representing dual semigroups in PR #470, via the new commands
DualSemigroup
andAntiIsomorphismDualSemigroup
. - Chris Russell added support for representing E-unitary inverse semigroups by McAlister triple semigroups, via the command
McAlisterTripleSemigroup
and others, in the PRs #271 and #507. Chris also introduced the related functionsEUnitaryInverseCover
,IsFInverseSemigroup
, andIsFInverseMonoid
. - It is now possible to use the Semigroups package to construct direct products of arbitrary finite semigroups with the command
DirectProduct
. Direct products created in this way support the commandsProjection
andEmbedding
. To enable the creation of direct products of arbitrary finite semigroups, the related commandsNonTrivialFactorization
,IndecomposableElements
, andIsSurjectiveSemigroup
were introduced. This work was done by Wilf A. Wilson in PRs #347
and #558. - The functions
NambooripadPartialOrder
andNambooripadLeqRegularSemigroup
were added by Chris Russell in PRs #467 and #479. - The option
numbers
is available when callingDotString
on a congruence poset (added by Michael Torpey in PR #455). - More
Info
statements can be produced, if desired, during computations of congruence lattices (added by Michael Torpey in PR #403). - It is now possible to construct all non-empty two-sided ideals of a finite semigroup with the command
Ideals
(added by Michael Torpey in PR #500). WriteMultiplicatiomTable
,ReadMultiplicationTable
, andIteratorFromMultiplicationTableFile
were added by Chris Russell in PR #339- A new constructor
BrandtSemigroup
was added by J. D. Mitchell in PR #411. - The command
WreathProduct
can be now applied to construct the wreath product of a transformation monoid or permutation group with a transformation semigroup or permutation group. This work was done by Fernando Flores Brito in PR #262. *SemigroupsTestAll
was introduced by Michael Torpey in PRs #404 and #446. - Some basic methods for
MinimalSemigroupGeneratingSet
were implemented by Wilf A. Wilson in PR #407. - It is now possible to write and read Rees matrix semigroups and Rees 0-matrix semigroups to and from files with
WriteGenerators
andReadGenerators
(added by J. D. Mitchell in PR #569). - Special methods for
IsIdempotentGenerated
andIdempotentGeneratedSubsemigroup
for Rees matrix semigroups and Rees 0-matrix semigroups were added by Wilf A. Wilson in PR #325. - Special methods for
IsomorphismPartialPermSemigroup
for groups and zero-groups were added by Wilf A. Wilson in PR #406. - Semigroups in more kinds of families are now comparable via
\<
, including pairs of semigroups of partial permutations, pairs of semigroups of bipartitions, and pairs of semigroups of PBRs (added by J. D. Mitchell in PR #568).
Issues resolved by this release
- The documentation now clarifies that only those subsemigroups of regular Rees 0-matrix semigroups defined over permutation groups are acting semigroups. This problem was reported by Wilf A. Wilson in Issue #336 and fixed by J. D. Mitchell in PR #337.
- There was a bug in the kernel module that related to computing with bipartitions, which would sometime cause an unexpected error. This was reported by Wilf A. Wilson and Finn Smith in Issue #444, and fixed by Finn Smith in PR #466.
- The Semigroups package would sometimes automatically set the
GeneratorsOfSemigroup
of a trivial group of partial permutations to be an empty list. This was reported and fixed by Wilf A. Wilson in PR #565. - The function
IsMonogenicSemigroup
incorrectly returnedtrue
for an empty semigroup. This was reported and fixed by Wilf A. Wilson in PR #567.
There have also been many technical changes to the package and its kernel module, including many by Max Horn, such as those in PRs #490, #491, #493, #501, #553, and #562.
Semigroups now requires version 4.8.1 of the orb package, or newer.