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βΆΞ¦βΒ²Ξ¦βΒ²Ξ¦βΞ¦β