Skip to content

3.1.0

Compare
Choose a tag to compare
@james-d-mitchell james-d-mitchell released this 14 Jan 11:39

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 and RightCayleyDigraph are introduced to replace LeftCayleyGraphSemigroup and RightCayleyGraphSemigroup. 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 as TikzLeftCayleyDigraph, DotLeftCayleyDigraph, and DotStringDigraph. This functionality was all added by J. D. Mitchell in PR #348.
  • IteratorFromPickledFile has been replaced by IteratorFromGeneratorsFile, and IteratorFromOldGeneratorsFile has been removed. The behaviour of WriteGenerators 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 and AntiIsomorphismDualSemigroup.
  • 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 functions EUnitaryInverseCover, IsFInverseSemigroup, and IsFInverseMonoid.
  • 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 commands Projection and Embedding. To enable the creation of direct products of arbitrary finite semigroups, the related commands NonTrivialFactorization, IndecomposableElements, and IsSurjectiveSemigroup were introduced. This work was done by Wilf A. Wilson in PRs #347
    and #558.
  • The functions NambooripadPartialOrder and NambooripadLeqRegularSemigroup were added by Chris Russell in PRs #467 and #479.
  • The option numbers is available when calling DotString 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, and IteratorFromMultiplicationTableFile 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 and ReadGenerators (added by J. D. Mitchell in PR #569).
  • Special methods for IsIdempotentGenerated and IdempotentGeneratedSubsemigroup 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 returned true 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.