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, or 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);
    gap> uc:=UnipotentCharacters(W);
    UnipotentCharacters( G2 )
    gap> Display(uc);
    Unipotent characters for G2
         gamma |  Deg(gamma) FakeDegree Fr(gamma)     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.

One can get more information on the Lusztig Fourier matrix of the big family by asking

    gap> Display(uc.families[1]);
        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);
    gap> T:=ReflectionCoset(ReflectionSubgroup(W,[]),EltWord(W,[1,2]));
    gap> u:=UnipotentCharacter(T,1);

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

    gap> LusztigInduction(W,u);
    gap> v:=DeligneLusztigCharacter(W,[1,2]);
    gap> Degree(v);
    q^6 + q^5 - q^4 - 2*q^3 - q^2 + q + 1
    gap> v*v;

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
       gamma |           Deg(gamma) FakeDegree Fr(gamma)    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


  1. UnipotentCharacters
  2. Operations for UnipotentCharacters
  3. UnipotentCharacter
  4. Operations for Unipotent Characters
  5. UnipotentDegrees
  6. Ennola
  7. CycPolUnipotentDegrees
  8. DeligneLusztigCharacter
  9. AlmostCharacter
  10. LusztigInduction
  11. LusztigRestriction
  12. LusztigInductionTable
  13. DeligneLusztigLefschetz
  14. PermutationOnUnipotents
  15. Families of unipotent characters
  16. Family
  17. Operations for families
  18. IsFamily
  19. OnFamily
  20. FamiliesClassical
  21. FamilyImprimitive
  22. DrinfeldDouble
  23. NrDrinfeldDouble
  24. FusionAlgebra
  25. The d-Harish-Chandra series
  26. Series

98.1 UnipotentCharacters


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:


a pointer to W


the list of names of the unipotent characters.


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


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:


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


the name of the unipotent cuspidal character lambda.


the eigenvalue of Frobenius for λ.


the reflection type of WG(L);


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.


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


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);
    gap> WF:=CoxeterCoset(W,(1,2));
    gap> uc:=UnipotentCharacters(W);
    UnipotentCharacters( Bsym2 )
    gap> Display(uc);
    Unipotent characters for Bsym2
    gamma |Deg(gamma) FakeDegree Fr(gamma) 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];
      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];
    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

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]" ]

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


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


The name of the unipotent character.


The degree of the unipotent character.


The degree of the corresponding almost character.


The eigenvalue of Frobenius attached to the unipotent character.


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


The parameter the character has in its Lusztig family.


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);
    gap> uc:=UnipotentCharacters(W);
    UnipotentCharacters( B2 )
    gap> Display(uc);
    Unipotent characters for B2
    gamma |Deg(gamma) FakeDegree Fr(gamma) 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
    gamma |Deg(gamma) FakeDegree Fr(gamma) 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
    n^0 |gamma   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


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);
    gap> u:=UnipotentCharacter(W,7);
    gap> v:=UnipotentCharacter(W,"G2[E3]");
    gap> w:=UnipotentCharacter(W,[1,0,0,-1,0,0,2,0,0,1]);

98.4 Operations for Unipotent Characters

Adds the specified 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;
    gap> w-2*u;
    gap> w*w;


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);
      long := true )
    gap> w;
    <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));
    gap> u:=UnipotentCharacter(W,2);
    gap> Frobenius(WF)(u);
    gap> Frobenius(WF)(u,-1);

98.5 UnipotentDegrees


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);
    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 Ennola


Let W be an irreducible spetsial reflection group or coset, and z the generator of the center of W, viewed as a root of unity. A property checked case-by case is that, for a unipotent character γ with polynomial generic degree \degγ(q) of the spets attached to W (this spets is a finite reductive group, for W a Weyl group, in which case z=-1 if -1 is in W), \degγ(zq) is equal to ±\deg En(γ)(q) for another unipotent character En(γ), the Ennola transform of γ. The function returns the permutation-with-signs done by En on the unipotent degrees (as a permutation-with signs of [1..Size(UnipotentCharacters(W))]). The argument W must be irreducible.

The permutation-with-signs is not uniquely determined by the degrees since two of them may be equal, but is uniquely determined by some additional axioms that we do not recall here.

    gap> Ennola(RootDatum("3D4"));
    gap> Ennola(ComplexReflectionGroup(14));

The last example shows that it may happen that the order of z-Ennola (here 18) is greater than the order of z (here 6); this is related to the presence of irrationalities in the character table of the spetsial Hecke algebra of W.

98.7 CycPolUnipotentDegrees


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);
    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.8 DeligneLusztigCharacter


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);
    gap> DeligneLusztigCharacter(W,3);
    gap> DeligneLusztigCharacter(W,W.1);
    gap> DeligneLusztigCharacter(W,[1]);
    gap> DeligneLusztigCharacter(W,[1,2]);

98.9 AlmostCharacter


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);
    gap> AlmostCharacter(W,3);
    gap> AlmostCharacter(W,1);

98.10 LusztigInduction


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);
    gap> u:=UnipotentCharacter(T,1);
    gap> LusztigInduction(CoxeterCoset(W),u);
    gap> DeligneLusztigCharacter(W,W.1);

98.11 LusztigRestriction


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);
    gap> u:=DeligneLusztigCharacter(W,W.1);
    gap> LusztigRestriction(T,u);
    gap> T:=CoxeterSubCoset(CoxeterCoset(W),[],W.2);
    gap> LusztigRestriction(T,u);

98.12 LusztigInductionTable


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.13 DeligneLusztigLefschetz


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);
    gap> T:=Basis(H,"T");
    function ( arg ) ... end
    gap> DeligneLusztigLefschetz(T(1,2));
    gap> DeligneLusztigLefschetz((T(1)+T())*(T(2)+T()));

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);
    gap> T:=Basis(H,"T");
    function ( arg ) ... end
    gap> DeligneLusztigLefschetz(T(1));

98.14 PermutationOnUnipotents


W is a reflection group or reflection coset representing a finite reductive group GF, and aut is an automorphism of GF (for W a permutation group, this can be given as a permutation of the roots). The function returns the permutation of the unipotent characters of GF induced by aut. This makes sense for Spetsial complex reflection groups and is implemented for them.

    gap> WF:=RootDatum("3D4");
    gap> PermutationOnUnipotents(Group(WF),WF.phi);
    ( 1, 7, 2)( 8,12, 9)

98.15 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];
    gap> Display(f);
        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.16 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"));
       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])));
       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.17 Operations for families


returns the Fourier matrix for the family f.


returns the list of eigenvalues of Frobenius associated to f.

String(f), Print(f):

give a short description of the family.


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


how many characters are in the family.


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.


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

98.18 IsFamily


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

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

98.19 OnFamily


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];
    gap> Display(f);
    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)));
    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));
    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.20 FamiliesClassical


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.21 FamilyImprimitive


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]]);
    gap> Display(last);
    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.22 DrinfeldDouble


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:


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 (

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:


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.


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

The family record f returned also has the fields:


the group Γ.


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


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


the eigenvalues of Frobenius.


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


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


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


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

    gap> f:=DrinfeldDouble(SymmetricGroup(3));
    gap> Display(f);
       label |eigen
    (Id,Id)  |    1 1/6  1/6  1/3  1/2  1/2  1/3  1/3  1/3
    (Id,X.2) |    1 1/6  1/6  1/3 -1/2 -1/2  1/3  1/3  1/3
    (Id,X.3) |    1 1/3  1/3  2/3    0    0 -1/3 -1/3 -1/3
    (2a,Id)  |    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,Id)  |    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));
    gap> Display(f);
       label |eigen
    (Id,Id)  |    1 1/6  1/6  1/3  1/2  1/2  1/3  1/3  1/3
    (Id,X.2) |    1 1/6  1/6  1/3 -1/2 -1/2  1/3  1/3  1/3
    (Id,X.3) |    1 1/3  1/3  2/3    0    0 -1/3 -1/3 -1/3
    (2a,Id)  |    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,Id)  |    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.23 NrDrinfeldDouble


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

98.24 FusionAlgebra


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];
    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

98.25 The d-Harish-Chandra series

d-Harish-Chandra series describe unipotent l-blocks of a finite reductive group G(\BFq) for l|Φd(q) (at least, when l is not too small which means mostly not a bad prime for G). Some of the facts stated below are still partly conjectural, we do not try to distinguish precisely what has been established and what is still conjectural.

If (L,λ) is a d-cuspidal pair then the constituents of the Lusztig induced RLG(λ) are called a d-Harish-Chandra series; they form the unipotent part of an l-block of GF. It is conjectured (and proven in some cases) that the GF-endomorphism algebra of the l-adic cohomology of the variety \bX which defines the Lusztig induction is a d-cyclotomic Hecke algebra HG(L,λ) for the group WG(L,λ):=NG(L,λ)/L, which is a complex reflection group --- here d-cyclotomic means that the parameters of HG(L,λ) are monomials in q and that HG(L,λ) specializes to the algebra of WG(L,λ) for q→E(d).

It follows that the decomposition of the Lusztig induction is of the form

RLG(λ)=∑φ∈Irr(WG(L,λ))(-1)nφ φ(1)γφ,
where γφ is a unipotent character of GF attached to φ and where nφ is the degree Hnφc(\bX) where γφ occurss; and further for any φ we have RLG(λ)(1)= (-1)nφ γφ(1)Sφ where Sφ is the Schur element of the character of HG(L,λ) which deforms to φ. The function Series allows to explore a d-Harish-Chandra series.

    gap> W:=RootDatum("3D4");;
    gap> l:=CuspidalPairs(W,3);
    [ [ 3D4, 8 ], [ (q^2+q+1)^2, 1 ] ]
    gap> s:=Series(W,l[2][1],l[2][2],3);;
    gap> Display(s);
    E(3)-series R^{3D4}_{(q^2+q+1)^2}() H_G(L,c)=Hecke(G4,[[E3q^2,E3,E3q]])
      |      Name  WGLname eps family #

____________________________________ 1 | phi{1,0} phi{1,0} 1 1 2 | phi{1,6} phi{1,4} 1 2 3 | phi{2,2} phi{1,8} -1 5 6 | phi{1,3}' phi{2,5} 1 4 5 |phi{1,3}'' phi{2,3} -1 3 7 | phi{2,1} phi{2,1} -1 5 4 | 3D4[1] phi{3,2} 1 5

Above we explore the 3-series corresponding to RTG(Id) where G is the triality group and T is the torus of type (q2+q+1)2. The group WG(T) is the complex reflection group G4. The displays shows in the column Name the name of the unipotent characters constituents of RTG(Id), and in the first column the number of these characters in the list of unipotent characters. In the column WGLname the name of the character φ of WG(T) corresponding to the unipotent character γφ is shown; in the column eps we show the sign (-1)nφ. Finally in the last column we show in which family of unipotent characters is γφ.

The theory of d-Harish-Chandra series can be generalized to spetsial complex reflection groups using some axioms. We show below an example.

    gap> W:=ComplexReflectionGroup(4);
    gap> l:=CuspidalPairs(W,3);
    [ [ G4, 3 ], [ G4, 6 ], [ G4, 7 ], [ G4, 10 ], [ (q-1)(q-E3), 1 ] ]
    gap> s:=Series(W,l[5][1],l[5][2],3);;
    gap> Display(s);
    E(3)-series R^{G4}_{(q-1)(q-E3)}() W_G(L,c)=Z6
      |    Name WGLname(mod 3) eps  param family #

_______________________________________________ 1 |phi{1,0} 1 1 E3q^2 1 5 |phi{2,3} -E3^2 1 -E3q 2 2 |phi{1,4} E3 -1 E3 4 8 | Z3:2 -1 -1 -E3^2q 2 9 | Z3:11 E3^2 -1 E3^2 4 4 |phi{2,5} -E3 -1 -E3 4

Above we explore the 3-series corresponding to the trivial character of the torus of type (q-1)(q-E(3)). For cyclic groups WG(L,λ) we display the parameters in the table since they are associated to characters of WG(L,λ). Finally the mention (mod 3) which appears in the WGLname column means that in this case the axioms leave an ambiguity in the correspondence between unipotent characters γφ and characters φ (as well as with parameters): the correspondence is known only up to a translation by 3 (in this case, the same as a global multiplication of all φ by -1).

Finally, we should note that if the reflection group or coset W is not defined over the integers, what counts is not cyclotomic polynomials but factors of them over the field of definition of W. In this case, one should not give as argument an integer d representing E(d) but specify a root of unity with a fraction r/d representing E(d)^r. For instance, in the above case we get a different answer with:

    gap> CuspidalPairs(W,2/3);
    [ [ G4, 2 ], [ G4, 5 ], [ G4, 7 ], [ G4, 10 ], [ (q-1)(q-E3^2), 1 ] ]

98.26 Series

Series(W, L, cuspidal, d)

If the reflection coset or group W corresponds to the algebraic group G and cuspidal to the d-cuspidal unipotent character λ of L, constructs the d-series corresponding to RLG(λ). If s is the result, it is a record with the following fields and functions:

the reflection group or coset W.

the subcoset L.

the index of λ in UnipotentCharacters(L).

the value of d (represents a root of unity as a fraction in [0,1[).

the group WG(L,λ).

the UnipotentCharacter given by RLG(λ).

for each character φ of s.WGL the sign (-1)nφ in the cohomology of the variety defining s.RLG of the corresponding constituent γφ of s.RLG.

the generic degree of s.RLG, as a CycPol.

the indices in UnipotentCharacters(W) of the constituents of s.RLG.

the hecke algebra HG(L,λ).

The function Series has another form:

Series(W [,d [,ad]])

returns all the d-series of W corresponding to a d-eigenspace of dimension ad (default d=1, and if ad not given returns all d-series).

    gap> W:=ComplexReflectionGroup(4);
    gap> Series(W,3,1);
    [ E(3)-series R^{G4}_{(q-1)(q-E3)}() W_G(L,c)=Z6 ]
    gap> s:=last[1];
    E(3)-series R^{G4}_{(q-1)(q-E3)}() W_G(L,c)=Z6
    gap> s.spets;
    gap> s.levi;
    gap> s.cuspidal;
    gap> s.d;
    gap> Hecke(s);
    gap> Degree(s);
    gap> s.RLG;
    gap> CharNumbers(s);
    [ 1, 5, 2, 8, 9, 4 ]
    gap> s.eps;
    [ 1, 1, -1, -1, -1, -1 ]
    gap> ReflectionName(s.WGL);
Previous Up Next

24 Apr 2021