Semigroups
Semigroups copied to clipboard
Make free bands be acting semigroups
It should be relatively straightforward to make free bands in the Semigroups package acting semigroups. This will involve the following:
- adding the filter
IsActingSemigrouptoIsFreeBandSubsemigroup, or at least, making it so that ifIsFreeBandSubsemigroupholds thenIsActingSemigroupdoes also - Definitions of the functions in
main/setup.gdfor 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 theLambdaFuncof(reverse suffix_1, ftol_1, ftol_1, suffix) * (prefix, ltof, ftol_2, suffix_2) -
RhoAct+RhoFuncare the analogues ofLambdaActandLambdaFunc, given by(prefix, ltof). -
LambdaOrbSeed+RhoOrbSeedshould be some neutral lambda func. -
LambdaRank+RhoRankis the content of the lambda value (output of lambda func). -
LambdaInverse+RhoInverse@reiniscirpons please fill this in -
LambdaBound+RhoBoundshould both be 1 -
LambdaIdentity+RhoIdentityshould both be the identity permutation -
LambdaPermalways returns the identity permutation. -
LambdaConjugatoralways returns the identity permutation. -
IdempotentTesteralways returns true -
IdempotentCreatorgiven the lamba value (prefix, ltof) and rho value (ftol, suffix) returns (prefix, ltof, ftol, suffix) -
StablizerAction(x, p)returnsx -
SchutzenbergerGroupMembershipreturns true. - A hash function for elements of free bands.
-