Skip to content

Commit

Permalink
Renaming class and changing entry point. Fixing typo.
Browse files Browse the repository at this point in the history
  • Loading branch information
tscrim committed May 24, 2024
1 parent 39adbbc commit 5c667b2
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 38 deletions.
5 changes: 1 addition & 4 deletions src/sage/combinat/all.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,9 @@
# Permutations
from .permutation import Permutation, Permutations, Arrangements, CyclicPermutations, CyclicPermutationsOfPartition
from .affine_permutation import AffinePermutationGroup
lazy_import('sage.combinat.colored_permutations', ['ComplexReflectionGroup',
'ColoredPermutations',
lazy_import('sage.combinat.colored_permutations', ['ColoredPermutations',
'SignedPermutation',
'SignedPermutations'])
lazy_import('sage.combinat.colored_permutations', 'STFamilyComplexReflectionGroup',
as_='ComplexReflectionGroup')
from .derangements import Derangements
lazy_import('sage.combinat.baxter_permutations', ['BaxterPermutations'])

Expand Down
73 changes: 39 additions & 34 deletions src/sage/combinat/colored_permutations.py
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ def length(self):
# reflection groups


class STFamilyComplexReflectionGroup(Parent, UniqueRepresentation):
class ShephardToddFamilyGroup(UniqueRepresentation, Parent):
r"""
The Shephard-Todd family complex reflection group `G(m, p, n)`
realized as a subgroup of :class:`colored permutations
Expand All @@ -425,18 +425,12 @@ class STFamilyComplexReflectionGroup(Parent, UniqueRepresentation):
By the (Chevalley-)Shephard-Todd classification of irreducible
finite complex reflection groups, the groups `G(m, p, n)` (with
`G(2, 2, 2)` being exceptionally reducible since it is the Klien
`G(2, 2, 2)` being exceptionally reducible since it is the Klein
four group) form the only infinite family with an additional 34
exceptional groups `G_k`, where `4 \leq k \leq 37`. To avoid
ambiguities, we refer to `G(m, p, n)` as the *Shephard-Todd family
complex reflection group*.
.. NOTE::
This does *not* currently function as a dispatcher class for all
irreducible complex reflection groups. It *only* constructs
for `G(m, p, n)`.
INPUT:
- ``m`` -- positive integer
Expand All @@ -446,6 +440,17 @@ class STFamilyComplexReflectionGroup(Parent, UniqueRepresentation):
REFERENCES:
- :wikipedia:`Complex_reflection_group`
EXAMPLES::
sage: groups.misc.ShephardToddFamily(6, 1, 4)
6-colored permutations of size 4
sage: groups.misc.ShephardToddFamily(6, 2, 4)
Complex reflection group G(6, 2, 4)
sage: groups.misc.ShephardToddFamily(6, 3, 4)
Complex reflection group G(6, 3, 4)
sage: groups.misc.ShephardToddFamily(6, 6, 4)
Complex reflection group G(6, 6, 4)
"""
@staticmethod
def __classcall_private__(cls, m, p, n):
Expand All @@ -455,7 +460,7 @@ def __classcall_private__(cls, m, p, n):
EXAMPLES::
sage: G = ComplexReflectionGroup(6, 1, 3)
sage: G = groups.misc.ShephardToddFamily(6, 1, 3)
sage: C = ColoredPermutations(6, 3)
sage: G is C
True
Expand All @@ -470,19 +475,19 @@ def __init__(self, m, p, n):
EXAMPLES::
sage: G = ComplexReflectionGroup(6, 2, 3)
sage: G = groups.misc.ShephardToddFamily(6, 2, 3)
sage: TestSuite(G).run()
sage: G = ComplexReflectionGroup(8, 4, 1)
sage: G = groups.misc.ShephardToddFamily(8, 4, 1)
sage: TestSuite(G).run()
We skip some of the Coxeter group tests since the left descents
have not been implemented::
sage: coxeter_tests = ["_test_descents", "_test_has_descent",
....: "_test_reduced_word", "_test_simple_projections"]
sage: G = ComplexReflectionGroup(2, 2, 3)
sage: G = groups.misc.ShephardToddFamily(2, 2, 3)
sage: TestSuite(G).run(skip=coxeter_tests)
sage: G = ComplexReflectionGroup(4, 4, 2)
sage: G = groups.misc.ShephardToddFamily(4, 4, 2)
sage: TestSuite(G).run(skip=coxeter_tests)
"""
if m <= 0:
Expand Down Expand Up @@ -515,7 +520,7 @@ def _repr_(self):
EXAMPLES::
sage: ComplexReflectionGroup(6, 2, 3)
sage: groups.misc.ShephardToddFamily(6, 2, 3)
Complex reflection group G(6, 2, 3)
"""
return "Complex reflection group G({}, {}, {})".format(self._m, self._p, self._n)
Expand All @@ -535,19 +540,19 @@ def index_set(self):
sage: C.index_set()
(1, 2, 3)
sage: G = ComplexReflectionGroup(6, 6, 4)
sage: G = groups.misc.ShephardToddFamily(6, 6, 4)
sage: G.index_set()
(1, 2, 3, 4)
sage: G = ComplexReflectionGroup(6, 2, 4)
sage: G = groups.misc.ShephardToddFamily(6, 2, 4)
sage: G.index_set()
(1, 2, 3, 4, 5)
sage: G = ComplexReflectionGroup(6, 6, 1)
sage: G = groups.misc.ShephardToddFamily(6, 6, 1)
sage: G.index_set()
()
sage: G = ComplexReflectionGroup(6, 2, 1)
sage: G = groups.misc.ShephardToddFamily(6, 2, 1)
sage: G.index_set()
(1,)
Expand Down Expand Up @@ -586,39 +591,39 @@ def coxeter_matrix(self):
[3 1 3]
[2 3 1]
sage: G = ComplexReflectionGroup(2, 2, 3)
sage: G = groups.misc.ShephardToddFamily(2, 2, 3)
sage: G.coxeter_matrix()
[1 3 3]
[3 1 2]
[3 2 1]
sage: G = ComplexReflectionGroup(2, 2, 2)
sage: G = groups.misc.ShephardToddFamily(2, 2, 2)
sage: G.coxeter_matrix()
[1 2]
[2 1]
sage: G = ComplexReflectionGroup(2, 2, 1)
sage: G = groups.misc.ShephardToddFamily(2, 2, 1)
sage: G.coxeter_matrix()
[1]
sage: G = ComplexReflectionGroup(5, 5, 1)
sage: G = groups.misc.ShephardToddFamily(5, 5, 1)
sage: G.coxeter_matrix()
[]
sage: G = ComplexReflectionGroup(4, 4, 2)
sage: G = groups.misc.ShephardToddFamily(4, 4, 2)
sage: G.coxeter_matrix()
[1 4]
[4 1]
sage: G = ComplexReflectionGroup(7, 7, 2)
sage: G = groups.misc.ShephardToddFamily(7, 7, 2)
sage: G.coxeter_matrix()
[1 7]
[7 1]
sage: G = ComplexReflectionGroup(6, 3, 1)
sage: G = groups.misc.ShephardToddFamily(6, 3, 1)
sage: G.coxeter_matrix() is None
True
sage: G = ComplexReflectionGroup(6, 3, 4)
sage: G = groups.misc.ShephardToddFamily(6, 3, 4)
sage: G.coxeter_matrix() is None
True
Expand Down Expand Up @@ -697,18 +702,18 @@ def simple_reflection(self, i):
sage: S.simple_reflection(4)
[1, 2, 3, -4]
sage: G = ComplexReflectionGroup(4, 2, 3)
sage: G = groups.misc.ShephardToddFamily(4, 2, 3)
sage: list(G.simple_reflections())
[[[0, 0, 0], [2, 1, 3]],
[[0, 0, 0], [1, 3, 2]],
[[0, 1, 3], [1, 3, 2]],
[[0, 0, 2], [1, 2, 3]]]
sage: G = ComplexReflectionGroup(8, 4, 1)
sage: G = groups.misc.ShephardToddFamily(8, 4, 1)
sage: G.simple_reflections()
Finite family {1: [[4], [1]]}
sage: G = ComplexReflectionGroup(8, 8, 1)
sage: G = groups.misc.ShephardToddFamily(8, 8, 1)
sage: G.simple_reflections()
Finite family {}
"""
Expand Down Expand Up @@ -880,7 +885,7 @@ def __iter__(self):
EXAMPLES::
sage: G = ComplexReflectionGroup(6, 3, 2)
sage: G = groups.misc.ShephardToddFamily(6, 3, 2)
sage: [x for x in G]
[[[0, 0], [1, 2]],
[[0, 0], [2, 1]],
Expand Down Expand Up @@ -974,7 +979,7 @@ def degrees(self) -> tuple:
sage: S = ColoredPermutations(1, 3)
sage: S.degrees()
(2, 3)
sage: G = ComplexReflectionGroup(6, 2, 3)
sage: G = groups.misc.ShephardToddFamily(6, 2, 3)
sage: G.degrees()
(6, 9, 12)
Expand Down Expand Up @@ -1022,7 +1027,7 @@ def codegrees(self) -> tuple:
sage: S = ColoredPermutations(1, 3)
sage: S.codegrees()
(1, 0)
sage: G = ComplexReflectionGroup(6, 2, 3)
sage: G = groups.misc.ShephardToddFamily(6, 2, 3)
sage: G.codegrees()
(12, 6, 0)
Expand Down Expand Up @@ -1143,7 +1148,7 @@ def is_well_generated(self):
Element = ColoredPermutation


class ColoredPermutations(STFamilyComplexReflectionGroup):
class ColoredPermutations(ShephardToddFamilyGroup):
r"""
The group of `m`-colored permutations on `\{1, 2, \ldots, n\}`.
Expand Down Expand Up @@ -1217,7 +1222,7 @@ def __init__(self, m, n):
sage: C = ColoredPermutations(1, 3)
sage: TestSuite(C).run()
"""
STFamilyComplexReflectionGroup.__init__(self, m, 1, n)
ShephardToddFamilyGroup.__init__(self, m, 1, n)

def _repr_(self):
"""
Expand Down
1 change: 1 addition & 0 deletions src/sage/groups/misc_gps/misc_groups_catalog.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
from sage.groups.semimonomial_transformations.semimonomial_transformation_group import SemimonomialTransformationGroup as SemimonomialTransformation
from sage.combinat.root_system.coxeter_group import CoxeterGroup
from sage.combinat.root_system.weyl_group import WeylGroup
from sage.combinat.colored_permutations import ShephardToddFamilyGroup as ShephardToddFamily
from sage.groups.raag import RightAngledArtinGroup as RightAngledArtin
from sage.combinat.root_system.reflection_group_real import ReflectionGroup
from sage.groups.cactus_group import CactusGroup as Cactus
Expand Down

0 comments on commit 5c667b2

Please sign in to comment.