Examples of finite Coxeter groups¶
- class sage.categories.examples.finite_coxeter_groups.DihedralGroup(n=5)[source]¶
- Bases: - UniqueRepresentation,- Parent- An example of finite Coxeter group: the \(n\)-th dihedral group of order \(2n\). - The purpose of this class is to provide a minimal template for implementing finite Coxeter groups. See - DihedralGroupfor a full featured and optimized implementation.- EXAMPLES: - sage: G = FiniteCoxeterGroups().example() - >>> from sage.all import * >>> G = FiniteCoxeterGroups().example() - This group is generated by two simple reflections \(s_1\) and \(s_2\) subject to the relation \((s_1s_2)^n = 1\): - sage: G.simple_reflections() Finite family {1: (1,), 2: (2,)} sage: s1, s2 = G.simple_reflections() sage: (s1*s2)^5 == G.one() True - >>> from sage.all import * >>> G.simple_reflections() Finite family {1: (1,), 2: (2,)} >>> s1, s2 = G.simple_reflections() >>> (s1*s2)**Integer(5) == G.one() True - An element is represented by its reduced word (a tuple of elements of \(self.index_set()\)): - sage: G.an_element() (1, 2) sage: list(G) [(), (1,), (2,), (1, 2), (2, 1), (1, 2, 1), (2, 1, 2), (1, 2, 1, 2), (2, 1, 2, 1), (1, 2, 1, 2, 1)] - >>> from sage.all import * >>> G.an_element() (1, 2) >>> list(G) [(), (1,), (2,), (1, 2), (2, 1), (1, 2, 1), (2, 1, 2), (1, 2, 1, 2), (2, 1, 2, 1), (1, 2, 1, 2, 1)] - This reduced word is unique, except for the longest element where the chosen reduced word is \((1,2,1,2\dots)\): - sage: G.long_element() (1, 2, 1, 2, 1) - >>> from sage.all import * >>> G.long_element() (1, 2, 1, 2, 1) - class Element[source]¶
- Bases: - ElementWrapper- apply_simple_reflection_right(i)[source]¶
- Implement - CoxeterGroups.ElementMethods.apply_simple_reflection().- EXAMPLES: - sage: D5 = FiniteCoxeterGroups().example(5) sage: [i^2 for i in D5] # indirect doctest [(), (), (), (1, 2, 1, 2), (2, 1, 2, 1), (), (), (2, 1), (1, 2), ()] sage: [i^5 for i in D5] # indirect doctest [(), (1,), (2,), (), (), (1, 2, 1), (2, 1, 2), (), (), (1, 2, 1, 2, 1)] - >>> from sage.all import * >>> D5 = FiniteCoxeterGroups().example(Integer(5)) >>> [i**Integer(2) for i in D5] # indirect doctest [(), (), (), (1, 2, 1, 2), (2, 1, 2, 1), (), (), (2, 1), (1, 2), ()] >>> [i**Integer(5) for i in D5] # indirect doctest [(), (1,), (2,), (), (), (1, 2, 1), (2, 1, 2), (), (), (1, 2, 1, 2, 1)] 
 - has_right_descent(i, positive=False, side='right')[source]¶
- Implement - SemiGroups.ElementMethods.has_right_descent().- EXAMPLES: - sage: D6 = FiniteCoxeterGroups().example(6) sage: s = D6.simple_reflections() sage: s[1].has_descent(1) True sage: s[1].has_descent(1) True sage: s[1].has_descent(2) False sage: D6.one().has_descent(1) False sage: D6.one().has_descent(2) False sage: D6.long_element().has_descent(1) True sage: D6.long_element().has_descent(2) True - >>> from sage.all import * >>> D6 = FiniteCoxeterGroups().example(Integer(6)) >>> s = D6.simple_reflections() >>> s[Integer(1)].has_descent(Integer(1)) True >>> s[Integer(1)].has_descent(Integer(1)) True >>> s[Integer(1)].has_descent(Integer(2)) False >>> D6.one().has_descent(Integer(1)) False >>> D6.one().has_descent(Integer(2)) False >>> D6.long_element().has_descent(Integer(1)) True >>> D6.long_element().has_descent(Integer(2)) True 
 - wrapped_class¶
- alias of - tuple
 
 - coxeter_matrix()[source]¶
- Return the Coxeter matrix of - self.- EXAMPLES: - sage: FiniteCoxeterGroups().example(6).coxeter_matrix() [1 6] [6 1] - >>> from sage.all import * >>> FiniteCoxeterGroups().example(Integer(6)).coxeter_matrix() [1 6] [6 1] 
 - degrees()[source]¶
- Return the degrees of - self.- EXAMPLES: - sage: FiniteCoxeterGroups().example(6).degrees() (2, 6) - >>> from sage.all import * >>> FiniteCoxeterGroups().example(Integer(6)).degrees() (2, 6) 
 - index_set()[source]¶
- Implement - CoxeterGroups.ParentMethods.index_set().- EXAMPLES: - sage: D4 = FiniteCoxeterGroups().example(4) sage: D4.index_set() (1, 2) - >>> from sage.all import * >>> D4 = FiniteCoxeterGroups().example(Integer(4)) >>> D4.index_set() (1, 2) 
 
- sage.categories.examples.finite_coxeter_groups.Example[source]¶
- alias of - DihedralGroup