Symbols
Chevie.SymbolsChevie.Symbols.CharSymbolChevie.Symbols.Symbol_partition_tupleChevie.Symbols.XSPChevie.Symbols.defectChevie.Symbols.degree_fegChevie.Symbols.degree_gendegChevie.Symbols.ennolaChevie.Symbols.fakedegreeChevie.Symbols.gendegChevie.Symbols.partβChevie.Symbols.rankChevie.Symbols.shiftβChevie.Symbols.string_partition_tupleChevie.Symbols.symbolsChevie.Symbols.valuation_fegChevie.Symbols.valuation_gendegChevie.Symbols.βset
Chevie.Symbols — ModuleThe 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
βsetwhich constructs a normalized βset from a partition.shiftβwhich shifts a βsetpartβ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 symbolSymbol_partition_tuplewhich constructs a symbol of a given shape from a partition tuplerankwhich computes the rank of a symboldefectwhich returns the defect of a 2-symbolMalledefectwhich returns the Malle-defect of a symbolfakedegree, degree_feg, valuation_fegreturn the fake degree (resp. its degree and valuation) of the unipotent character parametrized by a symbolgendeg, degree_gendeg, valuation_gendegreturn the generic degree (resp. its degree and valuation) of the unipotent character parametrized by a symbolsymbolsreturns 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.
Chevie.Symbols.shiftβ — Functionshiftβ( β, 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
Chevie.Symbols.βset — Functionβset(p) normalized β-set of partition p
julia> βset([3,3,1])
3-element Vector{Int64}:
1
4
5Chevie.Symbols.partβ — Functionpartβ(β) partition defined by β-set β
julia> partβ([0,4,5])
2-element Vector{Int64}:
3
3Chevie.Symbols.string_partition_tuple — Functionstring_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"Chevie.Symbols.CharSymbol — TypeCharSymbol(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ζ₃²)Chevie.Symbols.rank — Methodrank(S) rank of symbol S.
julia> rank(CharSymbol([[1,5,6],[1,2]]))
11Chevie.Symbols.defect — Method`defect(s::CharSymbol)'
For an e-symbol [S₁,S₂,…,Sₑ] returns length(S₁)-length(S₂).
julia> defect(CharSymbol([[1,5,6],[1,2]]))
1Chevie.Symbols.Symbol_partition_tuple — FunctionSymbol_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)Chevie.Symbols.fakedegree — Methodfakedegree(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₁ᵖ.
Chevie.Symbols.degree_feg — Functiondegree_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]]))
88Chevie.Symbols.valuation_feg — Functionvaluation_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]]))
16Chevie.Symbols.gendeg — Functiongendeg(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¹³Φ₅Φ₆Φ₇Φ₈²Φ₉Φ₁₀Φ₁₁Φ₁₄Φ₁₆Φ₁₈Φ₂₀Φ₂₂/2works for spetses G(e,1,r), G(e,e,r), ᵗG(e,e,r)
Chevie.Symbols.degree_gendeg — Functiondegree_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]]))
91Chevie.Symbols.valuation_gendeg — Functionvaluation_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]]))
13Chevie.Symbols.symbols — Functionsymbols(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₁ᵗwheres₁is the first generator ofG(e,1,r)andt|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)Chevie.Symbols.ennola — Methodennola(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.
Chevie.Symbols.XSP — FunctionXSP(ρ,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.2XSP(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
symbolthe Lusztig-Spaltenstein symboldimBufor the supportuof the local systemAudescribes the character ofA(u)for the local system as a list:true->sgn,false->Idspparameter (double partition) of the generalized Springer correspondent (a character of the relative Weyl group)