Let R be a root system in the real vector space V as in Chapter Root systems and finite Coxeter groups. Let F0 be an automorphism of V. We say that F0 is an automorphism of R if it is of finite order, if F0 preserves the set of roots R⊂ V and if the adjoint automorphism F0* of V∨ preserves the set of coroots R∨⊂ V∨.
An automorphism F0 of R normalizes the reflection group W:=W(R). More precisely it induces an automorphism F: W→ W, defined by w→ F0wF0-1. A Coxeter coset is the coset WF0 in the group of automorphisms of V, generated by W and F0.
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 Δ.
A subset C of a Coxeter coset Wφ is called a conjugacy class if one of the following three equivalent conditions is fulfilled:
• C is the orbit of an element in Wφ under the conjugation action of W.
• C is a conjugacy class of 〈 W,φ 〉 contained in Wφ.
• The set {w∈ W| wφ∈ C} is an F-conjugacy class of W (two elements v,w∈ W are called F-conjugate, if and only if there exists x∈ W with v = xwF(x-1)).
Let us consider the map from the set of irreducible characters of 〈 W,φ 〉 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 Wφ 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 χ∈IrrW be such a character and χ1,...,χr the characters of 〈 W,φ 〉 which restrict to χ. Then r is the smallest positive integer such that φr∈ W and the restrictions of the χi, i=1,...,r to the conjugacy classes of Wφ 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,φ 〉,
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 subsequent section on CharTable
for
Coxeter cosets.)
We define a scalar product on the class functions of a Coxeter coset Wφ by
〈 χ,ψ 〉 := 1/| W|∑w∈ W χ(wφ)\barψ(wφ). |
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.
We then have a natural notion of restriction of class functions on Wφ to class functions on W1w1φ 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 φ=φ, i.e., φ fixes a chosen set Δ of simple roots, and consider the canonical monomorphism 〈 W,φ 〉 → W\rtimes〈 F〉, where F is the automorphism of W defined above. It is clear that this map induces a bijection from Wφ to WF⊂ W\rtimes〈 F〉 which preserves conjugacy classes in the cosets. The preferred extensions are defined such that they factorize over this map. Let W1,W2 ≤ W be F-stable reflection subgroups of W such that W=W1x W2 and let Fi the restriction of F on Wi, i=1,2. Here the preferred extension is defined via restriction to the image of W\rtimes〈 F〉 → (W1\rtimes〈 F1〉) x (W2\rtimes〈 F2〉). Thus we can reduce the determination of conjugacy classes and the character table of Wφ to the case were W is decomposed in irreducible components W=W1x ... x Wk which are cyclically permuted by F. In this case there are natural bijections from the F-conjugacy classes of W to the Fk-conjugacy classes of W1 as well as from the F-stable characters of W to the Fk-stable characters of W1. The definition of preferred extensions on WF can be reduced to the definition of preferred extensions for W1Fk. 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):\ 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) do not come from automorphisms of the underlying root systems.)
In case 3D4 the group W\rtimes〈 F〉 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\rtimes〈 F〉 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\rtimes〈 F〉 is in fact isomorphic to a direct product Wx 〈 w0F〉 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 w0F.
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\rtimes〈 F〉, mentioned above, up to isomorphism). See the
commands ReflectionType
, ReflectionName
and PrintDiagram
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 G be a reductive algebraic group over the algebraic closure \overlineFq of a finite field Fq, which is defined over Fq, with corresponding Frobenius endomorphism F, so the finite group of rational points G(Fq) identifies to the subgroup GF of fixed points under F. Let T be an F-stable maximal torus of G. The Weyl group of G with respect to T is the quotient W=NG(T)/T. Let X(T) be the character group of T, that is the group of rational homomorphisms T→\overline Fq. The group W acts naturally on X(T), and thus also on the vector space V=R⊗ X(T). It is a fundamental fact in the theory of reductive groups that there is a canonical root system Φ in V defined by (G,T) 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 φ, where φ is an automorphism of finite order of V. We get thus a Coxeter datum (V,W, φ).
To completely specify GF up to isomorphism, we need a little more information. Let Y(T) be the group of cocharacters of T, that is of rational homomorphisms \overlineFq→T. The Z-modules X(T) and Y(T) are naturally dual to each other, and there is a canonical root system Φ∨ in Y(T) dual to Φ. Let V∨= R⊗ Y(T). The classification theorems on reductive groups show that the isomorphism type of GF is completely determined by the datum (V,Φ,V∨,Φ∨, φ), 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 Φ in the definition of a Coxeter coset.
However, in GAP we will always have the whole datum
(V,Φ,V∨,Φ∨, φ). We assume that we have chosen a Borel
subgroup of G containing T. 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 either F2 or F3 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 G2, B2 or F4), but this endomorphism is no longer q times an endomorphism of finite order; however, up to some power of q, φ 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.
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 ) ); 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> PrintDiagram( D4 ); D4 9 \ 1 - 16 / 2 gap> 3D4 := CoxeterCoset( D4, MatXPerm(D4,(2,9,16)) ); CoxeterCoset(ReflectionSubgroup(CoxeterGroup("F",4), [ 1, 2, 9, 16 ]), ( 2, 9,16))
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 ) ); 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> 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).
87.3 Functions on Coxeter cosets
CoxeterGroup( WF )
: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
:CoxeterGroup( WF )
.
ConjugacyClasses( WF )
:CoxeterGroup(WF)
. Then the classes are defined to be the
W-orbits on W φ, where W acts by conjugation (they coincide
with the W φ-orbits, W φ acting by the conjugation); by the
translation w→ wφ-1 they are sent to the
φ-conjugacy classes of W.
PositionClass( WF , x )
:i
such that x is an element of
ConjugacyClasses(WF)[i]
(to work fast, the classification of
Coxeter groups is used).
FusionConjugacyClasses( WF1, WF )
:CoxeterSubCoset
.
Print( WF )
: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
wφ is a Coxeter subcoset of W φ, restriction of characters is
defined as restriction of functions from W φ to H wφ, and
induction as the adjoint map for the natural scalar product 〈
f, g〉 =1/| W|∑v∈ W f(v φ)\overline g(v φ).
If the Coxeter coset WF represents the reductive group G, and
HF corresponds to a Levi subgroup L, then the induction from
HF to WF describes the Lusztig induction of uniform unipotent
almost characters from L to G.
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 ) ); Induction from 2A2<2,3>.(v-1)*(v+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.(v+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) ); CoxeterCoset(CoxeterGroup("A",2, "A",2), (1,3)(2,4)) gap> Display( InductionTable( CoxeterSubCoset( W, [ 1, 3 ] ), W ) ); Induction from (A1xA1)<1,3>.(v-1)*(v+1) to (A2xA2) | 11 2 __________ 111 | 1 . 21 | 1 1 3 | . 1
ReflectionName( 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) ); CoxeterCoset(CoxeterGroup("A",2, "G",2, "A",2), (1,5,2,6)) gap> ReflectionName( W ); "2(A2xA2)xG2"
PrintDiagram( WF )
: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> 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( WF )
:CharName
has also a special version
for cosets.
Note that some functions for elements of a Coxeter group work
naturally for elements of a Coxeter coset: CoxeterWord
,
EltWord
, CoxeterLength
, LeftDescentSet
, RightDescentSet
,
ReducedInRightCoset
, etc...
87.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.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> ReflectionType( W ); [ rec( orbit := [ rec( operations := ReflTypeOps, rank := 2, series := "A", indices := [ 1, 2 ], degrees := [ 2 .. 3 ] ), rec( operations := ReflTypeOps, rank := 2, series := "A", indices := [ 3, 4 ], degrees := [ 2 .. 3 ] ) ], twist := (1,2), operations := ReflTypeOps ) ]
This function requires the package "chevie" (see RequirePackage).
87.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", "~A_2", "C_3+A_1", "~A_2+A_1", "F_4", "~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).
87.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 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).
87.7 Frobenius
Frobenius( WF )( word )
Frobenius( WF )( permutation )
Frobenius( WF )( rec )
Given a Coxeter coset WF, Frobenius(WF)
returns a function which
makes WF.phi
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 (Tw φ)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).
87.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 f1,...,fn be the basic invariants of
W on the symmetric algebra SV of V. The matrix WF.phiMat
has the
fi as eigenvectors. The corresponding eigenvalues, listed in the same
order as the ReflectionDegrees
(the degrees of the fi) are called
the factors of φ acting on V.
gap> W := CoxeterGroup( "E", 6 );; WF := CoxeterCoset( W ); CoxeterCoset(CoxeterGroup("E",6)) 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 ]
This function requires the package "chevie" (see RequirePackage).
GAP 3.4.4