Semigroups icon indicating copy to clipboard operation
Semigroups copied to clipboard

Make free bands be acting semigroups

Open james-d-mitchell opened this issue 2 years ago • 0 comments

It should be relatively straightforward to make free bands in the Semigroups package acting semigroups. This will involve the following:

  • adding the filter IsActingSemigroup to IsFreeBandSubsemigroup, or at least, making it so that if IsFreeBandSubsemigroup holds then IsActingSemigroup does also
  • Definitions of the functions in main/setup.gd for free bands:
    • ActionRank = content of a free band element
    • MinActionRank = full content
    • LambdaFunc = (ftol, suffix)
    • LambdaAct = if (ftol_1, suffix_1) is the lambda value, and (prefix, ltof, ftol_2, suffix_2) is the element, then return the LambdaFunc of (reverse suffix_1, ftol_1, ftol_1, suffix) * (prefix, ltof, ftol_2, suffix_2)
    • RhoAct + RhoFunc are the analogues of LambdaAct and LambdaFunc, given by (prefix, ltof).
    • LambdaOrbSeed + RhoOrbSeed should be some neutral lambda func.
    • LambdaRank + RhoRank is the content of the lambda value (output of lambda func).
    • LambdaInverse + RhoInverse @reiniscirpons please fill this in
    • LambdaBound + RhoBound should both be 1
    • LambdaIdentity + RhoIdentity should both be the identity permutation
    • LambdaPerm always returns the identity permutation.
    • LambdaConjugator always returns the identity permutation.
    • IdempotentTester always returns true
    • IdempotentCreator given the lamba value (prefix, ltof) and rho value (ftol, suffix) returns (prefix, ltof, ftol, suffix)
    • StablizerAction(x, p) returns x
    • SchutzenbergerGroupMembership returns true.
    • A hash function for elements of free bands.

james-d-mitchell avatar Jan 10 '24 13:01 james-d-mitchell