82 Coxeter cosets

Let R be a root system in the real vector space V as in Chapter Root systems and finite Coxeter groups. We say that F0GL(V) is an automorphism of R if it is of finite order, it preserves the set of roots R⊂ V and the dual F0*GL(V) preserves the set of coroots R⊂ V.

Such an F0 normalizes the reflection group W associated to R, that is w→ F0wF0-1 is an automorphism F: W→ W. Thus (see Reflection cosets) we get a reflection coset WF0, called here a Coxeter coset. Note that we did not assume that the root system was crystallographic, so our situation encompasses both roots systems for the non-crystallographic Coxeter groups like the dihedral groups and H3 and H4, and non-crystallographic root systems for Weyl groups, like systems for B2, G2 and F4 where all roots have the same length.

Let Δ⊂ R be a set of simple roots of R. Then the set Δ F0 is again a set of simple roots. So there is a unique element φ of the coset WF0 which stabilizes Δ. So we will consider now only cosets of the form where φ stabilizes Δ.

Conjugacy classes an irreducible characters of such a coset are defined as for general reflection cosets. For the matter of irreducible characters, in CHEVIE we choose (following Lusztig) for each F-stable character of W a single (not canonical) extension to a character of ⟨ W,φ ⟩, which we will call a preferred extension. The table of the restrictions of the preferred extensions to the coset is called the character table of the coset . (See also the section below CharTable for Coxeter cosets.)

A subcoset W1w1φ of is given by a reflection subgroup W1 of W and an element w1 of W such that w1φ is an automorphism of the root system R1 of W1.

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 φΔ=φ, i.e., φ fixes a chosen set Δ of simple roots. Then ⟨ W,φ ⟩ is a semi-direct product W⋉⟨ φ⟩. The automorphism φ permutes the irreducible components of W, and is a direct product of cosets where φ permutes cyclically the irreducible components of W. The preferred extensions are defined to be the direct product of the preferred extension in each of these situations.

Assume now that W is decomposed in irreducible components W=W1x ... x Wk which are cyclically permuted by φ. In this case there are natural bijections from the φ-conjugacy classes of W to the φk-conjugacy classes of W1 as well as from the φ-stable characters of W to the φk-stable characters of W1. The definition of preferred extensions on can be reduced to the definition of preferred extensions for W1φk.

We now assume that W is the Coxeter group of an irreducible root system and φ permutes the simple roots, hence induces a graph automorphism on the corresponding Dynkin diagram. If φ=1 then conjugacy classes and characters coincide with those of the Coxeter group W. The nontrivial cases to consider are (the order of φ is written as left exponent to the type): 2An, 2Dn, 3D4, 2E6 and 2I2(2k+1). Note that the exceptional automorphisms of order 2 which permute the Coxeter generators of the Coxeter groups of type B2, G2, F4 or I2(2k) need non-crystallographic root systems where all the roots have the same length to be realized as automorphisms of the root systems.

In case 3D4 the group W⋉⟨ φ⟩ can be embedded into the Coxeter group of type F4, 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 2Dn the group W⋉⟨ φ⟩ is isomorphic to a Coxeter group of type Bn. 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 Bn. In the remaining cases the group W⋉⟨ φ⟩ is in fact isomorphic to a direct product Wx ⟨ w0φ⟩ where w0 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 w0φ.

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 phiMat of the map φ:V→ V (see the commands CoxeterCoset and CoxeterSubCoset). As it is true for the Coxeter groups the elements of are uniquely determined by the permutation they induce on the set of roots R. We consider these permutations as Elements of the Coxeter coset.

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

We associate to a Coxeter coset a twisted Dynkin diagram, consisting of the Dynkin diagram of W and the graph automorphism induced by φ on this diagram (this specifies the group W⋉⟨ F⟩, mentioned above, up to isomorphism). See the commands ReflectionType, ReflectionName and PrintDiagram for Coxeter cosets.

The motivation for introducing Coxeter cosets comes from the theory of Chevalley groups, or more generally reductive algebraic groups over finite fields. Let us, as in the chapter Algebraic groups and semi-simple elements fix a connected reductive algebraic group G over this time the algebraic closure Fq of a finite field Fq; we assume G is defined over Fq, which corresponds to be given a Frobenius endomorphism F so that the finite group of rational points G(Fq) identifies to the subgroup GF of fixed points under F.

Let T be a maximal torus of G, and Φ (resp. Φ) be the roots (resp. coroots) of G with respect to T in the character group X(T) (resp. the group of one-parameter subgroups Y(T)). As explained in Algebraic groups and semi-simple elements the G is determined up to isomorphism by (X(T),Φ,Y(T),Φ) and in GAP\ this corresponds to give a rational reflection group W=NG(T)/T acting on the vector space V=Q⊗ X(T) together with a 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 φ, where φ∈GL(V) is of finite order and normalizes W. We get thus a Coxeter coset Wφ⊂GL(V). The isomorphism type of GF is completely determined by (X(T),Φ,Y(T),Φ,φ), 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 GF.

It turns out that an interesting part of the objects attached to this datum depends only on (V,W, φ): the order of the maximal tori, the ``fake degrees", the order of GF, Deligne-Lusztig induction in terms of ``almost characters", symbols representing unipotent characters and Deligne-Lusztig induction, etc... (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 a root system in the definition of a reflection coset.

We assume that we have T such that is is contained in an F-stable Borel subgroup of G. This defines an order on the roots, and thus a basis Π of Φ as well as a basis Π of Φ. Any element of W φ induces a permutation of the roots, and there is a unique element φ∈ W φ, 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 φ is completely defined by the permutation phi of the roots induced by φ when G is semi-simple (in which case Φ generates V). So in this case we just need to specify phi 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 GF where F is not a Frobenius endomorphism, but an isogeny such that F2 is a Frobenius endomorphism. Here, F still defines an endomorphism of V which normalizes W (and induces an automorphism of order 2 of W, which is of type G2, B2 or F4), and this time this endomorphism is an endomorphism of finite order up to some power of √ 2 or √ 3 (here F2 is attached to an Fq-structure where q is a power of 2 or 3). To implement this, we need to start from root systems for G2, B2 or F4 where all the roots have the same length. Below is an example:

  gap> 2B2:=CoxeterCoset(CoxeterGroup("B",2),(1,2));
  Error, #I transposed of matrix for F0 must normalize set of coroots of parent.
   in
   CoxeterCoset( CoxeterGroup( "B", 2 ), (1,2) ) called from
   main loop
   brk>
   gap> 2B2:=CoxeterCoset(CoxeterGroup("Bsym",2),(1,2));
   2Bsym2
   gap> Display(CharTable(2B2));
   2Bsym2

        2 1      2     2

           	 1   121

   2.     1      1     1
   .11    1     -1    -1
   1.1    . -ER(2) ER(2)

Subsections

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

82.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 F0 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 F0 (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

phiMat:

the matrix acting on V which represents the unique element φ in WF0 which preserves the positive roots.

phi:

the permutation on the roots of W induced by phiMat (the shortest element in the coset).

In the first example we create a Coxeter coset corresponding to the general unitary groups GU3(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 ) );
    2A2.(q+1)
    gap> F4 := CoxeterGroup( "F", 4 );;
    gap> D4 := ReflectionSubgroup( F4, [ 1, 2, 16, 48 ] );
    ReflectionSubgroup(CoxeterGroup("F",4), [ 1, 2, 9, 16 ])
    gap> PrintDiagram( D4 );
    D4   9
          \
           1 - 16
          /
         2
    gap> 3D4 := CoxeterCoset( D4, MatXPerm(D4,(2,9,16)) );
    3D4<9,16,1,2>

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

82.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.phi normalizes the subroot system generated by r. If absent, the default value for w is (). It is an error, if w*WF.phi does not normalize the subsystem.

    gap> CoxeterSubCoset( CoxeterCoset( CoxeterGroup( "A", 2 ), (1,2) ),
    >                                                              [ 1 ] );
    Error, must give w, such that w * WF.phi normalizes subroot system.
     in
    CoxeterSubCoset(CoxeterCoset(CoxeterGroup("A",2), (1,2)), [ 1 ])
     called from main loop
    brk>
    gap> f4coset := CoxeterCoset( CoxeterGroup( "F", 4 ) );
    F4
    gap> w := RepresentativeOperation( CoxeterGroup( f4coset ),
    >                      [ 1, 2, 9, 16 ], [ 1, 9, 16, 2], OnTuples );;
    gap> 3d4again := CoxeterSubCoset( f4coset, [ 1, 2, 9, 16], w );
    3D4<9,16,1,2>
    gap> PrintDiagram( 3d4again );
    phi acts as ( 2, 9,16) on the component below
    D4   9
          \
           1 - 2
          /
         16 

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

82.3 Functions on Coxeter cosets

All functions for reflection cosets are implemented for Coxeter cosets.

This includes Group( WF ) which returns the Coxeter group of which WF is a coset; the functions Elements, Random, Representative, Size, in, which use the corresponding functions for Group( WF ); ConjugacyClasses( WF ), which returns the φ-conjugacy classes of W; the corresponding PositionClass( WF , x ) and FusionConjugacyClasses( WF1, WF ), InductionTable( HF, WF ).

If the coset corresponds to a finite reductive group GF, the characters of the coset correspond to unipotent Deligne-Lusztig characters, and the induction from a subcoset corresponding to a Levi subgroup corresponds to the Lusztig induction of the Deligne-Lusztig characters (see more details in the next chapter).

Harish-Chandra induction in the basis of almost characters:

    gap> WF := CoxeterCoset( CoxeterGroup( "A", 4 ), (1,4)(2,3) );
    2A4
    gap> Display( InductionTable( CoxeterSubCoset( WF, [ 2, 3 ] ), WF ) );
    Induction from 2A2<2,3>.(q-1)(q+1) to 2A4
          |111 21 3
    ________________
    11111 |  1  . .
    2111  |  .  1 .
    221   |  1  . .
    311   |  1  . 1
    32    |  .  . 1
    41    |  .  1 .
    5     |  .  . 1

Lusztig induction from a diagonal Levi:

    gap> HF := CoxeterSubCoset( WF, [1, 2],
    >                LongestCoxeterElement( CoxeterGroup( WF ) ) );;
    gap> Display( InductionTable( HF, WF ) );
    Induction from 2A2.(q+1)^2 to 2A4
          |111 21  3
    _________________
    11111 | -1  .  .
    2111  | -2 -1  .
    221   | -1 -2  .
    311   |  1  2 -1
    32    |  . -2  1
    41    |  .  1 -2
    5     |  .  .  1

A descent of scalars:

    gap> W := CoxeterCoset( CoxeterGroup( "A", 2, "A", 2 ), (1,3)(2,4) );
    (A2xA2)
    gap> Display( InductionTable( CoxeterSubCoset( W, [ 1, 3 ] ), W ) );
    Induction from (A1xA1)<1,3>.(q-1)(q+1) to (A2xA2)
        |11 2
    __________
    111 | 1 .
    21  | 1 1
    3   | . 1 

Print( WF ), ReflectionName( WF ), PrintDiagram( WF ), show the isomorphism type of the reductive group GF. An orbit of φ=WF.phi on the components is put in brackets if of length k greater than 1, and is preceded by the order of phik on it, if this is not 1. For example "2(A2xA2)" denotes 2 components of type A2 permuted by φ, and such that phi2 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) );
    2(A2xA2)<1,2,5,6>xG2<3,4>
    gap> ReflectionName( W );
    "2(A2xA2)<1,2,5,6>xG2<3,4>"
    gap> W := CoxeterCoset( CoxeterGroup( "A", 2, "A", 2 ), (1,3,2,4) );
    2(A2xA2)
    gap> PrintDiagram( 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, CharParams, CharName return additional information on the irreducible characters, see ChevieCharInfo for Coxeter cosets for more details.

PhiFactors( WF ) show the scalars by which φ acts on the basic invariants f1,...,fn of W.

    gap> W := CoxeterGroup( "E", 6 );; WF := CoxeterCoset( W );
    E6
    gap> phi := EltWord( 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> PrintDiagram( 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), 1, E(3)^2 ]
    gap> ReflectionDegrees( CoxeterGroup( HF ) );
    [ 1, 1, 2, 4, 6, 4 ] 

Finally, some functions for elements of a Coxeter group work naturally for elements of a Coxeter coset: CoxeterWord, EltWord, CoxeterLength, LeftDescentSet, RightDescentSet, ReducedInRightCoset, etc... These functions take the same value on wφ in Wφ that they take on w∈ W.

82.4 ReflectionType for Coxeter cosets

ReflectionType( 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 ReflectionType for an irreducible untwisted Coxeter group (see ReflectionType in chapter Root systems and finite Coxeter groups): a couple [type,indices] (a triple for type I2(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 ...
phi:
if k is the number of irreducible components in the orbit, this is the permutation which describes the action of WF.phik on the simple roots of the first irreducible component in the orbit.

    gap> W := CoxeterCoset( CoxeterGroup( "A", 2, "A", 2 ), (1,3,2,4) );
    2(A2xA2)
    gap> ReflectionType( W );
    [ rec(
          orbit := [rec(
                  rank    :=2,
                  series  :="A",
                  indices :=[ 1, 2 ]), rec(
                  rank    :=2,
                  series  :="A",
                  indices :=[ 3, 4 ]) ],
          twist :=(1,2)) ]

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

82.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 -1∉ W, i.e., φ=-w0, they are obtained by multiplying by w0 a set of representatives of 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 ] ],
      classnames :=
       [ "C_3", "\\tilde A_2", "C_3+A_1", "\\tilde A_2+A_1", "F_4", 
         "\\tilde A_2+A_2", "F_4(a_1)" ],
      classparams :=
       [ [ "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).

82.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 φ of a set containing one extension of each φ-invariant character of W to the semidirect product of W with the cyclic group generated by φ. (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 φ 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 ) );
    3D4

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

             C3 ~A2 C3+A1 ~A2+A1 F4 ~A2+A2 F4(a1)

    .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).

82.7 Frobenius

Frobenius( WF )( o [, i])

Given a Coxeter coset WF, Frobenius(WF) returns a function which makes WF.phi act on its argument which is some object for which this action has been defined. If o is a list, it applies recursively Frobenius to each element of the list. If it is a permutation or an integer, it returns o^(WF.phi^-1). If a second argument i is given, it applies Frobenius raised to the i-th power (this is convenient for instance to apply the inverse of Frobenius). Finally, for an arbitrary object defined by a record, it looks if the method o.operations.Frobenius is defined and if so calls this function with arguments WF, o and i (with i=1 if it was omitted).

Such an action of the Frobenius is defined for instance for braids, Hecke elements and semisimple elements.

    gap> W:=CoxeterGroup("E",6);;WF:=CoxeterCoset(W,(1,6)(3,5));
    2E6
    gap> T:=Basis(Hecke(Group(WF)),"T");;Frobenius(WF)(T(1));
    T(6)
    gap> B:=Braid(W);; Frobenius(WF)(B(1,2,3));
    265
    gap> s:=SemisimpleElement(W,[1..6]/6);
    <1/6,1/3,1/2,2/3,5/6,0>
    gap> Frobenius(WF)(s);
    <0,1/3,5/6,2/3,1/2,1/6>
    gap> W:=CoxeterGroup("D",4);WF:=CoxeterCoset(W,(1,2,4));
    CoxeterGroup("D",4)
    3D4
    gap> B:=Braid(W);;b:=B(1,3);
    13
    gap> Frobenius(WF)(b);
    43
    gap> Frobenius(WF)(b,-1);
    23

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

82.8 Twistings for Coxeter cosets

Twistings( W, L )

W should be a Coxeter group record or a Coxeter coset record, and L should be a reflection subgroup of W (or of Group(W) for a coset), or a sublist of the generating reflections of W (resp. Group(W)), in which case the call is the same as Twistings(W,ReflectionSubgroup(W,L)) (resp. Twistings(W,ReflectionSubgroup(Group(W),L))).

The function returns the list, up to W-conjugacy, of Coxeter sub-cosets of W whose Coxeter group is L --- In term of algebraic groups, it corresponds to representatives of the possible twisted forms of the Levi L.

    gap> W:=CoxeterGroup("E",6);
    CoxeterGroup("E",6)
    gap> WF:=CoxeterCoset(W,(1,6)(3,5));
    2E6
    gap> L:=ReflectionSubgroup(W,[2..5]);
    ReflectionSubgroup(CoxeterGroup("E",6), [ 2, 3, 4, 5 ])
    gap> Twistings(W,L);
    [ D4<2,3,4,5>.(q-1)^2, 3D4<2,3,4,5>.(q^2+q+1), 2D4<2,3,4,5>.(q-1)(q+1) ]
    gap> Twistings(WF,L);
    [ 2D4<2,5,4,3>.(q-1)(q+1), 3'D4<2,5,4,3>.(q^2-q+1), D4<2,3,4,5>.(q+1)^2]

This function requires the package "chevie" (see RequirePackage). Previous Up Next
Index

GAP 3.4.4
April 1997