Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Translations #373

Closed
wants to merge 90 commits into from
Closed

WIP: Translations #373

wants to merge 90 commits into from

Conversation

flsmith
Copy link
Collaborator

@flsmith flsmith commented Sep 13, 2017

This pull request adds functionality for translations and translational hulls of finite (in particular, enumerable) semigroups. Definitions and some results on this topic can be found in Howie's Fundamentals of Semigroup theory.
A left translation f on a semigroup S is a function f: S->S, written on the left, satisfying f(s)t = f(st) for all s,t in S; a right translation g is written on the right and satisfies s(t)g = (st)g for all s,t in S. Under composition, left [right] translations form a semigroup. For each s in S, f_s: x -> sx is a left translation and g_s: x -> xs is a right translation (called inner translations).
A left translation and right translation are linked if sf(t) = (s)gt for all s,t in S. The set of linked translations forms a semigroup, called the translational hull. The subsemigroup {(f_s, g_s): s in S} is called the inner translational hull.
Over an arbitrary semigroup, there may be far too many translations (e.g. 10^200 for a zero semigroup of size 100) for any naive search to find. For certain semigroups, it is possible to give nice descriptions of the semigroup of left or right translations, and the translational hull. The cases implemented in this PR are:

  1. Rectangular bands: complete description for the left/right translations semigroups and translational hull is known (given in Howie), allowing efficient computation of size, generators, etc.
  2. 0-simple semigroups: detailed in (Petrich, 1968). For the left/right translations semigroup, can efficiently compute generators and size 0simpletranslations.pdf. For the translational hull, an algorithm specific to RZMS is implemented.
  3. Simple semigroups based on (Clifford and Petrich, 1977): generators for left/right translations semigroups are known; special methods for translational hulls also exist (but are currently slow)
  4. Monoids: the left/right translations semigroups of a monoid are the inner translations semigroups; the translational hull is the inner translational hull.
  5. Arbitrary semigroups: for a (small) semigroup with known generators, left/right translations can be computed as edge-label preserving endomorphisms of the right/left Cayley graph. Also implemented is a backtrack search for the elements of the translational hull, detailed in transhull.pdf

Left/right translations are internally represented as transformations to act on the list AsListCanonical(S) of the underlying semigroup S. Translational hull elements (bitranslations) are stored as a pair [L, R] where L is a left translation and R is a right translation. An important implementation detail is that such elements must belong to a semigroup; they cannot be created alone. To avoid having to calculate the whole translations semigroup or translational hull to work with a single element, you can create the left/right translations semigroup or translational hull in one of two ways.

  1. LeftTranslationsSemigroup, RightTranslationsSemigroup, TranslationalHullSemigroup are global functions that create semigroups of the correct sort, and store them in
  2. LeftTranslations, RightTranslations, TranslationalHull, which are attributes of the underlying semigroup. Calling these functions will cause a call to AsList and attempt to enumerate the semigroup, which may or may not be desired.

Work remaining to be completed includes:

  • fix the rms translational hull code to avoid applying an expensive isomorphism
  • increase code coverage in test files (currently 90-95%)
  • refactor parts of certain functions to be clearer (in particular, the backtrack search for arbitrary semigroups, and possibly for RZMS - these are currently not in a fantastic state)
  • complete documentation of functionality added recently (eg for RMS)
  • add background in documentation
  • stylistic changes (linting etc) - this will definitely cause Travis to fail at the moment

Howie, J.M. (1995) 'Fundamentals of Semigroup theory'. United Kingdom: Oxford University Press.

Petrich, M. (1968) ,‘The translational hull of a completely 0-simple semigroup’,Glasgow Mathematical Journal, 9(01), p. 1. doi: 10.1017/s0017089500000239

Clifford A.H , Petrich M., Some classes of completely regular semigroups, Journal of Algebra, Volume 46, Issue 2, 1977, Pages 462-480, ISSN 0021-8693, http://dx.doi.org/10.1016/0021-8693(77)90383-0.
(http://www.sciencedirect.com/science/article/pii/0021869377903830)

@flsmith flsmith added the do not merge Label for PR that should not be merged label Sep 13, 2017
@flsmith flsmith force-pushed the translations branch 6 times, most recently from 8c56838 to 94a8eb8 Compare October 3, 2017 14:12
@flsmith flsmith force-pushed the translations branch 5 times, most recently from ee70fea to d41bc4b Compare October 17, 2017 09:49
@james-d-mitchell james-d-mitchell added the new-feature A label for PRs that contain new features label Apr 2, 2018
@flsmith flsmith force-pushed the translations branch 2 times, most recently from bfa1ab4 to c66e93c Compare September 4, 2018 13:44
…nd, as an isomorphic transformation semigroup acting on the indices of the elements
…d translational hulls, and an efficient method of obtaining these for rectangular bands.
…act on the indices of a completely 0-simple semigroup as a translation, when combined with a function to the group. No such function to the group may exist.
…ith two transformations, to make a translation for completely 0-simple semigroups
…ll linked pairs for a finite 0-simple semigroup
@flsmith
Copy link
Collaborator Author

flsmith commented Sep 26, 2018

After these checks have run, I'll start squashing...

@james-d-mitchell james-d-mitchell added this to the 3.2.0 milestone Mar 6, 2019
@james-d-mitchell james-d-mitchell modified the milestones: 3.2.0, 3.3.0 Feb 27, 2020
@flsmith flsmith mentioned this pull request Dec 2, 2020
3 tasks
@flsmith
Copy link
Collaborator Author

flsmith commented Dec 2, 2020

Closed in favour of #720.

@flsmith flsmith closed this Dec 2, 2020
@flsmith flsmith deleted the translations branch October 13, 2021 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do not merge Label for PR that should not be merged new-feature A label for PRs that contain new features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants