# 98 Unipotent characters of finite reductive groups and Spetses

Let G be a connected reductive group defined over the algebraic closure of a finite field 𝔽q, with corresponding Frobenius automorphism F, ore more generally let F be an isogeny of G such that a power is a Frobenius (this covers the Suzuki and Ree groups).

If T is an F-stable maximal torus of G, and B is a (not necessarily F-stable) Borel subgroup containing T, we define the Deligne-Lusztig variety XB={ gBG/B | gB∩ F(gB) ≠∅}. This variety has a natural action of GF on the left, so the corresponding Deligne-Lusztig virtual module i (-1)i Hic(XB,l) also. The character of this virtual module is the Deligne-Lusztig character RTG(1); the notation reflects the fact that one can prove that this character does not depend on the choice of B. Actually, this character is parameterized by an F-conjugacy class of W: if T0B0 is an F-stable pair, there is an unique w∈ W=NG(T0)/T0 such that the triple (T,B,F) is G-conjugate to (T0,B0,wF). In this case we denote Rw for RTG(1); it depends only on the F-class of w.

The unipotent characters of GF are the irreducible constituents of the Rw. In a similar way that the unipotent classes are a building block for describing the conjugacy classes of a reductive group, the unipotent characters are a building block for the irreducible characters of a reductive group. They can be parameterized by combinatorial data that Lusztig has attached just to the coset , where φ is the finite order automorphism of X(T0) such that F=qφ. Thus, from the viewpoint of CHEVIE, they are objects combinatorially attached to a Coxeter coset.

A subset of the unipotent characters, the principal series unipotent characters, can be described in an elementary way. They are the constituents of R1, or equivalently the characters of the virtual module defined by the cohomology of XB0, which is the discrete variety (G/B0)F; the virtual module reduces to the actual module l[(G/B0)F]. Thus the Deligne-Lusztig induction RT0G(1) reduces to Harish-Chandra induction, defined as follows: let P=UL be an F-stable Levi decomposition of an F-stable parabolic subgroup of G. Then the Harish-Chandra induced RLG of a character χ of LF is the character IndPFGF~χ, where ~χ is the lift to PF of χ via the quotient PF/UF=LF; Harish-Chandra induction is a particular case of Lusztig induction, which is defined when P is not F-stable using the variety XU={ gUG/U | gU∩ F(gU) ≠∅}, and gives for an LF-module a virtual GF-module. Like ordinary induction, these functors have adjoint functors going from representations of GF to representations (resp. virtual representations) of LF called Harish-Chandra restriction (resp. Lusztig restriction).

The commuting algebra of GF-endomorphisms of RT0G(1) is an Iwahori-Hecke algebra for Wφ, with parameters which are some powers of q; they are all equal to q when Wφ=W. Thus principal series unipotent characters correspond to characters of Wφ.

To understand the decomposition of Deligne-Lusztig characters, and thus unipotent characters, is is useful to introduce another set of class functions which are parameterized by irreducible characters of the coset . If χ is such a character, we define the associated almost character by: Rχ=|W|-1w∈ Wχ(wφ) Rw. The reason to the name is that these class function are close to irreducible characters: they satisfy ⟨ Rχ, RψGFχ,ψ; for the linear and unitary group they are actually unipotent characters (up to sign in the latter case). They are in general sum (with rational coefficients) of a small number of unipotent characters in the same Lusztig family (see Families of unipotent characters). The degree of Rχ is a polynomial in q equal to the fake degree of the character χ of (see Functions for Reflection cosets).

We now describe the parameterization of unipotent characters when Wφ=W, thus when the coset identifies with W (the situation is similar but a bit more difficult to describe in general). The (rectangular) matrix of scalar products ⟨ ρ, RχGF, when characters of W and unipotent characters are arranged in the right order, is block-diagonal with rather small blocks which are called Lusztig families.

For the characters of W a family F corresponds to a block of the Hecke algebra over a ring called the Rouquier ring. To F Lusztig associates a small group Γ (not bigger than (ℤ/2)n, or Si for i ≤ 5) such that the unipotent characters in the family are parameterized by the pairs (x,θ) taken up to Γ-conjugacy, where x∈Γ and θ is an irreducible character of CΓ(x). Further, the elements of F themselves are parameterized by a subset of such pairs, and Lusztig defines a pairing between such pairs which computes the scalar product ⟨ ρ, RχGF. For more details see DrinfeldDouble.

A second parameterization of unipotent character is via Harish-Chandra series. A character is called cuspidal if all its proper Harish-Chandra restrictions vanish. There are few cuspidal unipotent characters (none in linear groups, and at most one in other classical groups). The GF-endomorphism algebra of an Harish-Chandra induced LFGFλ, where λ is a cuspidal unipotent character turns out to be a Hecke algebra associated to the group WGF(LF):=NGF(L)/L, which turns out to be a Coxeter group. Thus another parameterization is by triples (L,λ,φ), where λ is a cuspidal unipotent character of LF and φ is an irreducible character of the relative group WGF(LF). Such characters are said to belong to the Harish-Chandra series determined by (L,λ).

A final piece of information attached to unipotent characters is the eigenvalues of Frobenius. Let Fδ be the smallest power of the isogeny F which is a split Frobenius (that is, Fδ is a Frobenius and φδ=1). Then Fδ acts naturally on Deligne-Lusztig varieties and thus on the corresponding virtual modules, and commutes to the action of GF; thus for a given unipotent character ρ, a submodule of the virtual module which affords ρ affords a single eigenvalue μ of Fδ. Results of Lusztig and Digne-Michel show that this eigenvalue is of the form qλρ where 2a∈ℤ and λρ is a root of unity which depends only on ρ and not the considered module. This λρ is called the eigenvalue of Frobenius attached to ρ. Unipotent characters in the Harish-Chandra series of a pair (L,λ) have the same eigenvalue of Frobenius as λ.

CHEVIE contains table of all this information, and can compute Harish-Chandra and Lusztig induction of unipotent characters and almost characters. We illustrate the information on some examples:

    gap> W:=CoxeterGroup("G",2);
CoxeterGroup("G",2)
gap> uc:=UnipotentCharacters(W);
UnipotentCharacters( G2 )
gap> Display(uc);
Unipotent characters for G2
Name |      Degree FakeDegree Eigenvalue     Label
_________________________________________________________
phi{1,0}   |           1          1          1
phi{1,6}   |         q^6        q^6          1
phi{1,3}'  |    1/3qP3P6        q^3          1     (1,r)
phi{1,3}'' |    1/3qP3P6        q^3          1    (g3,1)
phi{2,1}   |  1/6qP2^2P3        qP8          1     (1,1)
phi{2,2}   |  1/2qP2^2P6      q^2P4          1    (g2,1)
G2[-1]     |  1/2qP1^2P3          0         -1  (g2,eps)
G2[1]      |  1/6qP1^2P6          0          1   (1,eps)
G2[E3]     |1/3qP1^2P2^2          0         E3   (g3,E3)
G2[E3^2]   |1/3qP1^2P2^2          0       E3^2 (g3,E3^2)

The first column gives the name of the unipotent character; the first 6 are in the principal series so are named according to the corresponding characters of W. The last 4 are cuspidal, and named by the corresponding eigenvalue of Frobenius, which is displayed in the fourth column. In general the names of the unipotent characters come from their parameterization by Harish-Chandra series; in addition, for classical groups, they are associated to symbols.

The first two characters are each in a family by themselves. The last eight are in a family associated to the group Γ=S3: the last column shows the parameters (x,θ). The second column shows the degree of the unipotent characters, which is transformed by the Lusztig Fourier matrix of the third column, which gives the degree of the corresponding almost character, or equivalently the fake degree of the corresponding character of W.

    gap> Display(uc.families[1]);
D(S3)
label |eigen
________________________________________________________
(1,1)     |    1 1/6  1/2  1/3  1/3  1/6  1/2  1/3  1/3
(g2,1)    |    1 1/2  1/2    0    0 -1/2 -1/2    0    0
(g3,1)    |    1 1/3    0  2/3 -1/3  1/3    0 -1/3 -1/3
(1,r)     |    1 1/3    0 -1/3  2/3  1/3    0 -1/3 -1/3
(1,eps)   |    1 1/6 -1/2  1/3  1/3  1/6 -1/2  1/3  1/3
(g2,eps)  |   -1 1/2 -1/2    0    0 -1/2  1/2    0    0
(g3,E3)   |   E3 1/3    0 -1/3 -1/3  1/3    0  2/3 -1/3
(g3,E3^2) | E3^2 1/3    0 -1/3 -1/3  1/3    0 -1/3  2/3

One can do computations with individual unipotent characters. Here we construct the Coxeter torus, and then the identity character of this torus as a unipotent character.

    gap> W:=CoxeterGroup("G",2);
CoxeterGroup("G",2)
gap> T:=ReflectionCoset(ReflectionSubgroup(W,[]),EltWord(W,[1,2]));
(q^2-q+1)
gap> u:=UnipotentCharacter(T,1);
[(q^2-q+1)]=<>

Then here are two ways to construct the Deligne-Lusztig character associated to the Coxeter torus:

    gap> LusztigInduction(W,u);
[G2]=<phi{1,0}>+<phi{1,6}>-<phi{2,1}>+<G2[-1]>+<G2[E3]>+<G2[E3^2]>
gap> v:=DeligneLusztigCharacter(W,[1,2]);
[G2]=<phi{1,0}>+<phi{1,6}>-<phi{2,1}>+<G2[-1]>+<G2[E3]>+<G2[E3^2]>
gap> Degree(v);
q^6 + q^5 - q^4 - 2*q^3 - q^2 + q + 1
gap> v*v;
6

The last two lines ask for the degree of v, then for the scalar product of v with itself.

Finally we mention that CHEVIE can also provide unipotent characters of Spetses, as defined in BMM14. An example:

    gap> Display(UnipotentCharacters(ComplexReflectionGroup(4)));
Unipotent characters for G4
Name |               Degree FakeDegree Eigenvalue    Label
_______________________________________________________________
phi{1,0} |                    1          1          1
phi{1,4} | -ER(-3)/6q^4P"3P4P"6        q^4          1  1.-E3^2
phi{1,8} |  ER(-3)/6q^4P'3P4P'6        q^8          1  -1.E3^2
phi{2,5} |         1/2q^4P2^2P6      q^5P4          1   1.E3^2
phi{2,3} |(3+ER(-3))/6qP"3P4P'6      q^3P4          1   1.E3^2
phi{2,1} |(3-ER(-3))/6qP'3P4P"6        qP4          1     1.E3
phi{3,2} |              q^2P3P6    q^2P3P6          1
Z3:2     |     -ER(-3)/3qP1P2P4          0       E3^2  E3.E3^2
Z3:11    |   -ER(-3)/3q^4P1P2P4          0       E3^2   E3.-E3
G4       |        -1/2q^4P1^2P3          0         -1 -E3^2.-1

## 98.1 UnipotentCharacters

UnipotentCharacters(W)

W should be a Coxeter group, a Coxeter Coset or a Spetses. The function gives back a record containing information about the unipotent characters of the associated algebraic group (or Spetses). This contains the following fields:

group:

a pointer to W

charNames:

the list of names of the unipotent characters.

charSymbols:

the list of symbols associated to unipotent characters, for classical groups.

harishChandra:

information about Harish-Chandra series of unipotent characters. This is itself a list of records, one for each pair (L,λ) of a Levi of an F-stable parabolic subgroup and a cuspidal unipotent character of LF. These records themselves have the following fields:

levi:

a list l such that L corresponds to ReflectionSubgroup(W,l).

cuspidalName:

the name of the unipotent cuspidal character lambda.

eigenvalue:

the eigenvalue of Frobenius for λ.

relativeType:

the reflection type of WG(L);

parameterExponents:

the GF-endomorphism algebra of RLG(λ) is a Hecke algebra for WG(L) with some parameters of the form qas. This holds the list of exponents as.

charNumbers:

the indices of the unipotent characters indexed by the irreducible characters of WG(L).

families:

information about Lusztig families of unipotent characters. This is itself a list of records, one for each family. These records are described in the section about families below.

    gap> W:=CoxeterGroup("Bsym",2);
CoxeterGroup("Bsym",2)
gap> WF:=CoxeterCoset(W,(1,2));
2Bsym2
gap> uc:=UnipotentCharacters(W);
UnipotentCharacters( Bsym2 )
gap> Display(uc);
Unipotent characters for Bsym2
Name |  Degree FakeDegree Eigenvalue Label
___________________________________________
11.  |  1/2qP4        q^2          1   +,-
1.1  |1/2qP2^2        qP4          1   +,+
.11  |     q^4        q^4          1
2.   |       1          1          1
.2   |  1/2qP4        q^2          1   -,+
B2   |1/2qP1^2          0         -1   -,-
gap> uc.harishChandra[1];
rec(
levi := [  ],
relativeType := [ rec(series  := "B",
indices := [ 1, 2 ],
rank    := 2) ],
eigenvalue := 1,
parameterExponents := [ 1, 1 ],
charNumbers := [ 1, 2, 3, 4, 5 ],
cuspidalName := "" )
gap> uc.families[2];
Family("012",[1,2,5,6])
gap> Display(uc.families[2]);
label |eigen  +,- +,+  -,+  -,-
________________________________
+,-   |    1  1/2 1/2 -1/2 -1/2
+,+   |    1  1/2 1/2  1/2  1/2
-,+   |    1 -1/2 1/2  1/2 -1/2
-,-   |   -1 -1/2 1/2 -1/2  1/2

## 98.2 Operations for UnipotentCharacters

CharNames:
returns the names of the unipotent characters. Using the version with an additional option record as the second argument, one can control the display in various ways.

    gap> uc:=UnipotentCharacters(CoxeterGroup("G",2));
UnipotentCharacters( G2 )
gap> CharNames(uc);
[ "phi{1,0}", "phi{1,6}", "phi{1,3}'", "phi{1,3}''", "phi{2,1}",
"phi{2,2}", "G2[-1]", "G2[1]", "G2[E3]", "G2[E3^2]" ]
gap> CharNames(uc,rec(TeX:=true));
[ "\\phi_{1,0}", "\\phi_{1,6}", "\\phi_{1,3}'", "\\phi_{1,3}''",
"\\phi_{2,1}", "\\phi_{2,2}", "G_2[-1]", "G_2[1]", "G_2[\\zeta_3]",
"G_2[\\zeta_3^2]" ]

Display:
One can control the display of unipotent characters in various ways. In the record controlling Display, a field items specifies which columns are displayed. The possible values are

"n0":

The index of the character in the list of unipotent characters.

"Name":

The name of the unipotent character.

"Degree":

The degree of the unipotent character.

"FakeDegree":

The degree of the corresponding almost character.

"Eigenvalue":

The eigenvalue of Frobenius attached to the unipotent character.

"Symbol":

for classical groups, the symbol attached to the unipotent character.

"Family":

The parameter the character has in its Lusztig family.

"Signs":

The signs attached to the character in the Fourier transform.

The default value is items:=["Name","Degree","FakeDegree","Eigenvalue","Family"]

This can be changed by setting the variable UnipotentCharactersOps.items which holds this default value. In addition if the field byFamily is set, the characters are displayed family by family instead of in index order. Finally, the field chars can be set, indicating which characters are to be displayed in which order.

    gap> W:=CoxeterGroup("B",2);
CoxeterGroup("B",2)
gap> uc:=UnipotentCharacters(W);
UnipotentCharacters( B2 )
gap> Display(uc);
Unipotent characters for B2
Name |  Degree FakeDegree Eigenvalue Label
___________________________________________
11.  |  1/2qP4        q^2          1   +,-
1.1  |1/2qP2^2        qP4          1   +,+
.11  |     q^4        q^4          1
2.   |       1          1          1
.2   |  1/2qP4        q^2          1   -,+
B2   |1/2qP1^2          0         -1   -,-
gap> Display(uc,rec(byFamily:=true));
Unipotent characters for B2
Name |  Degree FakeDegree Eigenvalue Label
___________________________________________
*.11 |     q^4        q^4          1
___________________________________________
11.  |  1/2qP4        q^2          1   +,-
*1.1 |1/2qP2^2        qP4          1   +,+
.2   |  1/2qP4        q^2          1   -,+
B2   |1/2qP1^2          0         -1   -,-
___________________________________________
*2.  |       1          1          1
gap> Display(uc,rec(items:=["n0","Name","Symbol"]));
Unipotent characters for B2
n0 |Name   Symbol
__________________
1  | 11.   (12,0)
2  | 1.1   (02,1)
3  | .11 (012,12)
4  |  2.     (2,)
5  |  .2   (01,2)
6  |  B2   (012,)

## 98.3 UnipotentCharacter

UnipotentCharacter(W,l)

Constructs an object representing the unipotent character of the algebraic group associated to the Coxeter group or Coxeter coset W which is specified by l. There are 3 possibilities for l: if it is an integer, the l-th unipotent character of W is returned. If it is a string, the unipotent character of W whose name is l is returned. Finally, l can be a list of length the number of unipotent characters of W, which specifies the coefficient to give to each.

    gap> W:=CoxeterGroup("G",2);
CoxeterGroup("G",2)
gap> u:=UnipotentCharacter(W,7);
[G2]=<G2[-1]>
gap> v:=UnipotentCharacter(W,"G2[E3]");
[G2]=<G2[E3]>
gap> w:=UnipotentCharacter(W,[1,0,0,-1,0,0,2,0,0,1]);
[G2]=<phi{1,0}>-<phi{1,3}''>+2<G2[-1]>+<G2[E3^2]>

## 98.4 Operations for Unipotent Characters

+:

-:
Subtracts the specified characters

*:
Multiplies a character by a scalar, or if given two unipotent characters returns their scalar product.

We go on from examples of the previous section:

    gap> u+v;
[G2]=<G2[-1]>+<G2[E3]>
gap> w-2*u;
[G2]=<phi{1,0}>-<phi{1,3}''>+<G2[E3^2]>
gap> w*w;
7

Degree:

returns the degree of the unipotent character.

    gap> Degree(w);
q^5 - q^4 - q^3 - q^2 + q + 1
gap> Degree(u+v);
(5/6)*q^5 + (-1/2)*q^4 + (-2/3)*q^3 + (-1/2)*q^2 + (5/6)*q

String and Print:

the formatting of unipotent characters is affected by the variable CHEVIE.PrintUniChars. It is a record; if the field short is bound (the default) they are printed in a compact form. If the field long is bound, they are printed one character per line:

    gap> CHEVIE.PrintUniChars:=rec(long:=true);
rec(
long := true )
gap> w;
[G2]=
<phi{1,0}>   1
<phi{1,6}>   0
<phi{1,3}'>  0
<phi{1,3}''> -1
<phi{2,1}>   0
<phi{2,2}>   0
<G2[-1]>     2
<G2[1]>      0
<G2[E3]>     0
<G2[E3^2]>   1
gap> CHEVIE.PrintUniChars:=rec(short:=true);;

Frobenius( WF ):

If WF is a Coxeter coset associated to the Coxeter group W, the function Frobenius(WF) returns a function which does the corresponding automorphism on the unipotent characters

    gap> W:=CoxeterGroup("D",4);WF:=CoxeterCoset(W,(1,2,4));
CoxeterGroup("D",4)
3D4
gap> u:=UnipotentCharacter(W,2);
[D4]=<11->
gap> Frobenius(WF)(u);
[D4]=<.211>
gap> Frobenius(WF)(u,-1);
[D4]=<11+>

## 98.5 UnipotentDegrees

UnipotentDegrees(W,q)

Returns the list of degrees of the unipotent characters of the finite reductive group (or Spetses) with Weyl group (or Spetsial reflection group) W, evaluated at q.

    gap> W:=CoxeterGroup("G",2);
CoxeterGroup("G",2)
gap> q:=Indeterminate(Rationals);;q.name:="q";;
gap> UnipotentDegrees(W,q);
[ q^0, q^6, (1/3)*q^5 + (1/3)*q^3 + (1/3)*q,
(1/3)*q^5 + (1/3)*q^3 + (1/3)*q, (1/6)*q^5 + (1/2)*q^4 + (2/3)*q^
3 + (1/2)*q^2 + (1/6)*q, (1/2)*q^5 + (1/2)*q^4 + (1/2)*q^2 + (1/
2)*q, (1/2)*q^5 + (-1/2)*q^4 + (-1/2)*q^2 + (1/2)*q,
(1/6)*q^5 + (-1/2)*q^4 + (2/3)*q^3 + (-1/2)*q^2 + (1/6)*q,
(1/3)*q^5 + (-2/3)*q^3 + (1/3)*q, (1/3)*q^5 + (-2/3)*q^3 + (1/3)*q ]

For a non-rational Spetses, Indeterminate(Cyclotomics) would be more appropriate.

## 98.6 CycPolUnipotentDegrees

CycPolUnipotentDegrees(W)

Taking advantage that the degrees of unipotent characters of the finite reductive group (or Spetses) with Weyl group (or Spetsial reflection group) W are products of cyclotomic polynomials, this function returns these degrees as a list of CycPols (see Cyclotomic polynomials).

    gap> W:=CoxeterGroup("G",2);
CoxeterGroup("G",2)
gap> CycPolUnipotentDegrees(W);
[ 1, q^6, 1/3qP3P6, 1/3qP3P6, 1/6qP2^2P3, 1/2qP2^2P6, 1/2qP1^2P3,
1/6qP1^2P6, 1/3qP1^2P2^2, 1/3qP1^2P2^2 ]

## 98.7 DeligneLusztigCharacter

DeligneLusztigCharacter(W,w)

This function returns the Deligne-Lusztig character RTG(1) of the algebraic group G associated to the Coxeter group or Coxeter coset W. The torus T can be specified in 3 ways: if w is an integer, it represents the w-th conjugacy class (or φ-conjugacy class for a coset) of W. Otherwise w can be a Coxeter word or a Coxeter element, and it represents the class (or φ-class) of that element.

    gap> W:=CoxeterGroup("G",2);
CoxeterGroup("G",2)
gap> DeligneLusztigCharacter(W,3);
[G2]=<phi{1,0}>-<phi{1,6}>-<phi{1,3}'>+<phi{1,3}''>
gap> DeligneLusztigCharacter(W,W.1);
[G2]=<phi{1,0}>-<phi{1,6}>-<phi{1,3}'>+<phi{1,3}''>
gap> DeligneLusztigCharacter(W,[1]);
[G2]=<phi{1,0}>-<phi{1,6}>-<phi{1,3}'>+<phi{1,3}''>
gap> DeligneLusztigCharacter(W,[1,2]);
[G2]=<phi{1,0}>+<phi{1,6}>-<phi{2,1}>+<G2[-1]>+<G2[E3]>+<G2[E3^2]>

## 98.8 AlmostCharacter

AlmostCharacter(W,i)

This function returns the i-th almost unipotent character of the algebraic group G associated to the Coxeter group or Coxeter coset W. If χ is the i-th irreducible character of W, the i-th almost character is Rχ=W-1w∈ Wχ(w) RTwG(1), where Tw is the maximal torus associated to the conjugacy class (or φ-conjugacy class for a coset) of w.

    gap> W:=CoxeterGroup("B",2);
CoxeterGroup("B",2)
gap> AlmostCharacter(W,3);
[B2]=<.11>
gap> AlmostCharacter(W,1);
[B2]=1/2<11.>+1/2<1.1>-1/2<.2>-1/2<B2>

## 98.9 LusztigInduction

LusztigInduction(W,u)

u should be a unipotent character of a parabolic subcoset of the Coxeter coset W. It represents a unipotent character λ of a Levi L of the algebraic group G attached to W. The program returns the Lusztig induced RLG(λ).

    gap> W:=CoxeterGroup("G",2);;
gap> T:=CoxeterSubCoset(CoxeterCoset(W),[],W.1);
(q-1)(q+1)
gap> u:=UnipotentCharacter(T,1);
[(q-1)(q+1)]=<>
gap> LusztigInduction(CoxeterCoset(W),u);
[G2]=<phi{1,0}>-<phi{1,6}>-<phi{1,3}'>+<phi{1,3}''>
gap> DeligneLusztigCharacter(W,W.1);
[G2]=<phi{1,0}>-<phi{1,6}>-<phi{1,3}'>+<phi{1,3}''>

## 98.10 LusztigRestriction

LusztigRestriction(R,u)

u should be a unipotent character of a parent Coxeter coset W of which R is a parabolic subcoset. It represents a unipotent character γ of the algebraic group G attached to W, while R represents a Levi subgroup L. The program returns the Lusztig restriction * RLG(γ).

    gap> W:=CoxeterGroup("G",2);;
gap> T:=CoxeterSubCoset(CoxeterCoset(W),[],W.1);
(q-1)(q+1)
gap> u:=DeligneLusztigCharacter(W,W.1);
[G2]=<phi{1,0}>-<phi{1,6}>-<phi{1,3}'>+<phi{1,3}''>
gap> LusztigRestriction(T,u);
[(q-1)(q+1)]=4<>
gap> T:=CoxeterSubCoset(CoxeterCoset(W),[],W.2);
(q-1)(q+1)
gap> LusztigRestriction(T,u);
[(q-1)(q+1)]=0

## 98.11 LusztigInductionTable

LusztigInductionTable(R,W)

R should be a parabolic subgroup of the Coxeter group W or a parabolic subcoset of the Coxeter coset W, in each case representing a Levi subgroup L of the algebraic group G associated to W. The function returns a table (modeled after InductionTable, see InductionTable) representing the Lusztig induction RLG between unipotent characters.

    gap> W:=CoxeterGroup("B",3);;
gap> t:=Twistings(W,[1,3]);
[ ~A1xA1<3>.(q-1), ~A1xA1<3>.(q+1) ]
gap> Display(LusztigInductionTable(t[2],W));
Lusztig Induction from ~A1xA1<3>.(q+1) to B3
|11,11 11,2 2,11 2,2
___________________________
111.  |    1   -1   -1   .
11.1  |   -1    .    1  -1
1.11  |    .    .   -1   .
.111  |   -1    .    .   .
21.   |    .    .    .   .
1.2   |    1   -1    .   1
2.1   |    .    1    .   .
.21   |    .    .    .   .
3.    |    .    .    .   1
.3    |    .    1    1  -1
B2:2  |    .    .    1  -1
B2:11 |    1   -1    .   .

## 98.12 DeligneLusztigLefschetz

DeligneLusztigLefschetz(h)

Here h is an element of a Hecke algebra associated to a Coxeter group W which itself is associated to an algebraic group G. By results of Digne-Michel, for g∈GF, the number of fixed points of Fm on the Deligne-Lusztig variety associated to the element of the Coxeter coset , have, for m sufficiently divisible, the form χ χqm(Twφ)Rχ(g) where χ runs over the irreducible characters of , where Rχ is the corresponding almost character, and where χqm is a character value of the Hecke algebra H(Wφ,qm) of with parameter qm. This expression is called the Lefschetz character of the Deligne-Lusztig variety. If we consider qm as an indeterminate x, it can be seen as a sum of unipotent characters with coefficients character values of the generic Hecke algebra H(Wφ,x).

The function DeligneLusztigLefschetz takes as argument a Hecke element and returns the corresponding Lefschetz character. This is defined on the whole of the Hecke algebra by linearity. The Lefschetz character of various varieties related to Deligne-Lusztig varieties, like their completions or desingularisation, can be obtained by taking the Lefschetz character at various elements of the Hecke algebra.

    gap> W:=CoxeterGroup("A",2);;
gap> q:=X(Rationals);;q.name:="q";;
gap> H:=Hecke(W,q);
Hecke(A2,q)
gap> T:=Basis(H,"T");
function ( arg ) ... end
gap> DeligneLusztigLefschetz(T(1,2));
[A2]=<111>-q<21>+q^2<3>
gap> DeligneLusztigLefschetz((T(1)+T())*(T(2)+T()));
[A2]=q<21>+(q^2+2q+1)<3>

The last line shows the Lefschetz character of the Samelson-Bott desingularisation of the Coxeter element Deligne-Lusztig variety.

We now show an example with a coset (corresponding to the unitary group).

    gap> H:=Hecke(CoxeterCoset(W,(1,2)),q^2);
Hecke(2A2,q^2)
gap> T:=Basis(H,"T");
function ( arg ) ... end
gap> DeligneLusztigLefschetz(T(1));
[2A2]=-<11>-q<2A2>+q^2<2>

## 98.13 Families of unipotent characters

The blocks of the (rectangular) matrix ⟨ Rχ,ρ⟩GF when χ runs over Irr(W) and ρ runs over the unipotent characters, are called the Lusztig families. When G is split and W is a Coxeter group they correspond on the Irr(W) side to two-sided Kazhdan-Lusztig cells --- for split Spetses they correspond to Rouquier blocks of the Spetsial Hecke algebra. The matrix of scalar products ⟨ Rχ,ρ⟩GF can be completed to a square matrix ⟨ Aρ',ρ⟩GF where Aρ' are the characteristic functions of character sheaves on GF; this square matrix is called the Fourier matrix of the family.

The UnipotentCharacters record in CHEVIE contains a field .families, a list of family records containing information on each family, including the Fourier matrix. Here is an example.

    gap> W:=CoxeterGroup("G",2);;
gap> uc:=UnipotentCharacters(W);
UnipotentCharacters( G2 )
gap> uc.families;
[ Family("D(S3)",[5,6,4,3,8,7,9,10]), Family("C1",[1]),
Family("C1",[2]) ]
gap> f:=last[1];
Family("D(S3)",[5,6,4,3,8,7,9,10])
gap> Display(f);
D(S3)
label |eigen
________________________________________________________
(1,1)     |    1 1/6  1/2  1/3  1/3  1/6  1/2  1/3  1/3
(g2,1)    |    1 1/2  1/2    0    0 -1/2 -1/2    0    0
(g3,1)    |    1 1/3    0  2/3 -1/3  1/3    0 -1/3 -1/3
(1,r)     |    1 1/3    0 -1/3  2/3  1/3    0 -1/3 -1/3
(1,eps)   |    1 1/6 -1/2  1/3  1/3  1/6 -1/2  1/3  1/3
(g2,eps)  |   -1 1/2 -1/2    0    0 -1/2  1/2    0    0
(g3,E3)   |   E3 1/3    0 -1/3 -1/3  1/3    0  2/3 -1/3
(g3,E3^2) | E3^2 1/3    0 -1/3 -1/3  1/3    0 -1/3  2/3
gap> f.charNumbers;
[ 5, 6, 4, 3, 8, 7, 9, 10 ]
gap> CharNames(uc){f.charNumbers};
[ "phi{2,1}", "phi{2,2}", "phi{1,3}''", "phi{1,3}'", "G2[1]",
"G2[-1]", "G2[E3]", "G2[E3^2]" ]

The Fourier matrix is obtained by Fourier(f); the field f.charNumbers holds the indices of the unipotent characters which are in the family. We obtain the list of eigenvalues of Frobenius for these unipotent characters by Eigenvalues(f). The Fourier matrix and vector of eigenvalues satisfy the properties of fusion data, see below. The field f.charLabels is what is displayed in the column labels when displaying the family. It contains labels naturally attached to lines of the Fourier matrix. In the case of reductive groups, the family is always attached to the DrinfeldDouble of a small finite group and the .charLabels come from this construction.

## 98.14 Family

Family(f [, charNumbers [, opt]])

This function creates a new family in two possible ways.

In the first case f is a string which denotes a family known to CHEVIE. Examples are "S3", "S4", "S5" which denote the family obtained as the Drinfeld double of the symmetric group on 3,4,5 elements, or "C2" which denotes the Drinfeld double of the cyclic group of order 2.

In the second case f is already a family record.

The other (optional) arguments add information to the family record defined by the first argument. If given, the second argument becomes the field .charNumbers. If given, the third argument opt is a record whose fields are added to the resulting family record.

If opt has a field signs, this field should be a list of 1 and -1, and then the Fourier matrix is conjugated by the diagonal matrix of those signs. This is used in Spetses to adjust the matrix to the choice of signs of unipotent degrees.

    gap> Display(Family("C2"));
C2
label |eigen
___________________________________
(1,1)    |    1 1/2  1/2  1/2  1/2
(g2,1)   |    1 1/2  1/2 -1/2 -1/2
(1,eps)  |    1 1/2 -1/2  1/2 -1/2
(g2,eps) |   -1 1/2 -1/2 -1/2  1/2
gap> Display(Family("C2",[4..7],rec(signs:=[1,-1,1,-1])));
C2
label |eigen signs
_________________________________________
(1,1)    |    1     1  1/2 -1/2 1/2 -1/2
(g2,1)   |    1    -1 -1/2  1/2 1/2 -1/2
(1,eps)  |    1     1  1/2  1/2 1/2  1/2
(g2,eps) |   -1    -1 -1/2 -1/2 1/2  1/2

## 98.15 Operations for families

Fourier(f):

returns the Fourier matrix for the family f.

Eigenvalues(f):

returns the list of eigenvalues of Frobenius associated to f.

String(f), Print(f):

give a short description of the family.

Display(f):

displays the labels, eigenvalues and Fourier matrix for the family.

Size(f):

how many characters are in the family.

f*g:

returns the tensor product of two families f and g; the Fourier matrix is the Kronecker product of the matrices for f and g, and the eigenvalues of Frobenius are the pairwise products.

ComplexConjugate(f):

is a synonym for OnFamily(f,-1).

## 98.16 IsFamily

IsFamily(obj)

returns true if obj is a family, and false otherwise.

    gap> List(UnipotentCharacters(ComplexReflectionGroup(4)).families,IsFamily);
[ true, true, true, true ]

## 98.17 OnFamily

OnFamily(f,p)

f should be a family. This function has two forms.

In the first form, p is a permutation, and the function returns a copy of the family f with the Fourier matrix, eigenvalues of Frobenius, .charLabels, etc... permuted by p.

In the second form, p is an integer and x->GaloisCyc(x,p) is applied to the Fourier matrix and eigenvalues of Frobenius of the family.

    gap> f:=UnipotentCharacters(ComplexReflectionGroup(3,1,1)).families[2];
Family("0011",[4,3,2])
gap> Display(f);
0011
label |eigen         1            2            3
_________________________________________________
1     | E3^2  ER(-3)/3     ER(-3)/3    -ER(-3)/3
2     |    1  ER(-3)/3 (3-ER(-3))/6 (3+ER(-3))/6
3     |    1 -ER(-3)/3 (3+ER(-3))/6 (3-ER(-3))/6
gap> Display(OnFamily(f,(1,2,3)));
0011
label |eigen            3         1            2
_________________________________________________
3     |    1 (3-ER(-3))/6 -ER(-3)/3 (3+ER(-3))/6
1     | E3^2    -ER(-3)/3  ER(-3)/3     ER(-3)/3
2     |    1 (3+ER(-3))/6  ER(-3)/3 (3-ER(-3))/6
gap> Display(OnFamily(f,-1));
'0011
label |eigen         1            2            3
_________________________________________________
1     |   E3 -ER(-3)/3    -ER(-3)/3     ER(-3)/3
2     |    1 -ER(-3)/3 (3+ER(-3))/6 (3-ER(-3))/6
3     |    1  ER(-3)/3 (3-ER(-3))/6 (3+ER(-3))/6

## 98.18 FamiliesClassical

FamiliesClassical(l)

The list l should be a list of symbols as returned by the function Symbols, which classify the unipotent characters of groups of type "B", "C" or "D". FamiliesClassical returns the list of families determined by these symbols.

    gap> FamiliesClassical(Symbols(3,1));
[ Family("0112233",[4]), Family("01123",[1,3,8]),
Family("013",[5,7,10]), Family("022",[6]), Family("112",[2]),
Family("3",[9]) ]

The above example shows the families of unipotent characters for the group B3.

## 98.19 FamilyImprimitive

FamilyImprimitive(S)

S should be a symbol for a unipotent characters of an imprimitive complex reflection group G(e,1,n) or G(e,e,n). The function returns the family of unipotent characters to which the character with symbol S belongs.

    gap> FamilyImprimitive([[0,1],[1],[0]]);
Family("0011")
gap> Display(last);
0011
label |eigen         1            2            3
_________________________________________________
1     | E3^2  ER(-3)/3    -ER(-3)/3     ER(-3)/3
2     |    1 -ER(-3)/3 (3-ER(-3))/6 (3+ER(-3))/6
3     |    1  ER(-3)/3 (3+ER(-3))/6 (3-ER(-3))/6

## 98.20 DrinfeldDouble

DrinfeldDouble(g[,opt])

Given a (usually small) finite group Γ, Lusztig has associated a family (a Fourier matrix, a list of eigenvalues of Frobenius) which describes the representation ring of the Drinfeld double of the group algebra of Γ, and for some appropriate small groups describes a family of unipotent characters. We do not explain the details of this construction, but explain how its final result building Lusztig's Fourier matrix, and a variant of it that we use in Spetses, from Γ.

The elements of the family are in bijection with the set M(Γ) of pairs (x,χ) taken up to Γ-conjugacy, where x∈Γ and χ is an irreducible complex-valued character of CΓ(x). To such a pair ρ=(x,χ) is associated an eigenvalue of Frobenius defined by ωρ:=χ(x)/χ(1). Lusztig then defines a Fourier matrix T whose coefficient is given, for ρ=(x,χ) and ρ'=(x', χ'), by:

 Tρ,ρ':=#CΓ(x)-1 ∑ρ1=(x1,χ1)χ1(x)χ(y1)

where the sum is over all pairs ρ1 M(Γ) which are Γ-conjugate to ρ' and such that y1∈ CΓ(x). This coefficient also represents the scalar product ⟨ρ,ρ'⟩GF of the corresponding unipotent characters.

A way to understand the formula for Tρ,ρ' better is to consider another basis of the complex vector space with basis M(Γ), indexed by the pairs (x,y) taken up to Γ-conjugacy, where x and y are commuting elements of Γ. This basis is called the basis of Mellin transforms, and given by:

 (x,y)=∑χ∈ Irr(CΓ(x))χ(y)(x,χ)

In the basis of Mellin transforms, the linear map T is given by (x,y)→(x-1,y-1) and the linear transformation which sends ρ to ωρρ becomes (x,y)→(x,xy). These are particular cases of the permutation representation of GL2(ℤ) on the basis of Mellin transforms where (
 a b c d
)

acts by (x,y)→(xayb,xcyd).

Fourier matrices in finite reductive groups are given by the above matrix T. But for non-rational Spetses, we use a different matrix S which in the basis of Mellin transforms is given by (x,y)→(y-1,x). Equivalently, the formula Sρ,ρ' differs from the formula for Tρ,ρ' in that there is no complex conjugation of χ1; thus the matrix S is equal to T multiplied on the right by the permutation matrix which corresponds to (x,χ)→(x,χ). The advantage of the matrix S over T is that the pair S,Ω satisfies directly the axioms for a fusion algebra (see below); also the matrix S is symmetric, while T is Hermitian.

Thus there are two variants of DrinfeldDouble:

DrinfeldDouble(g,rec(lusztig:=true))

returns a family containing Lusztig's Fourier matrix T, and an extra field .perm containing the permutation of the indices induced by (x,χ)→(x,χ), which allows to recover S, as well as an extra field .lusztig, set to true.

DrinfeldDouble(g)

returns a family with the matrix S, which does not have fields .lusztig or .perm.

The family record f returned also has the fields:

.group:

the group Γ.

.charLabels:

a list of labels describing the pairs (x,χ), and thus also specifying in which order they are taken.

.fourierMat:

the Fourier matrix (the matrix S or T depending on the call).

.eigenvalues:

the eigenvalues of Frobenius.

.xy:

a list of pairs [x,y] which are representatives of the Γ-orbits of pairs of commuting elements.

.mellinLabels:

a list of labels describing the pairs [x,y].

.mellin:

the base change matrix between the basis (x,χ) and the basis of Mellin transforms, so that f.fourierMat^(f.mellin^-1) is the permutation matrix (for (x,y)→(y-1,x) or (x,y)→(y-1,x-1) depending on the call).

.special:

the index of the special element, which is (x,χ)=(1,1).

    gap> f:=DrinfeldDouble(SymmetricGroup(3));
Family("D(Group((1,3),(2,3)))")
gap> Display(f);
D(Group((1,3),(2,3)))
label |eigen
_______________________________________________________
(1,1)    |    1 1/6  1/6  1/3  1/2  1/2  1/3  1/3  1/3
(1,X.2)  |    1 1/6  1/6  1/3 -1/2 -1/2  1/3  1/3  1/3
(1,X.3)  |    1 1/3  1/3  2/3    0    0 -1/3 -1/3 -1/3
(2a,1)   |    1 1/2 -1/2    0  1/2 -1/2    0    0    0
(2a,X.2) |   -1 1/2 -1/2    0 -1/2  1/2    0    0    0
(3a,1)   |    1 1/3  1/3 -1/3    0    0  2/3 -1/3 -1/3
(3a,X.2) |   E3 1/3  1/3 -1/3    0    0 -1/3 -1/3  2/3
(3a,X.3) | E3^2 1/3  1/3 -1/3    0    0 -1/3  2/3 -1/3
gap> f:=DrinfeldDouble(SymmetricGroup(3),rec(lusztig:=true));
Family("LD(Group((1,3),(2,3)))")
gap> Display(f);
LD(Group((1,3),(2,3)))
label |eigen
_______________________________________________________
(1,1)    |    1 1/6  1/6  1/3  1/2  1/2  1/3  1/3  1/3
(1,X.2)  |    1 1/6  1/6  1/3 -1/2 -1/2  1/3  1/3  1/3
(1,X.3)  |    1 1/3  1/3  2/3    0    0 -1/3 -1/3 -1/3
(2a,1)   |    1 1/2 -1/2    0  1/2 -1/2    0    0    0
(2a,X.2) |   -1 1/2 -1/2    0 -1/2  1/2    0    0    0
(3a,1)   |    1 1/3  1/3 -1/3    0    0  2/3 -1/3 -1/3
(3a,X.2) |   E3 1/3  1/3 -1/3    0    0 -1/3  2/3 -1/3
(3a,X.3) | E3^2 1/3  1/3 -1/3    0    0 -1/3 -1/3  2/3

## 98.21 NrDrinfeldDouble

NrDrinfeldDouble(g)

This function returns the number of elements that the family associated to the Drinfeld double of the group g would have, without computing it. The evident advantage is the speed.

    gap> NrDrinfeldDouble(ComplexReflectionGroup(5));
378

## 98.22 FusionAlgebra

FusionAlgebra(f)

The argument f should be a family, or the Fourier matrix of a family. All the Fourier matrices S in CHEVIE are unitary, that is S-1=tS, and have a special line s (the line of index s=f.special for a family f) such that no entry Ss,i is equal to 0. Further, they have the property that the sums Ci,j,k:=∑l Si,l Sj,lSk,l/Ss,l take integral values. Finally, S has the property that complex conjugation does a permutation with signs σ of the lines of S.

It follows that we can define a -algebra A as follows: it has a basis bi indexed by the lines of S, and has a multiplication defined by the fact that the coefficient of bibj on bk is equal to Ci,j,k.

A is commutative, and has as unit the element bs; the basis σ(bi) is dual to bi for the linear form (bi,bj)=Ci,j,σ(s).

    gap> W:=ComplexReflectionGroup(4);;uc:=UnipotentCharacters(W);
UnipotentCharacters( G4 )
gap> f:=uc.families[4];
Family("RZ/6^2[1,3]",[2,4,10,9,3])
gap> A:=FusionAlgebra(f);
Fusion algebra dim.5
gap> b:=A.basis;
[ T(1), T(2), T(3), T(4), T(5) ]
gap> List(b,x->x*b);
[ [ T(1), T(2), T(3), T(4), T(5) ],
[ T(2), -T(4)+T(5), T(1)+T(4), T(2)-T(3), T(3) ],
[ T(3), T(1)+T(4), -T(4)+T(5), -T(2)+T(3), T(2) ],
[ T(4), T(2)-T(3), -T(2)+T(3), T(1)+T(4)-T(5), -T(4) ],
[ T(5), T(3), T(2), -T(4), T(1) ] ]
gap> CharTable(A);

1        2        3   4   5

1   1  -ER(-3)   ER(-3)   2  -1
2   1        1        1   .   1
3   1       -1       -1   .   1
4   1        .        .  -1  -1
5   1   ER(-3)  -ER(-3)   2  -1


gap3-jm
18 Jun 2018