semigroups / Semigroups

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

NrRegularDClasses for a Rees (0-)Matrix Semigroup #113

Closed james-d-mitchell closed 8 years ago

james-d-mitchell commented 9 years ago

Originally reported by: wilfwilson (Bitbucket: wilfwilson, GitHub: wilfwilson)


There seems to be no method installed for this function for R(Z)MS's.

#!gap
gap> R := ReesMatrixSemigroup(Group([ () ]), [ [ () ] ]);;
gap> NrRegularDClasses(R);
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 2nd choice method found for `NrRegularDClasses' on 1 arguments called from
<function "HANDLE_METHOD_NOT_FOUND">( <arguments> )
 called from read-eval loop at line 43 of *stdin*
#!gap
gap> R := ReesZeroMatrixSemigroup(Group([ () ]), [ [ () ] ]);;
gap> NrRegularDClasses(R);
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 2nd choice method found for `NrRegularDClasses' on 1 arguments called from
<function "HANDLE_METHOD_NOT_FOUND">( <arguments> )
 called from read-eval loop at line 43 of *stdin*

james-d-mitchell commented 9 years ago

Original comment by wilfwilson (Bitbucket: wilfwilson, GitHub: wilfwilson):


The functions NrLClasses and NrRClasses and RegularDClasses existed in the greens-generic.gi file. I looked carefully at what these did and I decided to add a generic NrRegularDClasses function. To be specific I did this in changeset c23e592. Although your comment above still stands, it is repeated in issue #115, so I don't think anything is lost by closing this.

james-d-mitchell commented 9 years ago

Original comment by James Mitchell (Bitbucket: james-d-mitchell, GitHub: james-d-mitchell):


I don't think this is really a bug. None of the stuff in the Semigroups package is documented as working for semigroups which are not in the category IsActingSemigroup. However, it is obviously desirable for this to work for generic semigroups too. The problem is that there are lots and lots of properties with methods that only work for IsActingSemigroup we must systematically review all of them. So there is no quick fix here, I'm afraid.