Finite real reflection groups¶
Let \(V\) be a finite-dimensional real vector space. A reflection of \(V\) is an operator \(r \in \operatorname{GL}(V)\) that has order \(2\) and fixes pointwise a hyperplane in \(V\). In the present implementation, finite real reflection groups are tied with a root system.
Finite real reflection groups with root systems have been classified according to finite Cartan-Killing types. For more definitions and classification types of finite complex reflection groups, see Wikipedia article Complex_reflection_group.
The point of entry to work with reflection groups is ReflectionGroup()
which can be used with finite Cartan-Killing types:
sage: ReflectionGroup(['A',2]) # optional - gap3
Irreducible real reflection group of rank 2 and type A2
sage: ReflectionGroup(['F',4]) # optional - gap3
Irreducible real reflection group of rank 4 and type F4
sage: ReflectionGroup(['H',3]) # optional - gap3
Irreducible real reflection group of rank 3 and type H3
AUTHORS:
- Christian Stump (initial version 2011–2015)
Warning
Uses the GAP3 package Chevie which is available as an
experimental package (installed by sage -i gap3
) or to
download by hand from Jean Michel’s website.
-
class
sage.combinat.root_system.reflection_group_real.
IrreducibleRealReflectionGroup
(W_types, index_set=None, hyperplane_index_set=None, reflection_index_set=None)¶ Bases:
sage.combinat.root_system.reflection_group_real.RealReflectionGroup
,sage.combinat.root_system.reflection_group_complex.IrreducibleComplexReflectionGroup
-
class
Element
¶ Bases:
sage.combinat.root_system.reflection_group_real.RealReflectionGroup.Element
,sage.combinat.root_system.reflection_group_complex.IrreducibleComplexReflectionGroup.Element
-
class
-
sage.combinat.root_system.reflection_group_real.
RealReflectionGroup
¶ A real reflection group given as a permutation group.
See also
-
sage.combinat.root_system.reflection_group_real.
ReflectionGroup
(*args, **kwds)¶ Construct a finite (complex or real) reflection group as a Sage permutation group by fetching the permutation representation of the generators from chevie’s database.
INPUT:
can be one or multiple of the following:
- a triple \((r, p, n)\) with \(p\) divides \(r\), which denotes the group \(G(r, p, n)\)
- an integer between \(4\) and \(37\), which denotes an exceptional irreducible complex reflection group
- a finite Cartan-Killing type
EXAMPLES:
Finite reflection groups can be constructed from
Cartan-Killing classification types:
sage: W = ReflectionGroup(['A',3]); W # optional - gap3 Irreducible real reflection group of rank 3 and type A3 sage: W = ReflectionGroup(['H',4]); W # optional - gap3 Irreducible real reflection group of rank 4 and type H4 sage: W = ReflectionGroup(['I',5]); W # optional - gap3 Irreducible real reflection group of rank 2 and type I2(5)
the complex infinite family \(G(r,p,n)\) with \(p\) divides \(r\):
sage: W = ReflectionGroup((1,1,4)); W # optional - gap3 Irreducible real reflection group of rank 3 and type A3 sage: W = ReflectionGroup((2,1,3)); W # optional - gap3 Irreducible real reflection group of rank 3 and type B3
Chevalley-Shepard-Todd exceptional classification types:
sage: W = ReflectionGroup(23); W # optional - gap3 Irreducible real reflection group of rank 3 and type H3
Cartan types and matrices:
sage: ReflectionGroup(CartanType(['A',2])) # optional - gap3 Irreducible real reflection group of rank 2 and type A2 sage: ReflectionGroup(CartanType((['A',2],['A',2]))) # optional - gap3 Reducible real reflection group of rank 4 and type A2 x A2 sage: C = CartanMatrix(['A',2]) # optional - gap3 sage: ReflectionGroup(C) # optional - gap3 Irreducible real reflection group of rank 2 and type A2
multiples of the above:
sage: W = ReflectionGroup(['A',2],['B',2]); W # optional - gap3 Reducible real reflection group of rank 4 and type A2 x B2 sage: W = ReflectionGroup(['A',2],4); W # optional - gap3 Reducible complex reflection group of rank 4 and type A2 x ST4 sage: W = ReflectionGroup((4,2,2),4); W # optional - gap3 Reducible complex reflection group of rank 4 and type G(4,2,2) x ST4
-
sage.combinat.root_system.reflection_group_real.
is_chevie_available
()¶ Test whether the GAP3 Chevie package is available.
EXAMPLES:
sage: from sage.combinat.root_system.reflection_group_real import is_chevie_available sage: is_chevie_available() # random False sage: is_chevie_available() in [True, False] True