Classtypes
Chevie.Gt.closed_subsystems
β Functionclosed_subsystems(W)
W
should be a Weyl group. The function returns the Poset of closed subsystems of the root system of W
. Each closed subsystem is represented by the list of indices of its simple roots. If W
is the Weyl group of a reductive group π
, then closed subsystem correspond to reductive subgroups of maximal rank. And all such groups are obtained this way, apart from some exceptions in characteristics 2 and 3 (see Malle-Testerman 2011 Proposition 13.4).
julia> W=coxgroup(:G,2)
Gβ
julia> closed_subsystems(W)
1 2<1 4<4<β
1 2<1 5<1<β
1 2<2 6<6<β
1 2<3 5<5<β
1 4<1
1 5<6
1 5<5
2 6<2<β
3 5<3<β
Chevie.Gt.ClassTypes
β TypeClassTypes(G[,p])
G
should be a root datum or a twisted root datum representing a finite reductive group $π ^F$ and p
should be a prime. The function returns the class types of G
in characteristic p
(in good characteristic if p
is omitted). Two elements of $π ^F$ have the same class type if their centralizers are conjugate. If su
is the Jordan decomposition of an element x
, the class type of x
is determined by the class type of its semisimple part s
and the unipotent class of u
in $C_π (s)$.
The function ClassTypes
is presently only implemented for simply connected groups, where $C_π (s)$ is connected. This section is a bit experimental and may change in the future.
ClassTypes
returns a struct
which contains a list of classtypes for semisimple elements, which are represented by subspets
and contain additionnaly information on the unipotent classes of $C_π (s)$.
Let us give some examples:
julia> t=ClassTypes(rootdatum(:sl,3))
ClassTypes(Aβ,good characteristic)
C_G(s)β |C_G(s)|
βββββββββββΌββββββββββ
Aβββ=Ξ¦βΒ² β Ξ¦βΒ²
Aβββ=Ξ¦βΞ¦β β Ξ¦βΞ¦β
Aβββ=Ξ¦β β Ξ¦β
Aββββ=AβΞ¦ββ qΞ¦βΒ²Ξ¦β
Aβ βqΒ³Ξ¦βΒ²Ξ¦βΞ¦β
By default, only information about semisimple centralizer types is returned: the type, and its generic order.
julia> xdisplay(t;unip=true)
ClassTypes(Aβ,good characteristic)
C_G(s)β u |C_G(su)|
βββββββββββΌββββββββββββββββ
Aβββ=Ξ¦βΒ² β 1 Ξ¦βΒ²
Aβββ=Ξ¦βΞ¦β β 1 Ξ¦βΞ¦β
Aβββ=Ξ¦β β 1 Ξ¦β
Aββββ=AβΞ¦ββ 11 qΞ¦βΒ²Ξ¦β
β 2 qΞ¦β
Aβ β 111 qΒ³Ξ¦βΒ²Ξ¦βΞ¦β
β 21 qΒ³Ξ¦β
β 3 3qΒ²
β 3_ΞΆβ 3qΒ²
β3_ΞΆβΒ² 3qΒ²
Here we have displayed information on unipotent classes, with their centralizer.
julia> xdisplay(t;nClasses=true)
ClassTypes(Aβ,good characteristic)
C_G(s)β nClasses |C_G(s)|
βββββββββββΌββββββββββββββββββββββββββ
Aβββ=.Ξ¦βΒ² β(qΒ²-5q+2qβ+4)/6 Ξ¦βΒ²
Aβββ=.Ξ¦βΞ¦ββ (qΒ²-q)/2 Ξ¦βΞ¦β
Aβββ=.Ξ¦β β (qΒ²+q-qβ+1)/3 Ξ¦β
Aββββ=AβΞ¦ββ (q-qβ-1) qΞ¦βΒ²Ξ¦β
Aβ β qβ qΒ³Ξ¦βΒ²Ξ¦βΞ¦β
Here we have added information on how many semisimple conjugacy classes of π ^F
have a given type. The answer in general involves variables of the form qβ
which represent gcd(q-1,a)
.
Finally an example in bad characteristic:
julia> t=ClassTypes(coxgroup(:G,2),2);xdisplay(t;nClasses=true)
ClassTypes(Gβ,char. 2)
C_G(s)β nClasses |C_G(s)|
βββββββββββΌβββββββββββββββββββββββββββββββ
Gβββ=.Ξ¦βΒ² β(qΒ²-8q+2qβ+10)/12 Ξ¦βΒ²
Gβββ=.Ξ¦βΞ¦ββ (qΒ²-2q)/4 Ξ¦βΞ¦β
Gβββ=.Ξ¦βΞ¦ββ (qΒ²-2q)/4 Ξ¦βΞ¦β
Gβββ=.Ξ¦β β (qΒ²-q-qβ+1)/6 Ξ¦β
Gβββ=.Ξ¦β β (qΒ²+q-qβ+1)/6 Ξ¦β
Gβββ=.Ξ¦βΒ² β (qΒ²-4q+2qβ-2)/12 Ξ¦βΒ²
Gββββ=AβΞ¦ββ (q-qβ+1)/2 qΞ¦βΞ¦βΒ²
Gββββ=AβΞ¦ββ (q-qβ-1)/2 qΞ¦βΒ²Ξ¦β
Gββββ=AΜβΞ¦ββ q/2 qΞ¦βΞ¦βΒ²
Gββββ=AΜβΞ¦ββ (q-2)/2 qΞ¦βΒ²Ξ¦β
Gβ β 1 qβΆΞ¦βΒ²Ξ¦βΒ²Ξ¦βΞ¦β
Gββββ
β=Β²Aββ (qβ-1)/2 qΒ³Ξ¦βΞ¦βΒ²Ξ¦β
Gββββ
β=Aβ β (qβ-1)/2 qΒ³Ξ¦βΒ²Ξ¦βΞ¦β
We notice that if q
is a power of 2
such that qβ‘2 (mod 3)
, so that qβ=1
, some class types do not exist. We can see what happens by giving a specific value to qβ
:
julia> xdisplay(t(;q_3=1);nClasses=true)
ClassTypes(Gβ,char. 2) qβ=1
C_G(s)β nClasses |C_G(s)|
βββββββββββΌβββββββββββββββββββββββββββ
Gβββ=Ξ¦βΒ² β(qΒ²-8q+12)/12 Ξ¦βΒ²
Gβββ=Ξ¦βΞ¦β β (qΒ²-2q)/4 Ξ¦βΞ¦β
Gβββ=Ξ¦βΞ¦β β (qΒ²-2q)/4 Ξ¦βΞ¦β
Gβββ=Ξ¦β β (qΒ²-q)/6 Ξ¦β
Gβββ=Ξ¦β β (qΒ²+q)/6 Ξ¦β
Gβββ=Ξ¦βΒ² β (qΒ²-4q)/12 Ξ¦βΒ²
Gββββ=AβΞ¦ββ (q-2)/2 qΞ¦βΒ²Ξ¦β
Gββββ=AβΞ¦ββ q/2 qΞ¦βΞ¦βΒ²
Gββββ=AΜβΞ¦ββ (q-2)/2 qΞ¦βΒ²Ξ¦β
Gββββ=AΜβΞ¦ββ q/2 qΞ¦βΞ¦βΒ²
Gβ β 1 qβΆΞ¦βΒ²Ξ¦βΒ²Ξ¦βΞ¦β