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

Missing functionality for quotient semigroups #454

Closed
ChristopherRussell opened this issue Feb 6, 2018 · 2 comments
Closed

Missing functionality for quotient semigroups #454

ChristopherRussell opened this issue Feb 6, 2018 · 2 comments
Assignees
Labels
bug Label for issues or PR which report or fix bugs resolved-pending-release A label for issues that are resolved pending a release.

Comments

@ChristopherRussell
Copy link
Collaborator

I noticed a few methods not working with quotient semigroups. In particular GeneratorsSmallest will return output saying "this shouldn't happen!"

gap> S := InverseSemigroup( [ PartialPerm( [ 1, 2, 3, 4 ], [ 1, 2, 3, 4 ] ),
  PartialPerm( [ 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 19, 20, 29, 30 ],
     [ 2, 1, 4, 3, 6, 5, 8, 7, 12, 11, 14, 13, 20, 19, 30, 29 ] ),
  PartialPerm( [ 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 19, 20, 29, 30 ],
     [ 4, 3, 2, 1, 8, 7, 6, 5, 10, 9, 16, 15, 18, 17, 32, 31 ] ),
  PartialPerm( [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 16, 17, 18, 31, 32 ],
     [ 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 16, 15, 18, 17, 32, 31 ] ),
  PartialPerm( [ 1, 2, 3, 4, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36 ],
     [ 4, 3, 2, 1, 24, 23, 22, 21, 28, 27, 26, 25, 36, 35, 34, 33 ] ),
  PartialPerm( [ 1, 2, 3, 4, 21, 22, 23, 24, 25, 26, 27, 28, 33, 34, 35, 36 ],
     [ 3, 4, 1, 2, 23, 24, 21, 22, 27, 28, 25, 26, 35, 36, 33, 34 ] ),
  PartialPerm( [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 16, 17, 18, 31, 32 ],
     [ 4, 3, 2, 1, 8, 7, 6, 5, 12, 11, 14, 13, 20, 19, 30, 29 ] ),
  PartialPerm( [ 1, 2, 3, 4, 19, 20, 29, 30 ], [ 4, 3, 2, 1, 18, 17, 32, 31 ] ),
  PartialPerm( [ 1, 2, 3, 4, 22, 24, 33, 35 ], [ 4, 3, 2, 1, 23, 21, 36, 34 ] ) ] );
<inverse partial perm semigroup of rank 36 with 9 generators>
gap> cong := MinimumGroupCongruence(S);
<semigroup congruence over <inverse partial perm semigroup of rank 36 with 9 generators>
  with congruence pair (9,1)>
gap> G := S/cong;
<quotient of <semigroup congruence over <inverse partial perm semigroup of rank 36 with 9
 generators> with congruence pair (9,1)>>
gap> GeneratorsSmallest(G);
Error, EN_SEMI_ELEMENT_NUMBER_SORTED: this shouldn't happen! in
  return iter!.NextIterator( iter ); at /Users/crussell/gap/lib/coll.gi:993 called from
NextIterator( iter ) at /Users/crussell/gap/pkg/semigroups/gap/attributes/attr.gi:116 called from
<function "_GeneratorsSmallest">( <arguments> )
 called from read-eval loop at *stdin*:190

gap> Size(S/cong);
4
gap> Size(GeneratorsOfSemigroup(S/cong));
11
gap> IrredundantGeneratingSubset(S/cong);
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `IsGeneratorsOfActingSemigroup' on 1 arguments at /Users/crussell/gap/lib/methsel2.g:250 called from
IsGeneratorsOfActingSemigroup( coll
 ) at /Users/crussell/gap/pkg/semigroups/gap/attributes/attr.gi:234 called from
Error( no_method_found ); at /Users/crussell/gap/lib/methsel2.g:250 called from
IsGeneratorsOfActingSemigroup( coll
 ) at /Users/crussell/gap/pkg/semigroups/gap/attributes/attr.gi:234 called from
<function "unknown">( <arguments> )
 called from read-eval loop at *errin*:4
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
brk> quit;

gap> SmallSemigroupGeneratingSet(G);
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `SmallSemigroupGeneratingSet' on 1 arguments at /Users/crussell/gap/lib/methsel2.g:250 called from
SmallSemigroupGeneratingSet( GeneratorsOfSemigroup( S )
 ) at /Users/crussell/gap/pkg/semigroups/gap/attributes/attr.gi:308 called from
<function "unknown">( <arguments> )
 called from read-eval loop at *stdin*:194
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
@james-d-mitchell james-d-mitchell added 3.0 bug Label for issues or PR which report or fix bugs labels Feb 7, 2018
@james-d-mitchell
Copy link
Collaborator

Thanks @ChristopherRussell, this is also related to #370.

@james-d-mitchell james-d-mitchell added new-feature A label for PRs that contain new features enhancement A label for issues or PRs that offer an enhancement to existing functionality and removed enhancement A label for issues or PRs that offer an enhancement to existing functionality new-feature A label for PRs that contain new features labels Sep 27, 2018
@james-d-mitchell james-d-mitchell added this to the 4.0.0 milestone Feb 17, 2022
@james-d-mitchell james-d-mitchell removed this from the 4.0.0 milestone Feb 28, 2022
@james-d-mitchell james-d-mitchell self-assigned this Jun 14, 2022
@james-d-mitchell james-d-mitchell added the resolved-pending-release A label for issues that are resolved pending a release. label Jun 15, 2022
@james-d-mitchell
Copy link
Collaborator

Resolved in v4.0.3

flsmith pushed a commit to flsmith/Semigroups that referenced this issue Sep 20, 2023
By using human readable characters when constructing a
Presentation<std::string> from another type of presentation
without an alphabet being specified.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Label for issues or PR which report or fix bugs resolved-pending-release A label for issues that are resolved pending a release.
Projects
None yet
Development

No branches or pull requests

2 participants