84 Coxeter cosets

Let R be a root system in the real vector space V as in Chapter~refRoot systems and finite Coxeter groups. Let F_0 be an automorphism of V. We say that F_0 is an automorphism of R if it is of finite order, if F_0 preserves the set of roots Rsubset V and if the adjoint automorphism F_0^ast of Vdual preserves the set of coroots Rdualsubset Vdual.

An automorphism F_0 of R normalizes the reflection group W:=W(R). More precisely it induces an automorphism F:;W rightarrow W, defined by wmapsto F_0wF_0^{-1}. A Coxeter coset is the coset WF_0 in the group of automorphisms of V, generated by W and F_0.

Let Deltasubset R be a set of simple roots of R. Then the set Delta F_0 is again a set of simple roots. So there is a unique element w_1 in W such that phi = w_1F_0 stabilizes Delta.

A subset C of a Coxeter coset WF_0 is called a conjugacy class if one of the following three equivalent conditions is fulfilled: item C is the orbit of an element in WF_0 under the conjugation action of W. item C is a conjugacy class of < W,F_0 > contained in WF_0. item The set {w in Wmid;wF_0 in C} is an F-conjugacy class of W (two elements v,w in W are called F-conjugate, if and only if there exists x in W with v = xwF(x^{-1})).

Let us consider the map from the set of irreducible characters of < W,F_0 > to the set of characters of W given by restriction. We get the following facts from Clifford theory: The characters having a nonzero value on a class in the coset WF_0 are exactly those characters which restrict to irreducible ones on W. The irreducible characters of W in the image of this map are exactly those which are fixed under the canonical action of F. Let chi in hat{W} be such a character and chi_1,ldots,chi_r the characters of < W,F_0 > which restrict to chi. Then r is the smallest positive integer such that F_0^r in W and the restrictions of the chi_i, i=1,ldots,r to the conjugacy classes of WF_0 are equal up to scalar multiplication with r-th roots of unity.

In CHEVIE we choose (following Lusztig) for each F-stable character of W a single (not canonical) extension to a character of < W,F_0 > , which we will call a preferred extension. The table of the restrictions of the preferred extensions to the coset WF_0 is called the character table of the coset WF_0. (See also the subsequent section on CharTable for Coxeter cosets.)

We define a scalar product on the class functions of a Coxeter coset WF_0 by [langle chi,psi rangle := frac1mid Wmidsum_win W chi(wF_0)barpsi(wF_0).] Then the character table of WF_0 contains an orthonormal set of class functions on WF_0.

A subcoset W_1w_0F_0 of WF_0 is given by a reflection subgroup W_1 of W and an element w_0 of W such that w_0F_0 is an automorphism of the root system R_1 of W_1.

We then have a natural notion of restriction of class functions on WF_0 to class functions on W_1w_0F_0 as well as of induction in the other direction. These maps are adjoint with respect to the scalar product defined above (see BMM93, p.15). The question of finding the conjugacy classes and character table of a Coxeter coset can be reduced to the case of irreducible root systems R: First we assume that F_0=phi, i.e., F_0 fixes a chosen set Delta of simple roots, and consider the canonical monomorphism < W,F_0 > rightarrow Wrtimes < F> , where F is the automorphism of W defined above. It is clear that this map induces a bijection from WF_0 to WFsubset Wrtimes < F> which preserves conjugacy classes in the cosets. The preferred extensions are defined such that they factorize over this map. Let W_1,W_2leq W be F-stable reflection subgroups of W such that W=W_1times W_2 and let F_i the restriction of F on W_i, i=1,2. Here the preferred extension is defined via restriction to the image of Wrtimes < F> hookrightarrow (W_1rtimes < F_1> ) times (W_2rtimes < F_2> ). Thus we can reduce the determination of conjugacy classes and the character table of WF_0 to the case were W is decomposed in irreducible components W=W_1times cdots times W_k which are cyclically permuted by F. In this case there are natural bijections from the F-conjugacy classes of W to the F^k-conjugacy classes of W_1 as well as from the F-stable characters of W to the F^k-stable characters of W_1. The definition of preferred extensions on WF can be reduced to the definition of preferred extensions for W_1F^k. So, we are reduced to the case that W is the Coxeter group of an irreducible root system and F permutes the simple roots, hence induces a graph automorphism on the corresponding Dynkin diagram. If F=1 then conjugacy classes and characters coincide with those of the Coxeter group W. The nontrivial cases to consider are (the order of F is written as left exponent to the type): ^2A_n, ^2D_n, ^3D_4, ^2E_6 and ^2I_2(2k+1). (Note that the exceptional automorphisms of order 2 which permute the Coxeter generators of the Coxeter groups of type B_2, G_2, F_4 or I_2(2k) do not come from automorphisms of the underlying root systems.)

In case ^3D_4 the group Wrtimes < F> can be embedded into the Coxeter group of type F_4, which induces a labeling for the conjugacy classes of the coset. The preferred extension is chosen as the (single) extension with rational values. In case ^2D_n the group Wrtimes < F> is isomorphic to a Coxeter group of type B_n. This induces a canonical labeling for the conjugacy classes of the coset and allows to define the preferred extension in a combinatorial way using the labels (pairs of partitions) for the characters of the Coxeter group of type B_n. In the remaining cases the group Wrtimes < F> is in fact isomorphic to a direct product Wtimes < w_0F> where w_0 is the longest element of W. So, there is a canonical labeling of the conjugacy classes and characters of the coset by those of W. The preferred extensions are defined by describing the signs of the character values on w_0F.

In GAP we construct the Coxeter coset by starting from a Coxeter datum specified by the matrices of simpleRoots and simpleCoroots, and giving in addition the matrix F0Mat of the map F_0:V rightarrow V (see the commands CoxeterCoset and CoxeterSubCoset). As it is true for the Coxeter groups the elements of WF_0 are uniquely determined by the permutation they induce on the set of roots R. We consider these permutations as Elements of the Coxeter coset.

<<<<<<< CHAP084.htm Coxeter cosets are implemented in GAP by a record which points to a Coxeter datum record and has additional fields holding F0Mat, F0Perm and the corresponding reduced element phi. Functions on the coset work with elements of the group coset W F_0 (for example, ChevieClassInfo); however, most definitions for elements of untwisted Coxeter groups apply without change to elements in W F_0: e.g., if we define the length of an element wphi in W F_0 as the number of positive roots it sends to negative ones, it is the same as the length of w, i.e., phi is of length 0, since phi has been chosen to preserve the set of positive roots. Similarly, the CoxeterWord describing wphi is the same as the one for w, etcldots

We associate to a Coxeter coset WF_0 a twisted Dynkin diagram, consisting of the Dynkin diagram of W and the graph automorphism induced by phi on this diagram (this specifies the group Wrtimes < F> , mentioned above, up to isomorphism). See the commands CartanType, CartanName and PrintDynkinDiagram for Coxeter cosets.

The motivation for introducing this notion comes from the theory of Chevalley groups, or more generally reductive algebraic groups over finite fields. Let bG be a reductive algebraic group over the algebraic closure overlineFF_q of a finite field FF_q, which is defined over FF_q, with corresponding Frobenius endomorphism F, so the finite group of rational points bG(FF_q) identifies to the subgroup bG^F of fixed points under F. Let bT be an F-stable maximal torus of bG. The Weyl group of bG with respect to bT is the quotient W=N_bG(bT)/bT. Let X(bT) be the character group of bT, that is the group of rational homomorphisms bTtooverline FF_q. The group W acts naturally on X(bT), and thus also on the vector space V=RR otimes X(bT). It is a fundamental fact in the theory of reductive groups that there is a canonical root system Phi in V defined by (bG,bT) such that W is the Weyl group of that root system.

The Frobenius endomorphism F acts also naturally on X(T) and defines thus an endomorphism of V, which is of the form q F_0, where F_0 is an automorphism of finite order of V. We get thus a Coxeter datum (V,W, F_0).

To completely specify bG^F up to isomorphism, we need a little more information. Let Y(bT) be the group of cocharacters of bT, that is of rational homomorphisms overlineFF_qtobT. The ZZ-modules X(bT) and Y(bT) are naturally dual to each other, and there is a canonical root system Phidual in Y(bT) dual to Phi. Let Vdual= RR otimes Y(bT). The classification theorems on reductive groups show that the isomorphism type of bG^F is completely determined by the datum (V,Phi,Vdual,Phidual, F_0), and the integer q. Thus we can think of this datum as a way of representing in GAP the essential information which determines a Chevalley group. Indeed, all properties of Chevalley groups can be computed from its Weyl datum: symbols representing unipotent characters, conjugacy classes, and finally the whole character table of bG^F.

It turns out that an interesting part of the objects attached to this datum depends only on (V,W, F_0): the order of the maximal tori, the ``fake degrees", the order of bG^F, Deligne-Lusztig induction in terms of ``almost characters", symbols representing unipotent characters and Deligne-Lusztig induction, etcldots (see, e.g., BMM93). It is thus possible to extend their construction to non-crystallographic groups (or even to more general complex reflection groups); this is why we did not include Phi in the definition of a Coxeter coset.

However, in GAP we will always have the whole datum (V,Phi,Vdual,Phidual, F_0). We assume that we have chosen a Borel subgroup of bG containing bT. This defines an order on the roots, and thus a basis Pi of Phi as well as a basis Pidual of Phidual. Any element of W F_0 induces a permutation of the roots, and there is a unique element phi in W F_0, which we call the reduced element in the coset, which preserves the set of positive roots. This element is stored in the component phi of the coset, and can be used to test isomorphism of cosets. The coset W F_0 is completely defined by the permutation F0Perm of the roots induced by F_0 when bG is semi-simple (in which case Phi generates V). So in this case we just need to specify F0Perm when defining the coset.

We should mention also a special case of Chevalley groups which does not exactly fit the above description: the Ree and Suzuki groups. In these cases, the group is defined as bG^F where F is not a Frobenius endomorphism, but an isogeny such that either F^2 or F^3 is a Frobenius endomorphism. Here, F still defines an endomorphism of V which normalizes W (and induces the automorphism of order 2 of W --- W is of type G_2, B_2 or F_4), but this endomorphism is no longer q times an endomorphism of finite order; however, up to some power of q, F_0 still takes a form independent of q (but here, q is a power of a fixed prime p equal to 2 or 3 depending on the group considered). This has not yet been implemented.

Subsections

  1. CoxeterCoset
  2. CoxeterSubCoset
  3. Functions on Coxeter cosets
  4. CartanType for Coxeter cosets
  5. ChevieClassInfo for Coxeter cosets
  6. CharTable for Coxeter cosets
  7. Frobenius
  8. PhiFactors

84.1 CoxeterCoset

CoxeterCoset( W[, F0Mat ] )

CoxeterCoset( W[, F0Perm] )

This function returns a Coxeter coset as a GAP object. The argument W must be a Coxeter group (created by CoxeterGroup or ReflectionSubgroup). In the first form the argument F0Mat must be an invertible matrix with Rank(W) rows, representing an automorphism F_0 of the root system of the parent of W. In the second form F0Perm is a permutation which describes the images of the simple roots under F_0 (and only these images are used). Of course this form is only allowed if the semisimple rank of W equals the rank (i.e., the simple roots are a basis of V). If there is no second argument the default for F0Mat is the identity matrix.

CoxeterCoset returns a record from which we document the following components:

isDomain, isFinite:

true

coxeter:

the Coxeter group W

F0Mat:

the matrix acting on V which represents F_0

F0Perm:

the permutation on the roots of W induced by F0Mat

phi:

the shortest element in the coset (as permutation)

w1:

phi/F0Perm

In the first example we create a Coxeter coset corresponding to the general unitary groups GU_3(q) over finite fields with q elements.

    gap> W := CoxeterGroup( [ [ 1, -1, 0 ], [ 0, 1, -1 ] ], 
    >                       [ [ 1, -1, 0 ], [ 0, 1, -1 ] ] );;
    gap> gu3 := CoxeterCoset( W, -IdentityMat( 3 ) );
    CoxeterCoset(CoxeterGroup([ [ 1, -1, 0 ], [ 0, 1, -1 ] ], 
    [ [ 1, -1, 0 ], [ 0, 1, -1 ] ]), 
    [ [ -1, 0, 0 ], [ 0, -1, 0 ], [ 0, 0, -1 ] ])
    gap> F4 := CoxeterGroup( "F", 4 );;
    gap> D4 := ReflectionSubgroup( F4, [ 1, 2, 16, 48 ] );
    ReflectionSubgroup(CoxeterGroup("F", 4), [ 1, 2, 9, 16 ])
    gap> PrintDynkinDiagram( D4 );
    D4   9
          \       
           1 - 16
          /
         2
    gap> 3D4 := CoxeterCoset( D4, (2,9,16) );
    CoxeterCoset(ReflectionSubgroup(CoxeterGroup("F", 4), 
    [ 1, 2, 9, 16 ]), ( 2, 9,16))

These functions require the package "chevie" (see RequirePackage).

84.2 CoxeterSubCoset

CoxeterSubCoset( WF, r, [w] )

Returns the reflection subcoset of the Coxeter coset WF generated by the reflections with roots specified by r. r is a list of indices specifying a subset of the roots of W where W is the Coxeter group CoxeterGroup(WF). If specified, w must be an element of W such that w*WF.F0Perm normalizes the subroot system generated by r. If absent, the default value for w is (). It is an error, if w*WF.F0Perm does not normalize the subsystem.

    gap> CoxeterSubCoset( CoxeterCoset( CoxeterGroup( "A", 2 ), (1,2) ), 
    >                                                              [ 1 ] );
    Error, must give w, such that w * WF.F0Perm normalizes subroot system.
     in
    CoxeterSubCoset(CoxeterCoset(CoxeterGroup("A", 2), (1,2)), [ 1 ]) 
     called from main loop
    brk> 
    gap> f4coset := CoxeterCoset( CoxeterGroup( "F", 4 ) );
    CoxeterCoset(CoxeterGroup("F", 4))
    gap> w := RepresentativeOperation( CoxeterGroup( f4coset ), 
    >                      [ 1, 2, 9, 16 ], [ 1, 9, 16, 2], OnTuples );;  
    gap> 3d4again := CoxeterSubCoset( f4coset, [ 1, 2, 9, 16], w );
    CoxeterSubCoset(CoxeterCoset(CoxeterGroup("F", 4)), [ 1, 2, 9, 16 ], 
    ( 2, 9,16)( 3, 4,31)( 5,11,18)( 6,13,10)( 7,27,28)( 8,15,12)(14,22,20)
    (17,19,21)(26,33,40)(29,35,42)(30,37,34)(32,39,36)(38,46,44)
    (41,43,45))
    gap> PrintDynkinDiagram( 3d4again );
    phi acts as ( 2, 9,16) on the component below
    D4   9
          \       
           1 - 2
          /
         16 

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

84.3 Functions on Coxeter cosets

CoxeterGroup( WF ):

returns the Coxeter group of which WF is a coset.

Quite a few functions defined for domains, permutation groups or Coxeter groups have been implemented to work with Coxeter cosets.

Elements, Random, Representative, Size, in:

these functions use the corresponding functions for CoxeterGroup( WF ).

ConjugacyClasses( WF ):

returns the conjugacy classes of the Coxeter coset WF (see also the introduction of this Chapter). Let W be CoxeterGroup(WF). Then the classes are defined to be the W-orbits on W F_0, where W acts by conjugation (they coincide with the W F_0-orbits, W F_0 acting by the conjugation); by the translation wmapsto wphi^{-1} they are sent to the phi-conjugacy classes of W.

PositionClass( WF , x ):

for any element x in WF this returns the number i such that x is an element of ConjugacyClasses(WF)[i] (to work fast, the classification of Coxeter groups is used).

FusionConjugacyClasses( WF1, WF ):

works in the same way as for groups. See the section CoxeterSubCoset.

Print( WF ):

if WF.name is bound then this is printed, else this function prints the coset in a form which can be input back into GAP.

InductionTable( HF, WF ):

works in the same way as for groups. It gives the induction table from the Coxeter subcoset HF to the Coxeter coset WF. If H wF_0 is a Coxeter subcoset of W F_0, restriction of characters is defined as restriction of functions from W F_0 to H wF_0, and induction as the adjoint map for the natural scalar product < f, g> ={1over #W}sum_{v in W} f(v F_0)overline g(v F_0).
If the Coxeter coset WF represents the reductive group bG, and HF corresponds to a Levi subgroup bL, then the induction from HF to WF describes the Lusztig induction of uniform unipotent almost characters from bL to bG.

Harish-Chandra induction in the basis of almost characters:

    gap> WF := CoxeterCoset( CoxeterGroup( "A", 4 ), (1,4)(2,3) ); 
    CoxeterCoset(CoxeterGroup("A", 4), (1,4)(2,3))
    gap> Display( InductionTable( CoxeterSubCoset( WF, [ 2, 3 ] ), WF ) );
          
tt |
 111 21 3
    ________________
    11111 
tt |
   1  . .
    2111  
tt |
   .  1 .
    221   
tt |
   1  . .
    311   
tt |
   1  . 1
    32    
tt |
   .  . 1
    41    
tt |
   .  1 .
    5     
tt | . . 1

Lusztig induction from a diagonal Levi:

    gap> HF := CoxeterSubCoset( WF, [1, 2], 
    >                LongestCoxeterElement( CoxeterGroup( WF ) ) );;
    gap> Display( InductionTable( HF, WF ) );

tt |
 111 21  3
    _________________
    11111 
tt |
  -1  .  .
    2111  
tt |
  -2 -1  .
    221   
tt |
  -1 -2  .
    311   
tt |
   1  2 -1
    32    
tt |
   . -2  1
    41    
tt |
   .  1 -2
    5     
tt | . . 1

A descent of scalars:

    gap> W := CoxeterCoset( CoxeterGroup( "A", 2, "A", 2 ), (1,3)(2,4) ); 
    CoxeterCoset(CoxeterGroup("A", 2, "A", 2), (1,3)(2,4))
    gap> Display( InductionTable( CoxeterSubCoset( W, [ 1, 3 ] ), W ) );
        
tt |
 11 2
    __________
    111 
tt |
  1 .
    21  
tt |
  1 1
    3   
tt | . 1

CartanName( WF ):

returns a string which describes the isomorphism type of the group Wrtimes < F> , associated to WF, as described in the introduction of this Chapter. An orbit of phi=WF.phi on the components is put in brackets if of length k greater than 1, and is preceded by the order of phi^k on it, if this is not 1. For example "2(A2xA2)" denotes 2 components of type A_2 permuted by F_0, and such that phi^2 induces the non-trivial diagram automorphism on any of them, while 3D4 denotes an orbit of length 1 on which phi is of order 3.

    gap> W := CoxeterCoset( CoxeterGroup( "A", 2, "G", 2, "A", 2 ), 
    >                                                       (1,5,2,6) );
    CoxeterCoset(CoxeterGroup("A", 2, "G", 2, "A", 2), (1,5,2,6))
    gap> CartanName( W );
    "2(A2xA2)xG2" 

PrintDynkinDiagram( WF ):

this is a purely descriptive routine (as was already the case for finite Coxeter groups themselves). It prints the Dynkin diagram of CoxeterGroup(WF) together with the information how WF.phi acts on it.

    gap> W := CoxeterCoset( CoxeterGroup( "A", 2, "A", 2 ), (1,3,2,4) );
    CoxeterCoset(CoxeterGroup("A", 2, "A", 2), (1,3,2,4))
    gap> PrintDynkinDiagram( W );
    phi permutes the next 2 components
    phi^2 acts as (1,2) on the component below
    A2    1 - 2
    A2    3 - 4 

ChevieClassInfo( WF ), see the explicit description in ChevieClassInfo for Coxeter cosets.

ChevieCharInfo:

This function returns additional information on the irreducible characters, see ChevieCharInfo for more details.

CharParams( WF ) CharName( WF )

Note that some functions for elements of a Coxeter group work naturally for elements of a Coxeter coset: CoxeterWord, PermCoxeterWord, CoxeterLength, ReducedInCoxeterCoset, LeftDescentSet, RightDescentSet, etcldots

84.4 CartanType for Coxeter cosets

CartanType( WF )

returns the type of the Coxeter coset WF. This consists of a list of records, one for each orbit of WF.phi on the irreducible components of the Dynkin diagram of CoxeterGroup(WF), which have two fields:

orbit:

is a list of types of the irreducible components in the orbit. These types are the same as returned by the function CartanType for an irreducible untwisted Coxeter group (see CartanType in chapter Root systems and finite Coxeter groups): a couple [type,indices] (a triple for type I_2(n)). The components are ordered according to the action of WF.phi, so WF.phi maps the generating permutations with indices in the first type to indices in the second type in the same order as stored in the type, etc ldots
phi:
if k is the number of irreducible components in the orbit, this is the permutation which describes the action of WF.phi^k on the simple roots of the first irreducible component in the orbit.

    gap> W := CoxeterCoset( CoxeterGroup( "A", 2, "A", 2 ), (1,3,2,4) );
    CoxeterCoset(CoxeterGroup("A", 2, "A", 2), (1,3,2,4))
    gap> CartanType( W );
    [ rec(
          orbit := [ [ "A", [ 1, 2 ] ], [ "A", [ 3, 4 ] ] ],
          phi := (1,2) ) ]

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

84.5 ChevieClassInfo for Coxeter cosets

ChevieClassInfo( WF )

returns information about the conjugacy classes of the Coxeter coset WF. The result is a record with three components: classtext contains a list of reduced words for the representatives in ConjugacyClasses(WF), classnames contains corresponding names for the classes, and classparams gives corresponding parameters for the classes. Let W be the Coxeter group CoxeterGroup(WF). In the case where -1notin W, i.e., phi=-w_0, they are obtained by multiplying by w_0 a set of representatives of it maximal length of the classes of W.

    gap> W := CoxeterGroup( "D", 4 );;
    gap> ChevieClassInfo( CoxeterCoset( W, (1,2,4) ) );
    rec(
      classtext := [ [ 1 ], [  ], [ 1, 2, 3, 1, 2, 3 ], [ 3 ], [ 1, 3 ], 
          [ 1, 2, 3, 1, 2, 4, 3, 2 ], [ 1, 2, 3, 2 ] ],
      classparams := 
       [ [ "C_3" ], [ "~A_2" ], [ "C_3+A_1" ], [ "~A_2+A_1" ], [ "F_4" ], 
          [ "~A_2+A_2" ], [ "F_4(a_1)" ] ],
      classnames := 
       [ "C_3", "~A_2", "C_3+A_1", "~A_2+A_1", "F_4", "~A_2+A_2", 
          "F_4(a_1)" ] ) 

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

84.6 CharTable for Coxeter cosets

CharTable( WF )

This function returns the character table of the Coxeter coset WF (see also the introduction of this Chapter). We call ``characters'' of the Coxeter coset WF with corresponding Coxeter group W the restriction to W F_0 of a set containing one extension of each F_0-invariant character of W to the semidirect product of W with the cyclic group generated by F_0. (We choose, following Lusztig, in each case one non-canonical extension, called the preferred extension.)

The returned record contains almost all components present in the character table of a Coxeter group. But if F_0 is not trivial then there are no components powermap (since powers of elements in the coset need not be in the coset) and orders (if you really need them, use MatXPerm to determine the order of elements in the coset).

    gap> W := CoxeterCoset( CoxeterGroup( "D", 4 ), (1,2,4) );
    CoxeterCoset(CoxeterGroup("D", 4), (1,2,4))
    gap> Display( CharTable( W ) );
    W( 3D4 )

2 2 2 2 2 2 3 3 3 1 1 1 . . 1 1

C_3 ~A_2 C_3+A_1 ~A_2+A_1 F_4 ~A_2+A_2 F_4(a_1)

.4 1 1 1 1 1 1 1 .1111 -1 1 1 -1 1 1 1 .22 . 2 2 . -1 -1 -1 11.2 . . . . -1 3 3 1.3 1 1 -1 -1 . -2 2 1.111 -1 1 -1 1 . -2 2 1.21 . 2 -2 . . 2 -2

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

84.7 Frobenius

Frobenius( WF )( word )

Frobenius( WF )( permutation )

Frobenius( WF )( rec )

Given a Coxeter coset WF, Frobenius(WF) returns a function which makes WF.F0Perm act on its argument which may be either a CoxeterWord, a permutation, a braid or a Hecke element. For instance, if H is an Hecke algebra for CoxeterGroup(WF), to compute (T_w F_0)^2 in that algebra one can do Basis(H,"T")(w)*Frobenius(WF)((Basis(H,"T")(w))).

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

84.8 PhiFactors

PhiFactors( WF )

Let W be the Coxeter group corresponding to the Coxeter coset WF, and let V be the vector space of dimension W.rank on which W acts as a reflection group. Let f_1,ldots,f_n be the basic invariants of W on the symmetric algebra SV of V. The matrix WF.F0Mat has the f_i as eigenvectors. The corresponding eigenvalues, sorted in order of increasing degrees of the f_i are called the factors of F_0 acting on V.

    gap> W := CoxeterGroup( "E", 6 );; WF := CoxeterCoset( W );
    CoxeterCoset(CoxeterGroup("E", 6))
    gap> phi := PermCoxeterWord( W, 
    >       [ 6, 5, 4, 2, 3, 1, 4, 3, 5, 4, 2, 6, 5, 4, 3, 1 ] );;
    gap> HF := CoxeterSubCoset( WF, [ 2..5 ], phi );;
    gap> PrintDynkinDiagram( HF );
    phi acts as (2,3,5) on the component below
    D4   2
          \
           4 - 5
          /
         3
    gap> PhiFactors( HF );
    [ E(3), E(3)^2, 1, E(3), E(3)^2, 1 ]
    gap> ReflectionDegrees( CoxeterGroup( HF ) );
    [ 1, 1, 2, 4, 4, 6 ] 

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

Previous Up Next
Index

GAP 3.4.4
April 1997
======= Coxeter cosets are implemented in GAP by a record which points to a Coxeter datum record and has additional fields holding F0Mat, F0Perm and the corresponding reduced element phi. Functions on the coset work with elements of the group coset W F_0 (for example, ChevieClassInfo); however, most definitions for elements of untwisted Coxeter groups apply without change to elements in W F_0: e.g., if we define the length of an element wphi in W F_0 as the number of positive roots it sends to negative ones, it is the same as the length of w, i.e., phi is of length 0, since phi has been chosen to preserve the set of positive roots. Similarly, the CoxeterWord describing wphi is the same as the one for w, etcldots

We associate to a Coxeter coset WF_0 a twisted Dynkin diagram, consisting of the Dynkin diagram of W and the graph automorphism induced by phi on this diagram (this specifies the group Wrtimes < F> , mentioned above, up to isomorphism). See the commands CartanType, CartanName and PrintDynkinDiagram for Coxeter cosets.

The motivation for introducing this notion comes from the theory of Chevalley groups, or more generally reductive algebraic groups over finite fields. Let bG be a reductive algebraic group over the algebraic closure overlineFF_q of a finite field FF_q, which is defined over FF_q, with corresponding Frobenius endomorphism F, so the finite group of rational points bG(FF_q) identifies to the subgroup bG^F of fixed points under F. Let bT be an F-stable maximal torus of bG. The Weyl group of bG with respect to bT is the quotient W=N_bG(bT)/bT. Let X(bT) be the character group of bT, that is the group of rational homomorphisms bTtooverline FF_q. The group W acts naturally on X(bT), and thus also on the vector space V=RR otimes X(bT). It is a fundamental fact in the theory of reductive groups that there is a canonical root system Phi in V defined by (bG,bT) such that W is the Weyl group of that root system.

The Frobenius endomorphism F acts also naturally on X(T) and defines thus an endomorphism of V, which is of the form q F_0, where F_0 is an automorphism of finite order of V. We get thus a Coxeter datum (V,W, F_0).

To completely specify bG^F up to isomorphism, we need a little more information. Let Y(bT) be the group of cocharacters of bT, that is of rational homomorphisms overlineFF_qtobT. The ZZ-modules X(bT) and Y(bT) are naturally dual to each other, and there is a canonical root system Phidual in Y(bT) dual to Phi. Let Vdual= RR otimes Y(bT). The classification theorems on reductive groups show that the isomorphism type of bG^F is completely determined by the datum (V,Phi,Vdual,Phidual, F_0), and the integer q. Thus we can think of this datum as a way of representing in GAP the essential information which determines a Chevalley group. Indeed, all properties of Chevalley groups can be computed from its Weyl datum: symbols representing unipotent characters, conjugacy classes, and finally the whole character table of bG^F.

It turns out that an interesting part of the objects attached to this datum depends only on (V,W, F_0): the order of the maximal tori, the ``fake degrees", the order of bG^F, Deligne-Lusztig induction in terms of ``almost characters", symbols representing unipotent characters and Deligne-Lusztig induction, etcldots (see, e.g., BMM93). It is thus possible to extend their construction to non-crystallographic groups (or even to more general complex reflection groups); this is why we did not include Phi in the definition of a Coxeter coset.

However, in GAP we will always have the whole datum (V,Phi,Vdual,Phidual, F_0). We assume that we have chosen a Borel subgroup of bG containing bT. This defines an order on the roots, and thus a basis Pi of Phi as well as a basis Pidual of Phidual. Any element of W F_0 induces a permutation of the roots, and there is a unique element phi in W F_0, which we call the reduced element in the coset, which preserves the set of positive roots. This element is stored in the component phi of the coset, and can be used to test isomorphism of cosets. The coset W F_0 is completely defined by the permutation F0Perm of the roots induced by F_0 when bG is semi-simple (in which case Phi generates V). So in this case we just need to specify F0Perm when defining the coset.

We should mention also a special case of Chevalley groups which does not exactly fit the above description: the Ree and Suzuki groups. In these cases, the group is defined as bG^F where F is not a Frobenius endomorphism, but an isogeny such that either F^2 or F^3 is a Frobenius endomorphism. Here, F still defines an endomorphism of V which normalizes W (and induces the automorphism of order 2 of W --- W is of type G_2, B_2 or F_4), but this endomorphism is no longer q times an endomorphism of finite order; however, up to some power of q, F_0 still takes a form independent of q (but here, q is a power of a fixed prime p equal to 2 or 3 depending on the group considered). This has not yet been implemented.

Subsections

  1. CoxeterCoset
  2. CoxeterSubCoset
  3. Functions on Coxeter cosets
  4. CartanType for Coxeter cosets
  5. ChevieClassInfo for Coxeter cosets
  6. CharTable for Coxeter cosets
  7. Frobenius
  8. PhiFactors

84.1 CoxeterCoset

CoxeterCoset( W[, F0Mat ] )

CoxeterCoset( W[, F0Perm] )

This function returns a Coxeter coset as a GAP object. The argument W must be a Coxeter group (created by CoxeterGroup or ReflectionSubgroup). In the first form the argument F0Mat must be an invertible matrix with Rank(W) rows, representing an automorphism F_0 of the root system of the parent of W. In the second form F0Perm is a permutation which describes the images of the simple roots under F_0 (and only these images are used). Of course this form is only allowed if the semisimple rank of W equals the rank (i.e., the simple roots are a basis of V). If there is no second argument the default for F0Mat is the identity matrix.

CoxeterCoset returns a record from which we document the following components:

isDomain, isFinite:

true

coxeter:

the Coxeter group W

F0Mat:

the matrix acting on V which represents F_0

F0Perm:

the permutation on the roots of W induced by F0Mat

phi:

the shortest element in the coset (as permutation)

w1:

phi/F0Perm

In the first example we create a Coxeter coset corresponding to the general unitary groups GU_3(q) over finite fields with q elements.

    gap> W := CoxeterGroup( [ [ 1, -1, 0 ], [ 0, 1, -1 ] ], 
    >                       [ [ 1, -1, 0 ], [ 0, 1, -1 ] ] );;
    gap> gu3 := CoxeterCoset( W, -IdentityMat( 3 ) );
    CoxeterCoset(CoxeterGroup([ [ 1, -1, 0 ], [ 0, 1, -1 ] ], 
    [ [ 1, -1, 0 ], [ 0, 1, -1 ] ]), 
    [ [ -1, 0, 0 ], [ 0, -1, 0 ], [ 0, 0, -1 ] ])
    gap> F4 := CoxeterGroup( "F", 4 );;
    gap> D4 := ReflectionSubgroup( F4, [ 1, 2, 16, 48 ] );
    ReflectionSubgroup(CoxeterGroup("F", 4), [ 1, 2, 9, 16 ])
    gap> PrintDynkinDiagram( D4 );
    D4   9
          \       
           1 - 16
          /
         2
    gap> 3D4 := CoxeterCoset( D4, (2,9,16) );
    CoxeterCoset(ReflectionSubgroup(CoxeterGroup("F", 4), 
    [ 1, 2, 9, 16 ]), ( 2, 9,16))

These functions require the package "chevie" (see RequirePackage).

84.2 CoxeterSubCoset

CoxeterSubCoset( WF, r, [w] )

Returns the reflection subcoset of the Coxeter coset WF generated by the reflections with roots specified by r. r is a list of indices specifying a subset of the roots of W where W is the Coxeter group CoxeterGroup(WF). If specified, w must be an element of W such that w*WF.F0Perm normalizes the subroot system generated by r. If absent, the default value for w is (). It is an error, if w*WF.F0Perm does not normalize the subsystem.

    gap> CoxeterSubCoset( CoxeterCoset( CoxeterGroup( "A", 2 ), (1,2) ), 
    >                                                              [ 1 ] );
    Error, must give w, such that w * WF.F0Perm normalizes subroot system.
     in
    CoxeterSubCoset(CoxeterCoset(CoxeterGroup("A", 2), (1,2)), [ 1 ]) 
     called from main loop
    brk> 
    gap> f4coset := CoxeterCoset( CoxeterGroup( "F", 4 ) );
    CoxeterCoset(CoxeterGroup("F", 4))
    gap> w := RepresentativeOperation( CoxeterGroup( f4coset ), 
    >                      [ 1, 2, 9, 16 ], [ 1, 9, 16, 2], OnTuples );;  
    gap> 3d4again := CoxeterSubCoset( f4coset, [ 1, 2, 9, 16], w );
    CoxeterSubCoset(CoxeterCoset(CoxeterGroup("F", 4)), [ 1, 2, 9, 16 ], 
    ( 2, 9,16)( 3, 4,31)( 5,11,18)( 6,13,10)( 7,27,28)( 8,15,12)(14,22,20)
    (17,19,21)(26,33,40)(29,35,42)(30,37,34)(32,39,36)(38,46,44)
    (41,43,45))
    gap> PrintDynkinDiagram( 3d4again );
    phi acts as ( 2, 9,16) on the component below
    D4   9
          \       
           1 - 2
          /
         16 

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

84.3 Functions on Coxeter cosets

CoxeterGroup( WF ):

returns the Coxeter group of which WF is a coset.

Quite a few functions defined for domains, permutation groups or Coxeter groups have been implemented to work with Coxeter cosets.

Elements, Random, Representative, Size, in:

these functions use the corresponding functions for CoxeterGroup( WF ).

ConjugacyClasses( WF ):

returns the conjugacy classes of the Coxeter coset WF (see also the introduction of this Chapter). Let W be CoxeterGroup(WF). Then the classes are defined to be the W-orbits on W F_0, where W acts by conjugation (they coincide with the W F_0-orbits, W F_0 acting by the conjugation); by the translation wmapsto wphi^{-1} they are sent to the phi-conjugacy classes of W.

PositionClass( WF , x ):

for any element x in WF this returns the number i such that x is an element of ConjugacyClasses(WF)[i] (to work fast, the classification of Coxeter groups is used).

FusionConjugacyClasses( WF1, WF ):

works in the same way as for groups. See the section CoxeterSubCoset.

Print( WF ):

if WF.name is bound then this is printed, else this function prints the coset in a form which can be input back into GAP.

InductionTable( HF, WF ):

works in the same way as for groups. It gives the induction table from the Coxeter subcoset HF to the Coxeter coset WF. If H wF_0 is a Coxeter subcoset of W F_0, restriction of characters is defined as restriction of functions from W F_0 to H wF_0, and induction as the adjoint map for the natural scalar product < f, g> ={1over #W}sum_{v in W} f(v F_0)overline g(v F_0).
If the Coxeter coset WF represents the reductive group bG, and HF corresponds to a Levi subgroup bL, then the induction from HF to WF describes the Lusztig induction of uniform unipotent almost characters from bL to bG.

Harish-Chandra induction in the basis of almost characters:

    gap> WF := CoxeterCoset( CoxeterGroup( "A", 4 ), (1,4)(2,3) ); 
    CoxeterCoset(CoxeterGroup("A", 4), (1,4)(2,3))
    gap> Display( InductionTable( CoxeterSubCoset( WF, [ 2, 3 ] ), WF ) );
          
tt |
 111 21 3
    ________________
    11111 
tt |
   1  . .
    2111  
tt |
   .  1 .
    221   
tt |
   1  . .
    311   
tt |
   1  . 1
    32    
tt |
   .  . 1
    41    
tt |
   .  1 .
    5     
tt | . . 1

Lusztig induction from a diagonal Levi:

    gap> HF := CoxeterSubCoset( WF, [1, 2], 
    >                LongestCoxeterElement( CoxeterGroup( WF ) ) );;
    gap> Display( InductionTable( HF, WF ) );

tt |
 111 21  3
    _________________
    11111 
tt |
  -1  .  .
    2111  
tt |
  -2 -1  .
    221   
tt |
  -1 -2  .
    311   
tt |
   1  2 -1
    32    
tt |
   . -2  1
    41    
tt |
   .  1 -2
    5     
tt | . . 1

A descent of scalars:

    gap> W := CoxeterCoset( CoxeterGroup( "A", 2, "A", 2 ), (1,3)(2,4) ); 
    CoxeterCoset(CoxeterGroup("A", 2, "A", 2), (1,3)(2,4))
    gap> Display( InductionTable( CoxeterSubCoset( W, [ 1, 3 ] ), W ) );
        
tt |
 11 2
    __________
    111 
tt |
  1 .
    21  
tt |
  1 1
    3   
tt | . 1

CartanName( WF ):

returns a string which describes the isomorphism type of the group Wrtimes < F> , associated to WF, as described in the introduction of this Chapter. An orbit of phi=WF.phi on the components is put in brackets if of length k greater than 1, and is preceded by the order of phi^k on it, if this is not 1. For example "2(A2xA2)" denotes 2 components of type A_2 permuted by F_0, and such that phi^2 induces the non-trivial diagram automorphism on any of them, while 3D4 denotes an orbit of length 1 on which phi is of order 3.

    gap> W := CoxeterCoset( CoxeterGroup( "A", 2, "G", 2, "A", 2 ), 
    >                                                       (1,5,2,6) );
    CoxeterCoset(CoxeterGroup("A", 2, "G", 2, "A", 2), (1,5,2,6))
    gap> CartanName( W );
    "2(A2xA2)xG2" 

PrintDynkinDiagram( WF ):

this is a purely descriptive routine (as was already the case for finite Coxeter groups themselves). It prints the Dynkin diagram of CoxeterGroup(WF) together with the information how WF.phi acts on it.

    gap> W := CoxeterCoset( CoxeterGroup( "A", 2, "A", 2 ), (1,3,2,4) );
    CoxeterCoset(CoxeterGroup("A", 2, "A", 2), (1,3,2,4))
    gap> PrintDynkinDiagram( W );
    phi permutes the next 2 components
    phi^2 acts as (1,2) on the component below
    A2    1 - 2
    A2    3 - 4 

ChevieClassInfo( WF ), see the explicit description in ChevieClassInfo for Coxeter cosets.

ChevieCharInfo:

This function returns additional information on the irreducible characters, see ChevieCharInfo for more details.

CharParams( WF ) CharName( WF )

Note that some functions for elements of a Coxeter group work naturally for elements of a Coxeter coset: CoxeterWord, PermCoxeterWord, CoxeterLength, ReducedInCoxeterCoset, LeftDescentSet, RightDescentSet, etcldots

84.4 CartanType for Coxeter cosets

CartanType( WF )

returns the type of the Coxeter coset WF. This consists of a list of records, one for each orbit of WF.phi on the irreducible components of the Dynkin diagram of CoxeterGroup(WF), which have two fields:

orbit:

is a list of types of the irreducible components in the orbit. These types are the same as returned by the function CartanType for an irreducible untwisted Coxeter group (see CartanType in chapter Root systems and finite Coxeter groups): a couple [type,indices] (a triple for type I_2(n)). The components are ordered according to the action of WF.phi, so WF.phi maps the generating permutations with indices in the first type to indices in the second type in the same order as stored in the type, etc ldots
phi:
if k is the number of irreducible components in the orbit, this is the permutation which describes the action of WF.phi^k on the simple roots of the first irreducible component in the orbit.

    gap> W := CoxeterCoset( CoxeterGroup( "A", 2, "A", 2 ), (1,3,2,4) );
    CoxeterCoset(CoxeterGroup("A", 2, "A", 2), (1,3,2,4))
    gap> CartanType( W );
    [ rec(
          orbit := [ [ "A", [ 1, 2 ] ], [ "A", [ 3, 4 ] ] ],
          phi := (1,2) ) ]

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

84.5 ChevieClassInfo for Coxeter cosets

ChevieClassInfo( WF )

returns information about the conjugacy classes of the Coxeter coset WF. The result is a record with three components: classtext contains a list of reduced words for the representatives in ConjugacyClasses(WF), classnames contains corresponding names for the classes, and classparams gives corresponding parameters for the classes. Let W be the Coxeter group CoxeterGroup(WF). In the case where -1notin W, i.e., phi=-w_0, they are obtained by multiplying by w_0 a set of representatives of it maximal length of the classes of W.

    gap> W := CoxeterGroup( "D", 4 );;
    gap> ChevieClassInfo( CoxeterCoset( W, (1,2,4) ) );
    rec(
      classtext := [ [ 1 ], [  ], [ 1, 2, 3, 1, 2, 3 ], [ 3 ], [ 1, 3 ], 
          [ 1, 2, 3, 1, 2, 4, 3, 2 ], [ 1, 2, 3, 2 ] ],
      classparams := 
       [ [ "C_3" ], [ "~A_2" ], [ "C_3+A_1" ], [ "~A_2+A_1" ], [ "F_4" ], 
          [ "~A_2+A_2" ], [ "F_4(a_1)" ] ],
      classnames := 
       [ "C_3", "~A_2", "C_3+A_1", "~A_2+A_1", "F_4", "~A_2+A_2", 
          "F_4(a_1)" ] ) 

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

84.6 CharTable for Coxeter cosets

CharTable( WF )

This function returns the character table of the Coxeter coset WF (see also the introduction of this Chapter). We call ``characters'' of the Coxeter coset WF with corresponding Coxeter group W the restriction to W F_0 of a set containing one extension of each F_0-invariant character of W to the semidirect product of W with the cyclic group generated by F_0. (We choose, following Lusztig, in each case one non-canonical extension, called the preferred extension.)

The returned record contains almost all components present in the character table of a Coxeter group. But if F_0 is not trivial then there are no components powermap (since powers of elements in the coset need not be in the coset) and orders (if you really need them, use MatXPerm to determine the order of elements in the coset).

    gap> W := CoxeterCoset( CoxeterGroup( "D", 4 ), (1,2,4) );
    CoxeterCoset(CoxeterGroup("D", 4), (1,2,4))
    gap> Display( CharTable( W ) );
    W( 3D4 )

2 2 2 2 2 2 3 3 3 1 1 1 . . 1 1

C_3 ~A_2 C_3+A_1 ~A_2+A_1 F_4 ~A_2+A_2 F_4(a_1)

.4 1 1 1 1 1 1 1 .1111 -1 1 1 -1 1 1 1 .22 . 2 2 . -1 -1 -1 11.2 . . . . -1 3 3 1.3 1 1 -1 -1 . -2 2 1.111 -1 1 -1 1 . -2 2 1.21 . 2 -2 . . 2 -2

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

84.7 Frobenius

Frobenius( WF )( word )

Frobenius( WF )( permutation )

Frobenius( WF )( rec )

Given a Coxeter coset WF, Frobenius(WF) returns a function which makes WF.F0Perm act on its argument which may be either a CoxeterWord, a permutation, a braid or a Hecke element. For instance, if H is an Hecke algebra for CoxeterGroup(WF), to compute (T_w F_0)^2 in that algebra one can do Basis(H,"T")(w)*Frobenius(WF)((Basis(H,"T")(w))).

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

84.8 PhiFactors

PhiFactors( WF )

Let W be the Coxeter group corresponding to the Coxeter coset WF, and let V be the vector space of dimension W.rank on which W acts as a reflection group. Let f_1,ldots,f_n be the basic invariants of W on the symmetric algebra SV of V. The matrix WF.F0Mat has the f_i as eigenvectors. The corresponding eigenvalues, sorted in order of increasing degrees of the f_i are called the factors of F_0 acting on V.

    gap> W := CoxeterGroup( "E", 6 );; WF := CoxeterCoset( W );
    CoxeterCoset(CoxeterGroup("E", 6))
    gap> phi := PermCoxeterWord( W, 
    >       [ 6, 5, 4, 2, 3, 1, 4, 3, 5, 4, 2, 6, 5, 4, 3, 1 ] );;
    gap> HF := CoxeterSubCoset( WF, [ 2..5 ], phi );;
    gap> PrintDynkinDiagram( HF );
    phi acts as (2,3,5) on the component below
    D4   2
          \
           4 - 5
          /
         3
    gap> PhiFactors( HF );
    [ E(3), E(3)^2, 1, E(3), E(3)^2, 1 ]
    gap> ReflectionDegrees( CoxeterGroup( HF ) );
    [ 1, 1, 2, 4, 4, 6 ] 

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

Previous Up Next
Index

GAP 3.4.4
January 1997