Symbols
Chevie.Symbols
Chevie.Symbols.CharSymbol
Chevie.Symbols.Symbol_partition_tuple
Chevie.Symbols.XSP
Chevie.Symbols.defect
Chevie.Symbols.degree_feg
Chevie.Symbols.degree_gendeg
Chevie.Symbols.ennola
Chevie.Symbols.fakedegree
Chevie.Symbols.gendeg
Chevie.Symbols.partβ
Chevie.Symbols.rank
Chevie.Symbols.shiftβ
Chevie.Symbols.string_partition_tuple
Chevie.Symbols.symbols
Chevie.Symbols.valuation_feg
Chevie.Symbols.valuation_gendeg
Chevie.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
βset
which 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_tuple
which constructs a symbol of a given shape from a partition tuplerank
which computes the rank of a symboldefect
which returns the defect of a 2-symbolMalledefect
which returns the Malle-defect of a symbolfakedegree, degree_feg, valuation_feg
return the fake degree (resp. its degree and valuation) of the unipotent character parametrized by a symbolgendeg, degree_gendeg, valuation_gendeg
return the generic degree (resp. its degree and valuation) of the unipotent character parametrized by a symbolsymbols
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.
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
5
Chevie.Symbols.partβ
— Functionpartβ(β)
partition defined by β-set β
julia> partβ([0,4,5])
2-element Vector{Int64}:
3
3
Chevie.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]]))
11
Chevie.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]]))
1
Chevie.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]]))
88
Chevie.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]]))
16
Chevie.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¹³Φ₅Φ₆Φ₇Φ₈²Φ₉Φ₁₀Φ₁₁Φ₁₄Φ₁₆Φ₁₈Φ₂₀Φ₂₂/2
works 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]]))
91
Chevie.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]]))
13
Chevie.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
symbol
the Lusztig-Spaltenstein symboldimBu
for the supportu
of the local systemAu
describes the character ofA(u)
for the local system as a list:true
->sgn,false
->Idsp
parameter (double partition) of the generalized Springer correspondent (a character of the relative Weyl group)