Properties of Reflection Groups

See Chapter MATRIX GROUPS OVER GENERAL RINGS for general functions for matrix groups.

IsReflectionGroup(G) : GrpMat -> BoolElt
    Strict: BoolElt                     Default: true
The default action is to return true if every generator of G is a reflection. If Strict is false, the function checks if G can be generated by some of its reflections, not necessarily those returned by Generators(G).
RootsAndCoroots(G) : GrpMat -> [RngIntElt], [ModTupRngElt], [ModTupRngElt]
Returns the orders of the reflections, the roots and the coroots of the reflection group G.
IsRealReflectionGroup(G) : GrpMat -> BoolElt, [], []
Returns true if and only if the matrix group G is a real reflection group. If true, the simple orders, roots, and coroots are also returned.

Example GrpRfl_IsReflectionGroup (H106E21)

> W := ComplexReflectionGroup("A", 4);
> IsReflectionGroup(W);
true
> IsRealReflectionGroup(W);
true
[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]
[ 2 -1  0  0]
[-1  2 -1  0]
[ 0 -1  2 -1]
[ 0  0 -1  2]
> W := ComplexReflectionGroup("M", 3);
> IsReflectionGroup(W);
true
> IsRealReflectionGroup(W);
                        ^
Runtime error in 'IsRealReflectionGroup': The group must be defined over the
reals
IsCrystallographic(W) : GrpMat -> BoolElt
Returns true if and only if the real reflection group W is crystallographic; i.e., its Cartan matrix has integral entries.
IsSimplyLaced(W) : GrpMat -> BoolElt
Returns true if and only if the real reflection group W is simply laced; i.e., its Coxeter graph has no labels.

Example GrpRfl_Properties (H106E22)

> W := ReflectionGroup("A~2 D4");
> IsFinite(W);
false
> IsCrystallographic(W);
true
> IsSimplyLaced(W);
true
Dual(G) : GrpMat -> BoolElt
The dual of the reflection group G, ie, the reflection group gotten by swapping roots with coroots.
Overgroup(H) : GrpMat -> GrpMat
The overgroup of H, ie. the reflection group whose roots are permuted by the elements of the reflection subgroup H.
Overdatum(H) : GrpMat -> RootDtm
The root datum whose roots are permuted by the elements of the reflection subgroup H.

Every Coxeter group W has a standard action. For example, the standard action group of a Coxeter group of type An is the symmetric group of degree n + 1 acting on {1, ..., n}.

StandardAction(W) : GrpMat -> Map
The standard action of the reflection group W.
StandardActionGroup(W) : GrpMat -> GrpPerm, Map
The group G of the standard action of the reflection group W, together with an isomorphism W to G.
V2.28, 13 July 2023