Unipotent characters

Chevie.Uch β€” Module

Let $𝐆$ be a connected reductive group over the algebraic closure of a finite field $𝔽_q$, defined over $𝔽_q$ with corresponding Frobenius automorphism $F$. We want to study the irreducible characters of $𝐆 ^F$. More generally we consider $𝐆 ^F$ where $F$ is an isogeny of $𝐆$ such that a power is a Frobenius (this covers the Suzuki and Ree groups).

If $𝐓$ is an $F$-stable maximal torus of $𝐆$, and $𝐁$ is a (not necessarily $F$-stable) Borel subgroup containing $𝐓$, we define the Deligne-Lusztig variety $X_𝐁=\{g𝐁 ∈ 𝐆 /𝐁 ∣ g𝐁 ∩ F(g𝐁 )β‰ βˆ… \}$. This variety affords a natural action of $𝐆 ^F$ on the left, so the corresponding Deligne-Lusztig virtual module $H^*_c(X_𝐁):=βˆ‘α΅’ (-1)ⁱ Hⁱ_c(X_𝐁,β„šΜ„ _β„“)$ also. The (virtual) character of this module is the Deligne-Lusztig character $R_𝐓 ^𝐆 (1)$; the notation reflects the theorem that this character does not depend on the choice of $𝐁$. This character can be parameterized by an $F$-conjugacy class of $W$: if $π“β‚€βŠ‚πβ‚€$ is an $F$-stable pair, there is an unique $w∈ W=N_𝐆 (𝐓₀)/𝐓₀$ such that the triple $(𝐓,𝐁,F)$ is $𝐆$-conjugate to $(𝐓₀,𝐁₀,wF)$. We will thus denote $R_w$ for $R_𝐓^𝐆 (1)$; this character depends only on the $F$-class of $w$.

The unipotent characters of $𝐆 ^F$ are the irreducible constituents of the $R_w$. In a similar way that the Jordan decomposition shows that the unipotent classes are a building block for describing the conjugacy classes of a reductive group, Lusztig has defined a Jordan decomposition of characters where the unipotent characters are the building block. The unipotent characters are parameterized by combinatorial data that Lusztig has defined just from the coset $WΟ†$, where Ο† is the finite order automorphism of $X(𝐓₀)$ such that $F=qΟ†$. Thus, from our viewpoint, unipotent characters are objects combinatorially attached to a Coxeter coset.

A subset of the unipotent characters, the principal series unipotent characters, can be described in a more elementary way. They are the constituents of $R₁$, or equivalently the characters of the virtual module $H^*_c(X_{𝐁 β‚€})$, where $X_{𝐁 β‚€}$ is the discrete variety $(𝐆 /𝐁₀)^F$; this virtual module reduces to the actual module $β„šΜ„ _β„“[(𝐆 /𝐁₀) ^F]$. Thus the Deligne-Lusztig induction $R_{𝐓₀}^𝐆 (1)$ reduces to Harish-Chandra induction, defined as follows: let $𝐏 =𝐔 β‹Š 𝐋$ be an $F$-stable Levi decomposition of an $F$-stable parabolic subgroup of $𝐆$. Then the Harish-Chandra induced $R_𝐋^𝐆$ of a character $Ο‡$ of $𝐋^F$ is the character $Ind_{𝐏^F}^{𝐆 ^F}Ο‡Μƒ$, where $Ο‡Μƒ$ is the lift to $𝐏^F$ of $Ο‡$ via the quotient $𝐏^F/𝐔 ^F=𝐋^F$; Harish-Chandra induction is a particular case of Lusztig induction, which is defined when $𝐏$ is not $F$-stable using the variety $X_𝐔 =\{ g𝐔 βˆˆπ† /𝐔 ∣ g𝐔 ∩ F(g𝐔 )β‰ βˆ…\}$, and gives for an $𝐋^F$-module a virtual $𝐆 ^F$-module. Like ordinary induction, these functors have adjoint functors going from representations of $𝐆 ^F$ to representations (resp. virtual representations) of $𝐋^F$ called Harish-Chandra restriction (resp. Lusztig restriction).

The commuting algebra of $𝐆^F$-endomorphisms of $R₁=R_{𝐓₀}^𝐆(1)$ is an Iwahori-Hecke algebra for $W^Ο†$, with parameters some powers of q; the parameters are all equal to q when $W^Ο†=W$. Thus principal series unipotent characters are parametrized by characters of $W^Ο†$.

To understand the decomposition of more general $R_w$, and thus parameterize unipotent characters, is is useful to introduce another set of class functions which are parameterized by irreducible characters of the coset $WΟ†$. If $Ο‡$ is such a character, we define the associated almost character by: $Rα΅ͺ=|W|β»ΒΉβˆ‘_{w∈ W}Ο‡(wΟ†) R_w$. The name reflects that these class function are close to irreducible characters. They satisfy $⟨Rα΅ͺ, R_ψ⟩_{𝐆^F}=Ξ΄_{Ο‡,ψ}$; for the linear and unitary group they are actually unipotent characters (up to sign in the latter case). They are in general the sum (with rational coefficients) of a small number of unipotent characters in the same Lusztig family, see Families. The degree of $Rα΅ͺ$ is a polynomial in $q$ equal to the fake degree of the character $Ο‡$ of $WΟ†$ (see fakedegree).

We now describe the parameterization of unipotent characters when $W^Ο†=W$, thus when the coset $WΟ†$ identifies with $W$ (the situation is similar but a bit more difficult to describe in general). The (rectangular) matrix of scalar products $⟨ρ, Rα΅ͺ⟩_{𝐆 ^F}$, 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 𝓕 corresponds to a block of the Hecke algebra over a ring called the Rouquier ring. To 𝓕 Lusztig associates a small group $Ξ“$ (not bigger than $(β„€/2)ⁿ$, or $𝔖ᡒ$ 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 𝓕 themselves are parameterized by a subset of such pairs, and Lusztig defines a pairing between such pairs which computes the scalar product $⟨ρ, Rα΅ͺ⟩_{𝐆^F}$, called the Lusztig Fourier matrix. For more details see drinfeld_double.

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 $GLβ‚™$ for $n>1$, and at most one in other classical groups). The $𝐆^F$-endomorphism algebra of an Harish-Chandra induced $R_{𝐋^F}^{𝐆^F}Ξ»$, where $Ξ»$ is a cuspidal unipotent character turns out to be a Hecke algebra associated to the group $W_{𝐆^F}(𝐋^F):=N_{𝐆^F}(𝐋)/𝐋$, which turns out to be a Coxeter group. Thus another parameterization is by triples $(𝐋,Ξ»,Ο†)$, where $Ξ»$ is a cuspidal unipotent character of $𝐋^F$ and $Ο†$ is an irreducible character of the relative group $W_{𝐆^F}(𝐋^F)$. Such characters are said to belong to the Harish-Chandra series determined by $(𝐋,Ξ»)$.

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 $𝐆^F$; 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 $(𝐋,Ξ»)$ have the same eigenvalue of Frobenius as $Ξ»$.

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

julia> W=coxgroup(:G,2)
Gβ‚‚

julia> uc=UnipotentCharacters(W)
UnipotentCharacters(Gβ‚‚)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Ξ³      β”‚nβ‚€    Deg(Ξ³)  Feg              Symbol Fr(Ξ³)    labelβ”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚Ο†β‚β€šβ‚€   β”‚ 1         1    1       (0,0,0,0,0,2)     1         β”‚
β”‚Ο†β‚β€šβ‚†   β”‚ 2        q⁢   q⁢ (01,01,01,01,01,12)     1         β”‚
β”‚Ο†β€²β‚β€šβ‚ƒ  β”‚ 3   qΦ₃Φ₆/3   qΒ³            (0,0,1+)     1    (1,ρ)β”‚
β”‚Ο†β€³β‚β€šβ‚ƒ  β”‚ 4   qΦ₃Φ₆/3   qΒ³            (0,0,1-)     1   (g₃,1)β”‚
β”‚Ο†β‚‚β€šβ‚   β”‚ 5  qΦ₂²Φ₃/6  qΞ¦β‚ˆ       (0,0,0,0,1,1)     1    (1,1)β”‚
β”‚Ο†β‚‚β€šβ‚‚   β”‚ 6  qΦ₂²Φ₆/2 qΒ²Ξ¦β‚„       (0,0,0,1,0,1)     1   (gβ‚‚,1)β”‚
β”‚Gβ‚‚[-1] β”‚ 7  qΦ₁²Φ₃/2    0       (01,0,01,,0,)    -1   (gβ‚‚,Ξ΅)β”‚
β”‚Gβ‚‚[1]  β”‚ 8  qΦ₁²Φ₆/6    0       (01,01,0,,,0)     1    (1,Ξ΅)β”‚
β”‚Gβ‚‚[΢₃] β”‚ 9 qΦ₁²Φ₂²/3    0       (01,0,0,01,,)    ΢₃  (g₃,΢₃)β”‚
β”‚Gβ‚‚[΢₃²]β”‚10 qΦ₁²Φ₂²/3    0       (01,01,,0,0,)   ΢₃² (g₃,΢₃²)β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The first column gives the name of the unipotent character, derived from its Harish-Chandra classification; the first 6 characters are in the principal series so are named by characters of W. The last 4 are cuspidal, and named by the corresponding eigenvalue of Frobenius, which is displayed in the fourth column. For classical groups, the Harish-Chandra data can be synthesized combinatorially to give a symbol.

The first two characters are each in a Lusztig family by themselves. The last eight are in a family associated to the group Ξ“=𝔖₃: the last column shows the parameters (x,ΞΈ). The third 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 (extended by 0 outside the principal series).

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

julia> uc.families[1]
Family(D(𝔖 ₃),[5, 6, 4, 3, 8, 7, 9, 10],ennola=-5)
Drinfeld double of 𝔖 ₃, Lusztigβ€²s version
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚label   β”‚eigen                                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚(1,1)   β”‚    1 1//6  1//2  1//3  1//3  1//6  1//2  1//3  1//3β”‚
β”‚(gβ‚‚,1)  β”‚    1 1//2  1//2     .     . -1//2 -1//2     .     .β”‚
β”‚(g₃,1)  β”‚    1 1//3     .  2//3 -1//3  1//3     . -1//3 -1//3β”‚
β”‚(1,ρ)   β”‚    1 1//3     . -1//3  2//3  1//3     . -1//3 -1//3β”‚
β”‚(1,Ξ΅)   β”‚    1 1//6 -1//2  1//3  1//3  1//6 -1//2  1//3  1//3β”‚
β”‚(gβ‚‚,Ξ΅)  β”‚   -1 1//2 -1//2     .     . -1//2  1//2     .     .β”‚
β”‚(g₃,΢₃) β”‚   ΢₃ 1//3     . -1//3 -1//3  1//3     .  2//3 -1//3β”‚
β”‚(g₃,΢₃²)β”‚  ΢₃² 1//3     . -1//3 -1//3  1//3     . -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.

julia> W=coxgroup(:G,2)
Gβ‚‚

julia> T=spets(reflection_subgroup(W,Int[]),W(1,2))
Gβ‚‚β‚β‚Ž=Φ₆

julia> u=unipotent_character(T,1)
[Gβ‚‚β‚β‚Ž=Φ₆]:<Id>

To construct T one could equivalently do

julia> T=torus(W,position_class(W,W(1,2)))
Gβ‚‚β‚β‚Ž=Φ₆

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

julia> lusztig_induce(W,u)
[Gβ‚‚]:<Ο†β‚β€šβ‚€>+<Ο†β‚β€šβ‚†>-<Ο†β‚‚β€šβ‚>+<Gβ‚‚[-1]>+<Gβ‚‚[΢₃]>+<Gβ‚‚[΢₃²]>

julia> v=deligne_lusztig_character(W,[1,2])
[Gβ‚‚]:<Ο†β‚β€šβ‚€>+<Ο†β‚β€šβ‚†>-<Ο†β‚‚β€šβ‚>+<Gβ‚‚[-1]>+<Gβ‚‚[΢₃]>+<Gβ‚‚[΢₃²]>

julia> degree(v)
Pol{Int64}: q⁢+q⁡-q⁴-2q³-q²+q+1

julia> 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 BroueMalleMichel2014. An example:

julia> UnipotentCharacters(complex_reflection_group(4))
UnipotentCharacters(Gβ‚„)
β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Ξ³    β”‚nβ‚€            Deg(Ξ³)    Feg Fr(Ξ³)  labelβ”‚
β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚Ο†β‚β€šβ‚€ β”‚ 1                 1      1     1       β”‚
β”‚Ο†β‚β€šβ‚„ β”‚ 2  -√-3q⁴Φ″₃Φ₄Φ″₆/6     q⁴     1   1βˆ§ΞΆβ‚†β”‚
β”‚Ο†β‚β€šβ‚ˆ β”‚ 3   √-3q⁴Φ′₃Φ₄Φ′₆/6     q⁸     1 -1βˆ§ΞΆβ‚ƒΒ²β”‚
β”‚Ο†β‚‚β€šβ‚… β”‚ 4         q⁴Φ₂²Φ₆/2   q⁡Φ₄     1  1βˆ§ΞΆβ‚ƒΒ²β”‚
β”‚Ο†β‚‚β€šβ‚ƒ β”‚ 5 -ΞΆβ‚ƒβˆš-3qΦ″₃Φ₄Φ′₆/3   qΒ³Ξ¦β‚„     1  1βˆ§ΞΆβ‚ƒΒ²β”‚
β”‚Ο†β‚‚β€šβ‚ β”‚ 6 ΞΆβ‚ƒΒ²βˆš-3qΦ′₃Φ₄Φ″₆/3    qΞ¦β‚„     1   1βˆ§ΞΆβ‚ƒβ”‚
β”‚Ο†β‚ƒβ€šβ‚‚ β”‚ 7            q²Φ₃Φ₆ q²Φ₃Φ₆     1       β”‚
β”‚Z₃:2 β”‚ 8     -√-3qΦ₁Φ₂Φ₄/3      0   ΢₃² ΞΆβ‚ƒβˆ§ΞΆβ‚ƒΒ²β”‚
β”‚Z₃:11β”‚ 9    -√-3q⁴Φ₁Φ₂Φ₄/3      0   ΢₃² ΞΆβ‚ƒβˆ§ΞΆβ‚†β΅β”‚
β”‚Gβ‚„   β”‚10        -q⁴Φ₁²Φ₃/2      0    -1  ΞΆβ‚†βˆ§-1β”‚
β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
source
Chevie.Uch.UnipotentCharacters β€” Type

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:

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

:levi: a list 'l' such that 𝐋 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 $W_𝐆 (𝐋)$;

:parameterExponents: the $𝐆 ^F$-endomorphism algebra of $R_𝐋^𝐆 (Ξ»)$ is a Hecke algebra for $W_𝐆 (𝐋)$ with some parameters of the form $q^{a_s}$. This holds the list of exponents $a_s$.

:charNumbers: the indices of the unipotent characters indexed by the irreducible characters of $W_𝐆 (𝐋)$.

.almostHarishChandra: information about Harish-Chandra series of unipotent character sheaves. This is identical to Μ€harishChandra` for a split reductive group, and reflects the situation for the corresponding split group for a nonsplit group.

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

the following information is computed on demand from uc=UnipotentCharacters(W):

spets(uc): the reductive group W.

julia> W=coxgroup(:Bsym,2)
Bsymβ‚‚

julia> WF=spets(W,Perm(1,2))
Β²Bsymβ‚‚

julia> uc=UnipotentCharacters(WF)
UnipotentCharacters(Β²Bsymβ‚‚)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Ξ³       β”‚nβ‚€ almostch    Deg(Ξ³)   Feg        Symbol Fr(Ξ³) labelβ”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚2       β”‚ 1       2.         1     1     (02,,0,0)     1      β”‚
β”‚11      β”‚ 2      .11        q⁴    q⁴ (012,1,01,01)     1      β”‚
β”‚Β²Bβ‚‚[1,3]β”‚ 3      1.1 √2qΦ₁Φ₂/2 qΦ₁Φ₂     (01,,1,0)   ΞΆβ‚ˆΒ³     1β”‚
β”‚Β²Bβ‚‚[1,5]β”‚ 4       Bβ‚‚ √2qΦ₁Φ₂/2     0     (01,,0,1)   ΞΆβ‚ˆβ΅     2β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

julia> uc.families
3-element Vector{Family}:
 Family(C₁,[1])
 Family(C₁,[2])
 Family(?4,[3, 4])

julia> uc.families[3]
Family(?4,[3, 4])
β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚labelβ”‚eigen    1     2β”‚
β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚1    β”‚  ΞΆβ‚ˆΒ³ √2/2 -√2/2β”‚
β”‚2    β”‚  -ΞΆβ‚ˆ √2/2  √2/2β”‚
β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

charnames(uc): the list of names of the unipotent characters. Using appropriate keywords, one can control the display in various ways.

julia> uc=UnipotentCharacters(coxgroup(:G,2));

julia> charnames(uc;limit=true)
10-element Vector{String}:
 "Ο†β‚β€šβ‚€"
 "Ο†β‚β€šβ‚†"
 "Ο†β€²β‚β€šβ‚ƒ"
 "Ο†β€³β‚β€šβ‚ƒ"
 "Ο†β‚‚β€šβ‚"
 "Ο†β‚‚β€šβ‚‚"
 "Gβ‚‚[-1]"
 "Gβ‚‚[1]"
 "Gβ‚‚[΢₃]"
 "Gβ‚‚[΢₃²]"

julia> charnames(uc;TeX=true)
10-element Vector{String}:
 "\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 by IOContext properties. In the display, the row labels are the names of the unipotent characters. The possible columns are numbered as follows:

  1. The index of the character in the list of unipotent characters.
  2. The degree of the unipotent character.
  3. The degree of the corresponding almost character.
  4. for imprimitive groups, the symbol attached to the unipotent character.
  5. The eigenvalue of Frobenius attached to the unipotent character.
  6. The parameter the character has in its Lusztig family.

Which columns are displayed can be controlled by the property :cols (default [2,3,5,6] and 4 when applicable).

In addition if ':byfamily=true', the characters are displayed family by family instead of in index order. Finally, the properties rows and columnrepartition of format can be set, giving more tuning of the table.

julia> W=coxgroup(:B,2)
Bβ‚‚

julia> uc=UnipotentCharacters(W)
UnipotentCharacters(Bβ‚‚)
β”Œβ”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Ξ³  β”‚nβ‚€ Deg(Ξ³) Feg   Symbol Fr(Ξ³) labelβ”‚
β”œβ”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
│11.│ 1  qΦ₄/2  q²   (12,0)     1   +,-│
│1.1│ 2 qΦ₂²/2 qΦ₄   (02,1)     1   +,+│
β”‚.11β”‚ 3     q⁴  q⁴ (012,12)     1      β”‚
β”‚2. β”‚ 4      1   1     (2,)     1      β”‚
│.2 │ 5  qΦ₄/2  q²   (01,2)     1   -,+│
β”‚Bβ‚‚ β”‚ 6 qΦ₁²/2   0   (012,)    -1   -,-β”‚
β””β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
julia> xdisplay(uc;byfamily=true)
β”Œβ”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Ξ³   β”‚nβ‚€ Deg(Ξ³) Feg   Symbol Fr(Ξ³) labelβ”‚
β”œβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
│11. │ 1  qΦ₄/2  q²   (12,0)     1   +,-│
│1.1˒│ 2 qΦ₂²/2 qΦ₄   (02,1)     1   +,+│
│.2  │ 5  qΦ₄/2  q²   (01,2)     1   -,+│
β”‚Bβ‚‚  β”‚ 6 qΦ₁²/2   0   (012,)    -1   -,-β”‚
β”œβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚2.  β”‚ 4      1   1     (2,)     1      β”‚
β”œβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚.11 β”‚ 3     q⁴  q⁴ (012,12)     1      β”‚
β””β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

julia> xdisplay(uc;cols=[1,4])
UnipotentCharacters(Bβ‚‚)
β”Œβ”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Ξ³  β”‚nβ‚€   Symbolβ”‚
β”œβ”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚11.β”‚ 1   (12,0)β”‚
β”‚1.1β”‚ 2   (02,1)β”‚
β”‚.11β”‚ 3 (012,12)β”‚
β”‚2. β”‚ 4     (2,)β”‚
β”‚.2 β”‚ 5   (01,2)β”‚
β”‚Bβ‚‚ β”‚ 6   (012,)β”‚
β””β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
source
Chevie.ComplexR.degrees β€” Method

degrees(uc::UnipotentCharacters,q=Pol())

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.

julia> W=coxgroup(:G,2)
Gβ‚‚

julia> uc=UnipotentCharacters(W);

julia> degrees(uc)
10-element Vector{Pol{Rational{Int64}}}:
 1
 q⁢
 (1//3)q⁡+(1//3)q³+(1//3)q
 (1//3)q⁡+(1//3)q³+(1//3)q
 (1//6)q⁡+(1//2)q⁴+(2//3)q³+(1//2)q²+(1//6)q
 (1//2)q⁡+(1//2)q⁴+(1//2)q²+(1//2)q
 (1//2)q⁡+(-1//2)q⁴+(-1//2)q²+(1//2)q
 (1//6)q⁡+(-1//2)q⁴+(2//3)q³+(-1//2)q²+(1//6)q
 (1//3)q⁡+(-2//3)q³+(1//3)q
 (1//3)q⁡+(-2//3)q³+(1//3)q
source
Chevie.Uch.CycPoldegrees β€” Function

CycPoldegrees(uc::UnipotentCharacters)

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. It is faster than CycPol.(degrees(uc)).

julia> W=coxgroup(:G,2)
Gβ‚‚

julia> CycPoldegrees(UnipotentCharacters(W))
10-element Vector{CycPol{Rational{Int64}}}:
 1
 q⁢
 qΦ₃Φ₆/3
 qΦ₃Φ₆/3
 qΦ₂²Φ₃/6
 qΦ₂²Φ₆/2
 qΦ₁²Φ₃/2
 qΦ₁²Φ₆/6
 qΦ₁²Φ₂²/3
 qΦ₁²Φ₂²/3
source
Chevie.Uch.unipotent_character β€” Function

unipotent_character(W,l) or unichar(W,l)

Constructs an object representing the unipotent character specified by l of the algebraic group associated to the Coxeter group or Coxeter coset specified by W. 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 (where the names are as given by charnames(UnipotentCharacters(W))). Finally, l can be a list of length the number of unipotent characters of W, which specifies the coefficient to give to each unipotent character.

julia> W=coxgroup(:G,2)
Gβ‚‚

julia> u=unichar(W,7)
[Gβ‚‚]:<Gβ‚‚[-1]>

julia> v=unichar(W,"G2[E3]")
[Gβ‚‚]:<Gβ‚‚[΢₃]>

julia> w=unichar(W,[1,0,0,-1,0,0,2,0,0,1])
[Gβ‚‚]:<Ο†β‚β€šβ‚€>-<Ο†β€³β‚β€šβ‚ƒ>+2<Gβ‚‚[-1]>+<Gβ‚‚[΢₃²]>

julia> unichar(W,fourier(UnipotentCharacters(W))[3,:])
[Gβ‚‚]:2//3<Ο†β€²β‚β€šβ‚ƒ>-1//3<Ο†β€³β‚β€šβ‚ƒ>+1//3<Ο†β‚‚β€šβ‚>+1//3<Gβ‚‚[1]>-1//3<Gβ‚‚[΢₃]>-1//3<Gβ‚‚[΢₃²]>

The last line shows the almost character associated to the 3rd unipotent character of W.

some limited arithmetic is available on unipotent characters:

julia> coefficients(u) # so that u==unichar(W,coefficients(u))
10-element Vector{Int64}:
 0
 0
 0
 0
 0
 0
 1
 0
 0
 0

julia> w-2u
[Gβ‚‚]:<Ο†β‚β€šβ‚€>-<Ο†β€³β‚β€šβ‚ƒ>+<Gβ‚‚[΢₃²]>

julia> w*w  # scalar product
7

julia> degree(w)
Pol{Int64}: q⁡-q⁴-q³-q²+q+1
source
Base.show β€” Method

Base.show(io::IO,w::UniChar)

The formatting of unipotent characters is affected by IO property :compact . If true (the default) they are printed in a compact form. Otherwise, they are printed one unipotent character per line:

julia> xdisplay(w;compact=false)
[Gβ‚‚]:
<Ο†β‚β€šβ‚€>    1
<Ο†β‚β€šβ‚†>    0
<Ο†β€²β‚β€šβ‚ƒ>   0
<Ο†β€³β‚β€šβ‚ƒ>   -1
<Ο†β‚‚β€šβ‚>    0
<Ο†β‚‚β€šβ‚‚>    0
<Gβ‚‚[-1]>  2
<Gβ‚‚[1]>   0
<Gβ‚‚[΢₃]>  0
<Gβ‚‚[΢₃²]> 1
source
Chevie.Uch.deligne_lusztig_character β€” Function

deligne_lusztig_character(W,w) or dlchar(W,w)

This function returns the Deligne-Lusztig character $R_𝐓 ^𝐆 (1)$ of the algebraic group 𝐆 associated to the Coxeter group or Coxeter coset W. The torus 𝐓 can be specified in 3 ways: if w is an integer, it represents the w-th conjugacy class (or phi-conjugacy class for a coset WΟ•) of W. Otherwise w can be a word or an element of W, and it represents the class (or Ο•-class) of w.

julia> W=coxgroup(:G,2)
Gβ‚‚

julia> dlchar(W,3)
[Gβ‚‚]:<Ο†β‚β€šβ‚€>-<Ο†β‚β€šβ‚†>-<Ο†β€²β‚β€šβ‚ƒ>+<Ο†β€³β‚β€šβ‚ƒ>

julia> dlchar(W,W(1))
[Gβ‚‚]:<Ο†β‚β€šβ‚€>-<Ο†β‚β€šβ‚†>-<Ο†β€²β‚β€šβ‚ƒ>+<Ο†β€³β‚β€šβ‚ƒ>

julia> dlchar(W,[1])
[Gβ‚‚]:<Ο†β‚β€šβ‚€>-<Ο†β‚β€šβ‚†>-<Ο†β€²β‚β€šβ‚ƒ>+<Ο†β€³β‚β€šβ‚ƒ>

julia> dlchar(W,[1,2])
[Gβ‚‚]:<Ο†β‚β€šβ‚€>+<Ο†β‚β€šβ‚†>-<Ο†β‚‚β€šβ‚>+<Gβ‚‚[-1]>+<Gβ‚‚[΢₃]>+<Gβ‚‚[΢₃²]>
source
Chevie.Uch.deligne_lusztigCharTable β€” Function

deligne_lusztigCharTable(W) or dlCharTable(W)

for each conjugacy class of W, gives the decomposition of R_{T_w}^G in unipotent characters.

julia> dlCharTable(W)
6Γ—10 Matrix{Int64}:
 1   1   1   1   2   2   0   0   0   0
 1  -1   1  -1   0   0   0   0   0   0
 1  -1  -1   1   0   0   0   0   0   0
 1   1   0   0  -1   0   1   0   1   1
 1   1   0   0   0  -1   0   1  -1  -1
 1   1  -1  -1   0   0  -2  -2   0   0
source
Chevie.Uch.almost_character β€” Function

almost_character(W,i) or almostchar(W,i)

This function returns the i-th almost unipotent character of the algebraic group 𝐆 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β»ΒΉβˆ‘_{w∈ W} Ο†(w) R_{𝐓_w}^𝐆 (1)$ where $𝐓_w$ is the maximal torus associated to the conjugacy class (or Ο•-conjugacy class for a coset) of w.

julia> W=coxgroup(:B,2)
Bβ‚‚

julia> almostchar(W,3)
[Bβ‚‚]:<.11>

julia> almostchar(W,1)
[Bβ‚‚]:1//2<11.>+1//2<1.1>-1//2<.2>-1//2<Bβ‚‚>
source
Chevie.Uch.on_unipotents β€” Function

on_unipotents(W,aut)

W is a reflection group or reflection coset representing a finite reductive group $𝐆 ^F$, and aut is an automorphism of $𝐆 ^F$ (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 $𝐆 ^F$ induced by aut. This makes sense for Spetsial complex reflection groups and is implemented for them.

julia> WF=rootdatum("3D4")
Β³Dβ‚„

julia> on_unipotents(Group(WF),WF.phi)
(1,7,2)(8,12,9)
source
Chevie.Uch.deligne_lusztig_lefschetz β€” Function

deligne_lusztig_lefschetz(h,m=0) or dllefschetz(h,m=0)

Here h is an element of a Hecke algebra associated to a Coxeter group W or Coxeter coset WΟ• which itself is associated to an algebraic group 𝐆. By DigneMichel1985, for $g∈ 𝐆^F$, the number of fixed points of Fᡐ on the Deligne-Lusztig variety associated to the element wΟ•βˆˆWΟ•, have for m divisible by a sufficently large integer d, the form $βˆ‘_Ο† Ο†_{(qᡐ)}(T_wΟ•)R_Ο†(g)$ where Ο† runs over the irreducible characters of $WΟ•$, where $R_Ο†$ is the corresponding almost character, and where $Ο†_{(qᡐ)}$ is a character value of the Hecke algebra $H(WΟ•,qᡐ)$ of $WΟ•$ with parameter qᡐ. This expression is called the Lefschetz character of the Deligne-Lusztig variety. If we consider qᡐ 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)$. A more complicated formula involving the eigenvalues of Frobenius attached to unipotent characters applies for m not prime to d. The function returns this formula when a second parameter mβ‰ 0 is given.

The function 'dllefschetz' 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.

julia> W=coxgroup(:A,2)
Aβ‚‚

julia> H=hecke(W,Pol(:q))
hecke(Aβ‚‚,q)

julia> T=Tbasis(H);

julia> dllefschetz(T(1,2))
[Aβ‚‚]:<111>-q<21>+qΒ²<3>

julia> dllefschetz((T(1)+T())*(T(2)+T()))
[Aβ‚‚]:q<21>+(qΒ²+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).

julia> H=hecke(spets(W,Perm(1,2)),Pol(:q)^2)
hecke(Β²Aβ‚‚,qΒ²)

julia> T=Tbasis(H);dllefschetz(T(1))
[Β²Aβ‚‚]:-<11>-q<Β²Aβ‚‚>+qΒ²<2>

Finally, there is a second form dllefschetz(H::HeckeAlgebra,w,i=0) where the arguments are a Hecke algebra and an element of w. This may be used for Spetses where we know the column of the CharTable of H for w but not other columns of the spetsial Hecke algebra charcater table.

source
Chevie.Uch.lusztig_induce β€” Function

lusztig_induce(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 𝐋 of the algebraic group 𝐆 attached to W. The program returns the Lusztig induced $R_𝐋^𝐆(Ξ»)$.

julia> W=coxgroup(:G,2)
Gβ‚‚

julia> WF=spets(W)
Gβ‚‚

julia> T=subspets(WF,Int[],W(1))
Gβ‚‚β‚β‚Ž=Φ₁Φ₂

julia> u=unichar(T,1)
[Gβ‚‚β‚β‚Ž=Φ₁Φ₂]:<Id>

julia> lusztig_induce(WF,u)
[Gβ‚‚]:<Ο†β‚β€šβ‚€>-<Ο†β‚β€šβ‚†>-<Ο†β€²β‚β€šβ‚ƒ>+<Ο†β€³β‚β€šβ‚ƒ>

julia> dlchar(W,W(1))
[Gβ‚‚]:<Ο†β‚β€šβ‚€>-<Ο†β‚β€šβ‚†>-<Ο†β€²β‚β€šβ‚ƒ>+<Ο†β€³β‚β€šβ‚ƒ>
source
Chevie.Uch.lusztig_restrict β€” Function

lusztig_restrict(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 𝐆 attached to W, while R represents a Levi subgroup L. The program returns the Lusztig restriction $*R_𝐋^𝐆(Ξ³)$.

julia> W=coxgroup(:G,2)
Gβ‚‚

julia> WF=spets(W)
Gβ‚‚

julia> T=subspets(WF,Int[],W(1))
Gβ‚‚β‚β‚Ž=Φ₁Φ₂

julia> u=dlchar(W,W(1))
[Gβ‚‚]:<Ο†β‚β€šβ‚€>-<Ο†β‚β€šβ‚†>-<Ο†β€²β‚β€šβ‚ƒ>+<Ο†β€³β‚β€šβ‚ƒ>

julia> lusztig_restrict(T,u)
[Gβ‚‚β‚β‚Ž=Φ₁Φ₂]:4<Id>

julia> T=subspets(WF,Int[],W(2))
Gβ‚‚β‚β‚Ž=Φ₁Φ₂

julia> lusztig_restrict(T,u)
[Gβ‚‚β‚β‚Ž=Φ₁Φ₂]:0
source
Chevie.Lusztig.lusztig_induction_table β€” Function

lusztig_induction_table(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 𝐋 of the algebraic group 𝐆 associated to W. The function returns an InductionTable representing the Lusztig induction $R_𝐋^𝐆$ between unipotent characters.

julia> W=coxgroup(:B,3)
B₃

julia> t=twistings(W,[1,3])
2-element Vector{Spets{FiniteCoxeterSubGroup{Perm{Int16},Int64}}}:
 Bβ‚ƒβ‚β‚β‚ƒβ‚Ž=Ã₁×A₁Φ₁
 Bβ‚ƒβ‚β‚β‚ƒβ‚Ž=Ã₁×A₁Φ₂

julia> lusztig_induction_table(t[2],W)
Lusztig induction from Bβ‚ƒβ‚β‚β‚ƒβ‚Ž=Ã₁×A₁Φ₂ to B₃
β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     β”‚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β”‚
β”‚Bβ‚‚:2 β”‚     .     .     1   -1β”‚
β”‚Bβ‚‚:11β”‚     1    -1     .    .β”‚
β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
source
Chevie.Families β€” Module

Families of unipotent characters

The blocks of the (rectangular) matrix $⟨Rα΅ͺ,ρ⟩_{𝐆 ^F}$ when Ο‡ runs over Irr(W) and ρ runs over the unipotent characters, are called the Lusztig families. When 𝐆 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α΅ͺ,ρ⟩_{𝐆 ^F}$ can be completed to a square matrix $⟨A_{ρ'},ρ⟩_{𝐆 ^F}$ where $A_{ρ'}$ are the characteristic functions of character sheaves on $𝐆 ^F$; 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.

julia> W=coxgroup(:G,2)
Gβ‚‚

julia> uc=UnipotentCharacters(W);

julia> uc.families
3-element Vector{Family}:
 Family(D(𝔖 ₃),[5, 6, 4, 3, 8, 7, 9, 10],ennola=-5)
 Family(C₁,[1])
 Family(C₁,[2])

julia> uc.families[1]
Family(D(𝔖 ₃),[5, 6, 4, 3, 8, 7, 9, 10],ennola=-5)
Drinfeld double of 𝔖 ₃, Lusztigβ€²s version
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚label   β”‚eigen                                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚(1,1)   β”‚    1 1//6  1//2  1//3  1//3  1//6  1//2  1//3  1//3β”‚
β”‚(gβ‚‚,1)  β”‚    1 1//2  1//2     .     . -1//2 -1//2     .     .β”‚
β”‚(g₃,1)  β”‚    1 1//3     .  2//3 -1//3  1//3     . -1//3 -1//3β”‚
β”‚(1,ρ)   β”‚    1 1//3     . -1//3  2//3  1//3     . -1//3 -1//3β”‚
β”‚(1,Ξ΅)   β”‚    1 1//6 -1//2  1//3  1//3  1//6 -1//2  1//3  1//3β”‚
β”‚(gβ‚‚,Ξ΅)  β”‚   -1 1//2 -1//2     .     . -1//2  1//2     .     .β”‚
β”‚(g₃,΢₃) β”‚   ΢₃ 1//3     . -1//3 -1//3  1//3     .  2//3 -1//3β”‚
β”‚(g₃,΢₃²)β”‚  ΢₃² 1//3     . -1//3 -1//3  1//3     . -1//3  2//3β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

julia> charnames(uc)[uc.families[1].charNumbers]
8-element Vector{String}:
 "phi2,1"
 "phi2,2"
 "phi1,3''"
 "phi1,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 "drinfeld_double" of a small finite group and the '.charLabels' come from this construction.

source
Chevie.Families.Family β€” Type

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 struct Family.

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

If opt has a key signs, this 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.

julia> Family("C2")
Family(Cβ‚‚,4)
Drinfeld double D(β„€/2)
β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚label β”‚eigen                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚(1,1) β”‚    1 1//2  1//2  1//2  1//2β”‚
β”‚(gβ‚‚,1)β”‚    1 1//2  1//2 -1//2 -1//2β”‚
β”‚(1,Ξ΅) β”‚    1 1//2 -1//2  1//2 -1//2β”‚
β”‚(gβ‚‚,Ξ΅)β”‚   -1 1//2 -1//2 -1//2  1//2β”‚
β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

julia> Family("C2",4:7;signs=[1,-1,1,-1])
Family(Cβ‚‚,4:7,signs=[1, -1, 1, -1])
Drinfeld double D(β„€/2)
β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚label β”‚eigen signs                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚(1,1) β”‚    1     1  1//2 -1//2 1//2 -1//2β”‚
β”‚(gβ‚‚,1)β”‚    1    -1 -1//2  1//2 1//2 -1//2β”‚
β”‚(1,Ξ΅) β”‚    1     1  1//2  1//2 1//2  1//2β”‚
β”‚(gβ‚‚,Ξ΅)β”‚   -1    -1 -1//2 -1//2 1//2  1//2β”‚
β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
source
CyclotomicNumbers.galois β€” Method

galois(f::Family,p::Int)

x->galois(x,p) is applied to the Fourier matrix and eigenvalues of Frobenius of the family.

julia> f=UnipotentCharacters(complex_reflection_group(3,1,1)).families[2]
Family(0011,[4, 3, 2],cospecial=2)
imprimitive family
β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚labelβ”‚eigen      1        2        3β”‚
β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚1    β”‚  ΢₃²  √-3/3    √-3/3   -√-3/3β”‚
β”‚2    β”‚    1  √-3/3 ΞΆβ‚ƒΒ²βˆš-3/3 -ΞΆβ‚ƒβˆš-3/3β”‚
β”‚3    β”‚    1 -√-3/3 -ΞΆβ‚ƒβˆš-3/3 ΞΆβ‚ƒΒ²βˆš-3/3β”‚
β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

julia> galois(f,-1)
Family(conj(0011),[4, 3, 2],cospecial=2)
conj(imprimitive family)
β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚labelβ”‚eigen      1        2        3β”‚
β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚1    β”‚   ΢₃ -√-3/3   -√-3/3    √-3/3β”‚
β”‚2    β”‚    1 -√-3/3 -ΞΆβ‚ƒβˆš-3/3 ΞΆβ‚ƒΒ²βˆš-3/3β”‚
β”‚3    β”‚    1  √-3/3 ΞΆβ‚ƒΒ²βˆš-3/3 -ΞΆβ‚ƒβˆš-3/3β”‚
β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
source
PermGroups.Perms.invpermute β€” Method

invpermute(f::Family, p::Union{Perm,SPerm})

returns a copy of f with the Fourier matrix, eigenvalues of Frobenius, :charLabels… invpermuted by p.

julia> f=UnipotentCharacters(complex_reflection_group(3,1,1)).families[2]
Family(0011,[4, 3, 2],cospecial=2)
imprimitive family
β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚labelβ”‚eigen      1        2        3β”‚
β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚1    β”‚  ΢₃²  √-3/3    √-3/3   -√-3/3β”‚
β”‚2    β”‚    1  √-3/3 ΞΆβ‚ƒΒ²βˆš-3/3 -ΞΆβ‚ƒβˆš-3/3β”‚
β”‚3    β”‚    1 -√-3/3 -ΞΆβ‚ƒβˆš-3/3 ΞΆβ‚ƒΒ²βˆš-3/3β”‚
β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

julia> invpermute(f,Perm(1,2,3))
Family(0011,[2, 4, 3],cospecial=3)
Permuted((1,2,3),imprimitive family)
β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚labelβ”‚eigen        3      1        2β”‚
β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚3    β”‚    1 ΞΆβ‚ƒΒ²βˆš-3/3 -√-3/3 -ΞΆβ‚ƒβˆš-3/3β”‚
β”‚1    β”‚  ΢₃²   -√-3/3  √-3/3    √-3/3β”‚
β”‚2    β”‚    1 -ΞΆβ‚ƒβˆš-3/3  √-3/3 ΞΆβ‚ƒΒ²βˆš-3/3β”‚
β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
source
Base.conj β€” Method

conj(f::Family): is a synonym for 'galois(f,-1)'.

source
Chevie.Families.drinfeld_double β€” Function

drinfeld_double(g;lu=false,pivotal=nothing)

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 π“œ (Ξ“) 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 Sβ‚€ whose coefficient is given, for ρ=(x,Ο†) and ρ'=(x', Ο†'), by:

$Sβ‚€_{ρ,ρ'}:=|C_Ξ“(x)⁻¹|βˆ‘_{ρ₁=(x₁,φ₁)}φ₁(x)Ο†(y₁)$

where the sum is over all pairs Οβ‚βˆˆπ“œ (Ξ“) which are Ξ“-conjugate to ρ' and such that $yβ‚βˆˆ C_Ξ“(x)$. This coefficient also represents the scalar product $⟨ρ,ρ'⟩_{𝐆^F}$ of the corresponding unipotent characters.

A way to understand the formula for $Sβ‚€_{ρ,ρ'}$ better is to consider another basis of the complex vector space with basis π“œ (Ξ“), 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 Sβ‚€ is given by (x,y)↦(x⁻¹,y⁻¹) and the linear transformation T which sends ρ to Ο‰_ρρ becomes (x,y)↦(x,xy). These are particular cases of the permutation representation of GLβ‚‚(β„€) on the basis of Mellin transforms where $\begin{pmatrix}a&b\cr c&d\end{pmatrix}$ acts by (x,y)↦(xᡃyᡇ,xᢜyᡈ).

Fourier matrices in finite reductive groups are given by the above matrix Sβ‚€. But for non-rational Spetses, we use a different matrix S which in the basis of Mellin transforms is given by (x,y)↦(y⁻¹,x). Equivalently, the formula $S_{ρ,ρ'}$ differs from the formula for $Sβ‚€_{ρ,ρ'}$ in that there is no complex conjugation of χ₁; thus the matrix S is equal to Sβ‚€ multiplied on the right by the permutation matrix which corresponds to (x,Ο†)↦(x,Ο†). The advantage of the matrix S over Sβ‚€ is that the pair S,T satisfies directly the axioms for fusion data (see below); also the matrix S is symmetric, while Sβ‚€ is Hermitian.

Thus there are two variants of 'drinfeld_double`:

drinfeld_double(g;lu=false)

returns a family containing Lusztig's Fourier matrix Sβ‚€, 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'.

drinfeld_double(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 Sβ‚€ 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⁻¹,x) or (x,y)↦(y⁻¹,x⁻¹) depending on the call).

:special: the index of the special element, which is (x,Ο†)=(1,1).

julia> drinfeld_double(coxsym(3)) # needs "using GAP"
Family(drinfeld_double(coxsym(3)),8)
Drinfeld double D(coxsym(3))
β”Œβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚label  β”‚eigen                                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚(1,1)  β”‚    1  1//6  1//3 1//6 -1//2 -1//2  1//3  1//3  1//3β”‚
β”‚(1,X.2)β”‚    1  1//3  2//3 1//3     .     . -1//3 -1//3 -1//3β”‚
β”‚(1,X.3)β”‚    1  1//6  1//3 1//6  1//2  1//2  1//3  1//3  1//3β”‚
β”‚(21,1) β”‚    1 -1//2     . 1//2  1//2 -1//2     .     .     .β”‚
β”‚(21,-1)β”‚   -1 -1//2     . 1//2 -1//2  1//2     .     .     .β”‚
β”‚(3,1)  β”‚    1  1//3 -1//3 1//3     .     .  2//3 -1//3 -1//3β”‚
β”‚(3,΢₃) β”‚   ΢₃  1//3 -1//3 1//3     .     . -1//3 -1//3  2//3β”‚
β”‚(3,΢₃²)β”‚  ΢₃²  1//3 -1//3 1//3     .     . -1//3  2//3 -1//3β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

julia> drinfeld_double(coxsym(3);lu=true)
Family(Ldrinfeld_double(coxsym(3)),8)
Lusztigβ€²sDrinfeld double D(coxsym(3))
β”Œβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚label  β”‚eigen                                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚(1,1)  β”‚    1  1//6  1//3 1//6 -1//2 -1//2  1//3  1//3  1//3β”‚
β”‚(1,X.2)β”‚    1  1//3  2//3 1//3     .     . -1//3 -1//3 -1//3β”‚
β”‚(1,X.3)β”‚    1  1//6  1//3 1//6  1//2  1//2  1//3  1//3  1//3β”‚
β”‚(21,1) β”‚    1 -1//2     . 1//2  1//2 -1//2     .     .     .β”‚
β”‚(21,-1)β”‚   -1 -1//2     . 1//2 -1//2  1//2     .     .     .β”‚
β”‚(3,1)  β”‚    1  1//3 -1//3 1//3     .     .  2//3 -1//3 -1//3β”‚
β”‚(3,΢₃) β”‚   ΢₃  1//3 -1//3 1//3     .     . -1//3  2//3 -1//3β”‚
β”‚(3,΢₃²)β”‚  ΢₃²  1//3 -1//3 1//3     .     . -1//3 -1//3  2//3β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The keyword pivotal describes the pivotal structure as a tuple of the pivotal element and the vector of values of the pivotal character on the generators of g.

source
Chevie.Families.ndrinfeld_double β€” Function

ndrinfeld_double(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.

julia> Families.ndrinfeld_double(complex_reflection_group(5))
378
source
Chevie.Families.family_imprimitive β€” Function

family_imprimitive(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 containing S.

julia> family_imprimitive([[0,1],[1],[0]])
Family(0011,3)
imprimitive family
β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚labelβ”‚eigen      1        2        3β”‚
β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚1    β”‚  ΢₃²  √-3/3   -√-3/3    √-3/3β”‚
β”‚2    β”‚    1 -√-3/3 ΞΆβ‚ƒΒ²βˆš-3/3 -ΞΆβ‚ƒβˆš-3/3β”‚
β”‚3    β”‚    1  √-3/3 -ΞΆβ‚ƒβˆš-3/3 ΞΆβ‚ƒΒ²βˆš-3/3β”‚
β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
source
Chevie.Families.FamiliesClassical β€” Function

FamiliesClassical(l)

l should be a list of symbols which classify the unipotent characters of a classical reductive group, like symbols(2,r) for type Bα΅£ or Cα΅£, or symbols(2,r,0) for type Dα΅£. The function returns the list of families determined by these symbols.

julia> FamiliesClassical(symbols(2,3)) # for a reductive group of type B₃
6-element Vector{Family}:
 Family(112,[2])
 Family(022,[6])
 Family(3,[9])
 Family(01123,[1, 3, 8, 11])
 Family(0112233,[4])
 Family(013,[5, 7, 10, 12])
source
Base.:* β€” Method

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

source
Chevie.Families.Zbasedring β€” Function

Zbasedring(f::Family) or Zbasedring(S,special=1)

All the Fourier matrices S in Chevie are unitary, that is S⁻¹=conj(S), and have a special line s (the line of index s=special(f) for a family f) such that no entry Sβ‚›,α΅’ is equal to 0. Further, they have the property that the sums Cα΅’,β±Ό,β‚–=sumβ‚— Sα΅’,β‚— Sβ±Ό,β‚— conj(Sβ‚–,β‚—)/Sβ‚›,β‚— 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 bα΅’ indexed by the lines of S, and has a multiplication defined by the fact that the coefficient of bα΅’bβ±Ό on bβ‚– is equal to Cα΅’,β±Ό,β‚–. This algebra can be specified by giving a family f or just its Fourier matrix and the number of its special line.

A is commutative, and has as unit the element bβ‚›; the basis Οƒ(bα΅’)isdual to bα΅’ for the linear form (bα΅’,bβ±Ό)=Cα΅’,β±Ό,Οƒβ‚β‚›β‚Ž`.

julia> W=complex_reflection_group(4)
Gβ‚„

julia> uc=UnipotentCharacters(W);f=uc.families[4];

julia> A=Zbasedring(fourier(f),1)
β„€-based ring dim.5

julia> b=basis(A)
5-element Vector{AlgebraElt{Chevie.Families.ZBasedRing, Int64}}:
 B₁
 Bβ‚‚
 B₃
 Bβ‚„
 Bβ‚…

julia> b*permutedims(b)
5Γ—5 Matrix{AlgebraElt{Chevie.Families.ZBasedRing, Int64}}:
 B₁  Bβ‚‚      B₃      Bβ‚„        Bβ‚…
 Bβ‚‚  -Bβ‚„+Bβ‚…  B₁+Bβ‚„   Bβ‚‚-B₃     B₃
 B₃  B₁+Bβ‚„   -Bβ‚„+Bβ‚…  -Bβ‚‚+B₃    Bβ‚‚
 Bβ‚„  Bβ‚‚-B₃   -Bβ‚‚+B₃  B₁+Bβ‚„-Bβ‚…  -Bβ‚„
 Bβ‚…  B₃      Bβ‚‚      -Bβ‚„       B₁

julia> CharTable(A)
CharTable(β„€-based ring dim.5)
β”Œβ”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ β”‚1    2    3  4  5β”‚
β”œβ”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚1β”‚1  √-3 -√-3  2 -1β”‚
β”‚2β”‚1    1    1  .  1β”‚
β”‚3β”‚1   -1   -1  .  1β”‚
β”‚4β”‚1    .    . -1 -1β”‚
β”‚5β”‚1 -√-3  √-3  2 -1β”‚
β””β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
source