78 Reflection subgroups

Let W be a finite Coxeter group, corresponding to a root system R in an Euclidean space V. Let S be the set of generators corresponding to some system of fundamental roots in R. Then {wsw^{-1} mid w in W, s in S} is the set of all reflections in W. A reflection subgroup H of W is a subgroup generated by the reflections it contains. If H is generated by reflections with respect to a subset of the fundamental roots it is called a standard parabolic subgroup of W. A parabolic subgroup is a subgroup H of W which is conjugate to some standard parabolic subgroup. A parabolic subgroup H is characterized among all reflection subgroups of W by the fact that the set of all roots in R for which the corresponding reflection lies in H is closed under (real) linear combinations.

It is a theorem discovered by Deodhar Deo89 and Dyer Dye90 independently at the same time that a reflection subgroup H has a canonical set of fundamental roots even if it is not parabolic: Let Q be the set of all roots for which the corresponding reflection lies in H; then a fundamental system of roots for H is given by the positive roots t in Q such that the set of roots whose sign is changed by the reflection with root t meets Q in the single element t. This is used by the routine ReflectionSubgroup to determine the root system Q of a reflection subgroup H. This function takes the original record for W and a list of indices for the roots as input.

    gap> W := CoxeterGroup( "G", 2 );
    CoxeterGroup("G", 2)
    gap> W.roots[4];
    [ 1, 2 ]
    gap> H := ReflectionSubgroup( W, [ 2, 4 ] );
    ReflectionSubgroup(CoxeterGroup("G", 2), [ 2, 3 ])
    gap> PrintDynkinDiagram( H );
    ~A2    2 - 3                           # not a parabolic subgroup 

We also see that the result of the above algorithm is that W.roots[2] and W.roots[3] form a system of simple roots in H.

The line containing the Dynkin diagram of H introduces a convention: we use the notation "~A" to denote a root subsystem of type "A" generated by short roots.

The record for the subgroup contains additional components the most important of which is rootInclusion which gives the positions of the roots in Q in the original root system R:

    gap> H.rootInclusion;
    [ 2, 3, 4, 8, 9, 10 ] 
The inverse map is stored in H.rootRestriction. If H is a standard parabolic subgroup of W then the length function on H (with respect to its set of generators) is the restriction of the length function on W. This need not no longer be true for arbitrary reflection subgroups of W:

    gap> CoxeterLength( W, H.generators[2] );
    3
    gap> CoxeterLength( H, H.generators[2] );
    1 

In GAP, the Coxeter group W is represented as a permutation group on R. Consequently, a reflection subgroup H subseteq W is a permutation subgroup, i.e., its elements are represented as permutations of the roots of the it parent group. This has to be kept in mind when working with reduced expressions and functions like CoxeterWord, and PermCoxeterWord.

Reduced words in simple reflections of H:

    gap> el := CoxeterWords( H ); 
    [ [  ], [ 2 ], [ 3 ], [ 2, 3 ], [ 3, 2 ], [ 2, 3, 2 ] ]

Reduced words in the generators of H:

    gap> el1 := List( el, x -> H.rootRestriction{ x } );
    [ [  ], [ 1 ], [ 2 ], [ 1, 2 ], [ 2, 1 ], [ 1, 2, 1 ] ]

Permutations on the roots of W:

    gap> el2 := List( el, x -> PermCoxeterWord( H, x ) );
    [ (), ( 1, 5)( 2, 8)( 3, 4)( 7,11)( 9,10),    
      ( 1,12)( 2, 4)( 3, 9)( 6, 7)( 8,10),        
      ( 1, 5,12)( 2,10, 3)( 4, 9, 8)( 6, 7,11), 
      ( 1,12, 5)( 2, 3,10)( 4, 8, 9)( 6,11, 7), 
      ( 2, 9)( 3, 8)( 4,10)( 5,12)( 6,11) ]

Reduced words in the generators of W:

    gap> List( el2, x -> CoxeterWord( W, x ) );
    [ [  ], [ 2 ], [ 1, 2, 1 ], [ 2, 1, 2, 1 ], [ 1, 2, 1, 2 ], 
      [ 2, 1, 2, 1, 2 ] ]

Another basic result about reflection subgroups is that each coset of H in W contains a unique element of minimal length. Since a coset is a subset of W, the length of elements is taken with respect to the roots of W.) See ReducedRightCosetRepresentatives.

In many applications it is useful to know the decomposition of the irreducible characters of W when we restrict them from W to a reflection subgroup H (defined as in Section~refReflection subgroups). In order to apply the usual GAP functions for inducing and restricting characters and computing scalar products, we need to know the fusion map for the conjugacy classes of H into those of W. This is done, as usual, with the GAP function FusionConjugacyClasses, which calls a special implementation for Coxeter groups. The decomposition of induced characters into irreducibles then is a simple matter of combining some functions which already exist in GAP. There is an additional function, InductionTable, which performs this job.

    gap> W := CoxeterGroup( "G", 2 );;
    gap> W.roots[4];
    [ 1, 2 ]
    gap> H := ReflectionSubgroup( W, [ 2, 4 ] );;
    gap> Display( InductionTable( H, W ) );
    Induction from ~A2 into G2
                
tt |
 111 21 3
    ______________________
    phi_{1,0}   
tt |
   .  . 1
    phi_{1,6}   
tt |
   1  . .
    phi_{1,3}'  
tt |
   .  . 1
    phi_{1,3}'' 
tt |
   1  . .
    phi_{2,1}   
tt |
   .  1 .
    phi_{2,2}   
tt | . 1 .

We have similar functions for the j-induction and the J-induction of characters. These operations are obtained by truncating the induced characters by using the a-invariants and b-invariants associated with jInductionTable for Macdonald-Lusztig-Spaltenstein induction and JInductionTable).

Subsections

  1. ReflectionSubgroup
  2. Functions for reflection subgroups
  3. ReducedInCoxeterCoset
  4. ReducedRightCosetRepresentatives
  5. PermCosetsSubgroup
  6. jInductionTable for Macdonald-Lusztig-Spaltenstein induction
  7. JInductionTable
Previous Up Next
Index

GAP 3.4.4
April 1997