78.1 ReflectionSubgroup

ReflectionSubgroup( W, r )

Returns the reflection subgroup of the real reflection group W generated by the reflections with roots specified by r. r is a list of indices specifying a subset of the roots of W.

A reflection subgroup H of W is a permutation subgroup, and otherwise has the same fields as a Coxeter group, with some new ones added which express the relationship with the parent W:

rootInclusion:

the indices of the roots in the roots of W

parentN:

the number of positive roots of W

rootRestriction:

a list of length 2*H.parentN with entries in positions H.rootInclusion bound to [1..2*H.N].

A Coxeter group which is not a subgroup actually also contains these fields, set to the trivial values: rootInclusion = [ 1 .. 2*W.N ], parentN = W.N and rootRestriction = [ 1 .. 2*W.N ].

With these fields, you can, e.g., test if the i-th fundamental root of H root is left positive by the element w of H (given as a permutation of the roots of the parent) with

H.rootInclusion[ i ] ^ w <= H.parentN

Programs dealing with Coxeter groups should be written this way to work for Coxeter subgroups (instead of just writing i^w <= H.N).

ReflectionSubgroup returns a subgroup of the parent group of the argument (like the GAP function Subgroup).

    gap> W := CoxeterGroup( "F", 4 );;
    gap> H := ReflectionSubgroup( W, [ 1, 2, 11, 20 ] );
    ReflectionSubgroup(CoxeterGroup("F", 4), [ 1, 2, 9, 16 ])
    gap> CartanName( H );
    "D4"                           # not a parabolic subgroup
    gap> H.rootRestriction;
    [ 1, 2,,, 5,,,, 3,, 6,,, 8,, 4,, 7,, 9,, 10, 11, 12, 13, 14,,, 17,,,,
      15,, 18,,, 20,, 16,, 19,, 21,, 22, 23, 24 ]
    gap> ReflectionSubgroup( H, [ 1, 2, 6 ] );
    ReflectionSubgroup(CoxeterGroup("F", 4), [ 1, 2, 3 ]) 

This function requires the package "chevie" (see RequirePackage).

Up Top Next
Index

GAP 3.4.4
April 1997