Let R be a root system in the real vector space V as in Chapter Root systems and finite Coxeter groups. We say that F0∈ GL(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 Wφ 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 Wφ is called the
character table of the coset Wφ. (See also the section below
CharTable for Coxeter cosets.)
A subcoset W1w1φ of Wφ 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 Wφ 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 Wφ 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 Wφ 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 wφ is the same as the one for
w, etc...
We associate to a Coxeter coset Wφ 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)
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:
coxeter:
phiMat:
phi: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).
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: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: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