semigroups / Semigroups

The GAP package Semigroups
https://semigroups.github.io/Semigroups/
Other
23 stars 36 forks source link

Implement isomorphism from arbitrary band to a semilattice of rectangular bands #671

Open james-d-mitchell opened 4 years ago

james-d-mitchell commented 4 years ago

As described in Howie's book Chapter 4.

james-d-mitchell commented 4 years ago

@rcirpons, @MTWhyte, and Tom.

tomcontileslie commented 4 years ago

There isn't always an isomorphism from a band to a strong semilattice of rectangular bands. Currently, the only semilattice of semigroups-type object we have in GAP is a strong semilattice of semigroups. So, we need to do one of the following to implement decomposition functions.

1. Change the restrictions on the source so that the isomorphism can have an SSS object as its range.

By an SSS object, I mean those created in PR #673.

This paper by Z.-P. Wang references a number of papers that collectively show that the following types of semigroups can be decomposed into strong semilattices of semigroups:

I also think @reiniscirpons may have a different reference showing that an isomorphism always exists from a normal band to an SSS of rectangular bands.

Howie's introduction to semigroups provides a construction for the isomorphism from a Clifford semigroup to a strong semilattice of semigroups (of groups, in fact). My first step in creating some computational tools might therefore be to implement an IsomorphismSemigroup method from the IsCliffordSemigroup filter to the IsStrongSemilatticeOfSemigroups filter, if that sounds good? As a bit of a warm-up. I know that's not band decomposition, but there are a load of very similar decomposition methods to be implemented here. More implementations can come for other types of semigroups which decompose into SSSs.

2. Be less restrictive than a Strong Semilattice of Rectangular Bands.

As in this issue's title, every band decomposes into a semilattice of rectangular bands. We do not currently have a semilattice of semigroups object in GAP, but the same paper by Wang referenced above contains a general description of a fundamental semilattice of semigroups, which I believe generalises the type of semilattice that a general band decomposes into. So, if we can implement a FundamentalSemilatticeOfSemigroups object in GAP, we can create the desired isomorphism.