Symbols

Chevie.SymbolsModule

The combinatorial objects in this module are partitions, β-sets and symbols.

A partition is a non-increasing list of positive integers p₁≥p₂≥…pₙ≥0, represented as a Vector{Int}, which is normalized if it has no trailing zeroes.

A β-set is a strictly increasing Vector of nonnegative integers, up to shift, the equivalence relation generated by the elementary shifts [b₁,…,bₙ]∼[0,1+b₁,…,1+bₙ]. An equivalence class has exactly one member which does not contain 0: it is called a normalized β-set.

To a normalized partition p₁≥p₂≥…pₙ>0 is associated a β-set, whose normalized representative is pₙ,pₙ₋₁+1,…,p₁+n-1. A mnemonic is that this is the areas of the hooks in the Young diagram going up along the first column. Conversely, to each β-set b₁<b₂<…<bₙ is associated the partition bₙ-n+1≥…≥b₂-1≥b₁, which may have some trailing zeros if starting from a non-normalized representative.

The functions for βsets in this module are

  • βset which constructs a normalized βset from a partition.
  • shiftβ which shifts a βset
  • partβ which constructs a partition from a βset

As a generalisation of β-sets, Lusztig1977 has introduced 2-symbols and more general e-symbols were introduced in Malle1995. An e-symbol is a vector S=[S₁,…,Sₑ] of β-sets, taken modulo the equivalence relation generated by the simultaneous elementary shift of all β-sets, and by cyclic permutations of S; in the particular case where e=2, S is thus an unordered pair of β-sets. S is a normalized symbol if 0 is not in the intersection of the Sᵢ; equivalent normalized symbols are equivalent by cyclic permutation. The content of S is mod(c,e) where c=sum(length.(S)); it is an invariant of the symbol, as well as the rank, defined for an e-symbol as sum(sum,S)-div((c-1)*(c-e+1),2*e). Invariant by shift but not cyclic permutation is the shape s.-minimum(s) where s=length.(S).

When e=2 we choose representatives of the symbols [S₁,S₂] such that length(S₁)≥length(S₂), so the shape is [d,0] for some d≥0 called the defect of the symbol; the content is equal to mod(d,2). For symbols [S₁,S₂] with length(S₁)==length(S₂) we choose representatives such that P₁≤P₂ lexicographically where P₁,P₂ are the partitions associated to S₁,S₂.

Partitions and pairs of partitions parametrize characters of the Weyl groups of classical types, and tuples of partitions parametrize characters of imprimitive complex reflection groups. 2-Symbols parametrize unipotent characters of classical Chevalley groups, and more general e-symbols parametrize unipotent characters of spetses associated to spetsial imprimitive complex reflection groups. The rank of a symbol is equal to the semi-simple rank of the corresponding Chevalley group or Spets.

Symbols of rank n and defect 0 parametrize characters of the Weyl group W(Dₙ), and symbols of rank n and defect≡0 (mod 4) parameterize unipotent characters of SO₂ₙ; symbols of rank n and defect≡2 (mod 4) parameterize unipotent characters of SO⁻₂ₙ. Symbols of rank n and defect 1 parametrize characters of the Weyl group W(Bₙ), and symbols of rank n and odd defect parametrize unipotent characters of Sp₂ₙ or SO₂ₙ₊₁.

To parametrize unipotent characters of spetses we need another statistic on symbols, the Malle-defect defined by Malle as mod(binomial(e,2)*div(sum(length.(S)),e)-dot(O:e-1,length.(S)),e). It is invariant under shift; it is invariant under circular permutation for symbols of content O but not for symbols of content 1; for these only one circular permutation has Malle-defect 0.

e-symbols of rank n and content 1 parameterize unipotent characters of the spets G(e,1,n). The principal series (in bijection with characters of the reflection group) is parametrized by symbols such that tje reduced ones have shape [1,0,…,0].

Unipotent characters of the spets G(e,e,n) are parametrized by e-symbols of content 0 and Malle-defect 0. The symbols for the principal series characters have shape [0,…,0].

Unipotent characters of the twisted spets ᵗG(e,e,n) are parametrized by e-symbols of rank n, content 0 and Malle-defect t.

In the above parametrizations, periodic symbols, that is symbols S such that the sequence S₁,…,Sₙ is a repetition k times of a shorter sequence, must be repeated k times. To distinguish the k copies, an additional parameter, a k-th root of unity, is attached to the symbol. As an example, here are the symbols for G₃,₃,₃:

julia> symbols(3,3,0)
12-element Vector{CharSymbol}:
 (1+)
 (1ζ₃)
 (1ζ₃²)
 (01,12,02)
 (01,02,12)
 (012,012,123)
 (0,1,2)
 (0,2,1)
 (01,01,13)
 (0,0,3)
 (012,,)
 (012,012,)

when the symbol has a period, only the period is shown, followed by the root of unity (where 1 is shown as + and -1 is shown as -.

The functions for symbols in this module are

  • CharSymbol, which constructs a symbol
  • Symbol_partition_tuple which constructs a symbol of a given shape from a partition tuple
  • rank which computes the rank of a symbol
  • defect which returns the defect of a 2-symbol
  • Malledefect which returns the Malle-defect of a symbol
  • fakedegree, degree_feg, valuation_feg return the fake degree (resp. its degree and valuation) of the unipotent character parametrized by a symbol
  • gendeg, degree_gendeg, valuation_gendeg return the generic degree (resp. its degree and valuation) of the unipotent character parametrized by a symbol
  • symbols returns the list of symbols of a given length, rank and content.

Finally, in this module we also provides a function XSP which returns the "symbols" (pairs of lists of increasing positive integers satisfying some conditions) $X̃^{ρ-s,s}_{n,d}$ defined by Lusztig and Spaltenstein which parametrize local systems on unipotent classes for classical reductive groups.

source
Chevie.Symbols.shiftβFunction

shiftβ( β, n) shift the β-set β by n

julia> shiftβ([2,3],2)
4-element Vector{Int64}:
 0
 1
 4
 5

julia> shiftβ([0,1,4,5],-2)
2-element Vector{Int64}:
 2
 3
source
Chevie.Symbols.βsetFunction

βset(p) normalized β-set of partition p

julia> βset([3,3,1])
3-element Vector{Int64}:
 1
 4
 5
source
Chevie.Symbols.string_partition_tupleFunction

string_partition_tuple(tuple)

converts the partition tuple tuple to a string where the partitions are separated by a dot.

julia> d=partition_tuples(3,2)
10-element Vector{Vector{Vector{Int64}}}:
 [[1, 1, 1], []]
 [[1, 1], [1]]
 [[1], [1, 1]]
 [[], [1, 1, 1]]
 [[2, 1], []]
 [[1], [2]]
 [[2], [1]]
 [[], [2, 1]]
 [[3], []]
 [[], [3]]

julia> string_partition_tuple.(d)
10-element Vector{String}:
 "111."
 "11.1"
 "1.11"
 ".111"
 "21."
 "1.2"
 "2.1"
 ".21"
 "3."
 ".3"
source
Chevie.Symbols.CharSymbolType

CharSymbol(v::Vector{Vector{Int}},repeat::Int=1,no::Int=0)

CharSymbol makes a vector of βsets into a symbol. If the vector of βsets has a period this is specified by givin a number repeats of repetitions and a number 0≤no<repat.

julia> CharSymbol([[1],Int[],[2]])
(1,,2)

julia> CharSymbol([[1],[1],[1]],3,2)
(1ζ₃²)
source
Chevie.Symbols.defectMethod

`defect(s::CharSymbol)'

For an e-symbol [S₁,S₂,…,Sₑ] returns length(S₁)-length(S₂).

julia> defect(CharSymbol([[1,5,6],[1,2]]))
1
source
Chevie.Symbols.Symbol_partition_tupleFunction

Symbol_partition_tuple(p, s) symbol of shape s for partition tuple p.

In the general case, s is a Vector{Int} of same length as p and the i-th element of the result is the β-set for pᵢ shifted to be of length sᵢ (the minimal integer which makes this possible is added to s).

When s is a positive integer it is interpreted as [s,0,0,…] and a negative integer is interpreted as [0,-s,-s,…] so when p is a double partition one gets the symbol of defect s associated to p; as other uses the unipotent symbol for a character of the principal series of G(e,1,r) parameterized by an e-tuple p of partitions is Symbol_partition_tuple(p,1) and for G(e,e,r) the similar computation is Symbol_partition_tuple(p,0) (the function handles coded periodic p for G(e,e,r)).

julia> Symbol_partition_tuple([[2,1],[1]],1)
(13,1)

julia> Symbol_partition_tuple([[2,1],[1]],0)
(13,02)

julia> Symbol_partition_tuple([[2,1],[1]],-1)
(13,013)
source
Chevie.Symbols.fakedegreeMethod

fakedegree(S::CharSymbol,p=0)

returns as a CycPol the fake degree of the character of symbol S.

julia> fakedegree(CharSymbol([[1,5,6],[1,2]]))
q¹⁶Φ₅Φ₇Φ₈Φ₉Φ₁₀Φ₁₁Φ₁₄Φ₁₆Φ₁₈Φ₂₀Φ₂₂

If S is an e-symbol, when given a second argument p dividing e, and a first argument of shape (0,…,0) representing the restriction of the character to G(e,e,r), works for the coset G(e,e,r).s₁ᵖ.

source
Chevie.Symbols.degree_fegFunction

degree_feg(s::CharSymbol)

the degree of the fake degree of the character parameterized by the symbol s.

julia> degree_feg(CharSymbol([[1,5,6],[1,2]]))
88
source
Chevie.Symbols.valuation_fegFunction

valuation_feg(s::CharSymbol)

the valuation of the fake degree of the character parameterized by the symbol s.

julia> valuation_feg(CharSymbol([[1,5,6],[1,2]]))
16
source
Chevie.Symbols.gendegFunction

gendeg(S::CharSymbol)

returns as a CycPol the generic degree of the unipotent character parameterized by S.

julia> gendeg(CharSymbol([[1,2],[1,5,6]]))
q¹³Φ₅Φ₆Φ₇Φ₈²Φ₉Φ₁₀Φ₁₁Φ₁₄Φ₁₆Φ₁₈Φ₂₀Φ₂₂/2

works for spetses G(e,1,r), G(e,e,r), ᵗG(e,e,r)

see 3.9 and 6.4 Malle1995.

source
Chevie.Symbols.degree_gendegFunction

degree_gendeg(S::CharSymbol)

the degree of the generic degree of the unipotent character parameterized by the symbol S.

julia> degree_gendeg(CharSymbol([[1,5,6],[1,2]]))
91
source
Chevie.Symbols.valuation_gendegFunction

valuation_gendeg(S::CharSymbol)

the valuation of the generic degree of the unipotent character parameterized by the symbol S.

julia> valuation_gendeg(CharSymbol([[1,5,6],[1,2]]))
13
source
Chevie.Symbols.symbolsFunction

symbols(e,r,content=1,Malledefect=0)

The list of e-symbols of rank r and given content and Malle-defect.

The symbols parametrize unipotent characters of:

  • G(d,1,r) : symbols(d,r)
  • G(e,e,r) : symbols(e,r,0).
  • G(e,e,r).s₁ᵗ where s₁ is the first generator of G(e,1,r) and t|e: symbols(e,r,0,t)

In particular we have

  • Aₙ : symbols(1,n)
  • Bₙ : symbols(2,n)
  • Dₙ : symbols(2,n,0)
  • ²Dₙ : symbols(2,n,0,1)
  • ²B₂ : symbols(4,2,0,1)
  • ²G₂ : symbols(6,2,0,1)
julia> symbols(2,4,0,1) # unipotent characters of ²D₄
10-element Vector{CharSymbol}:
 (123,0)
 (023,1)
 (0124,12)
 (01234,123)
 (13,)
 (013,2)
 (014,1)
 (0123,13)
 (04,)
 (012,3)
source
Chevie.Symbols.ennolaMethod

ennola(S::CharSymbol)

Ennola of e-symbol S (of content 1 or 0) The order of Ennola (order of center of reflection group) is computed automatically: it is e for content 1 and gcd(e,rank(S)) for content 0.

source
Chevie.Symbols.XSPFunction

XSP(ρ,s,n,even=false)

returns the union of the Lusztig-Spaltenstein 1985 $X̃^{ρ-s,s}_{n,d}$ for all d even when even=true, all d odd otherwise; these symbols parametrize local systems on unipotent conjugacy classes for classical groups. In Lusztig2004, 13.2 the notation is ${}^ρ X^s_{n,d}$. The result is a list of lists, each one corresponding to a similarity class (which correspond to a given conjugacy class for the support). If s==0, only positive defects are considered.

  • XSP(2,1,n) gives L-S symbols for Sp₂ₙ
  • XSP(4,2,n) gives L-S symbols for Sp₂ₙ in char.2
  • XSP(2,0,n) gives L-S symbols for SO₂ₙ₊₁ [defect odd]
  • XSP(2,0,n,true) gives L-S symbols for SO₂ₙ [defect even]
  • XSP(4,0,n,true) gives L-S symbols for SO₂ₙ in char 2

each item is a NamedTuple giving some information on the local system. It has fields

  • symbol the Lusztig-Spaltenstein symbol
  • dimBu for the support u of the local system
  • Au describes the character of A(u) for the local system as a list: true->sgn, false->Id
  • sp parameter (double partition) of the generalized Springer correspondent (a character of the relative Weyl group)
source