Semisimple elements

Chevie.SemisimpleModule

Semisimple elements

Let 𝐆 a reductive group and 𝐓 a maximal torus. We construct semi-simple elements in two ways. The first way is for finite order elements of 𝐓, which over an algebraically closed field K are in bijection with elements of Y(𝐓)⊗ ℚ /ℤ whose denominator is prime to the characteristic of K. These are represented as a vector of Rationals r such that 0≤r<1 expressing such an element in the basis of Y(𝐓). The function ss constructs such a semisimple element from a vector of Rationals.

More generally a torus 𝐓 over a field K is isomorphic to (Kˣ)^n where n is the dimension of 𝐓, so a vector of elements of is a more general representation which is produced by the function SemisimpleElement; in this setting the result of ss is naturally interpreted as a Vector{Root1}, so it can also be obtained by calling SemisimpleElement which such a vector.

julia> G=rootdatum(:sl,4)
sl₄

julia> ss(G,[1//3,1//4,3//4,2//3])
SemisimpleElement{Root1}: <ζ₃,ζ₄,ζ₄³,ζ₃²>

julia> SemisimpleElement(G,[E(3),E(4),E(4,3),E(3,2)])
SemisimpleElement{Root1}: <ζ₃,ζ₄,ζ₄³,ζ₃²>

julia> L=reflection_subgroup(G,[1,3])
A₃₍₁₃₎=A₁×A₁Φ₁

julia> C=algebraic_center(L)
(Z0 = SubTorus(A₃₍₁₃₎=A₁×A₁Φ₁,[1 2 1]), AZ = Group(SemisimpleElement{Root1}[<1,1,-1>]), descAZ = [[1, 2]], ZD = Group(SemisimpleElement{Root1}[<-1,1,1>, <1,1,-1>]))

julia> T=torsion_subgroup(C.Z0,3)
Group(SemisimpleElement{Root1}[<ζ₃,ζ₃²,ζ₃>])

julia> e=sort(elements(T))
3-element Vector{SemisimpleElement{Root1}}:
 <1,1,1>
 <ζ₃,ζ₃²,ζ₃>
 <ζ₃²,ζ₃,ζ₃²>

In the above, the Levi subgroup L of SL₄ consisting of block-diagonal matrices of shape 2×2 is constructed. The function algebraic_center returns a named tuple with : the neutral component Z⁰ of the center Z of L, represented by a basis of Y(Z⁰), a complement subtorus S of 𝐓 to Z⁰ represented similarly by a basis of Y(S), and semi-simple elements representing the classes of Z modulo Z⁰ , chosen in S. The classes Z/Z⁰ also biject to the fundamental group as given by the field .descAZ, see algebraic_center for an explanation. Finally the semi-simple elements of order 3 in Z⁰ are computed.

julia> e[3]^G(2)
SemisimpleElement{Root1}: <ζ₃²,1,ζ₃²>

julia> orbit(G,e[3])
6-element Vector{SemisimpleElement{Root1}}:
 <ζ₃²,ζ₃,ζ₃²>
 <ζ₃²,1,ζ₃²>
 <ζ₃,1,ζ₃²>
 <ζ₃²,1,ζ₃>
 <ζ₃,1,ζ₃>
 <ζ₃,ζ₃²,ζ₃>

Here is the same computation as above performed with semisimple elements whose coefficients are in the finite field FF(4), representing elements of sl₄(𝔽₄).

julia> G=rootdatum(:sl,4)
sl₄

julia> s=SemisimpleElement(G,Z(4).^[1,2,1])
SemisimpleElement{FFE{2}}: <Z₄,Z₄²,Z₄>

julia> s^G(2)
SemisimpleElement{FFE{2}}: <Z₄,1,Z₄>

julia> orbit(G,s)
6-element Vector{SemisimpleElement{FFE{2}}}:
 <Z₄,Z₄²,Z₄>
 <Z₄,1,Z₄>
 <Z₄²,1,Z₄>
 <Z₄,1,Z₄²>
 <Z₄²,1,Z₄²>
 <Z₄²,Z₄,Z₄²>

We can compute the centralizer $C_𝐆 (s)$ of a semisimple element in 𝐆:

julia> G=coxgroup(:A,3)
A₃

julia> s=ss(G,[0,1//2,0])
SemisimpleElement{Root1}: <1,-1,1>

julia> centralizer(G,s)
A₃₍₁₃₎=(A₁A₁)Φ₂

The result is an ExtendedReflectionGroup; the reflection group part is the Weyl group of $C_𝐆⁰(s)$ and the extended part are representatives of $C_𝐆(s)$ modulo $C_𝐆⁰(s)$ taken as diagram automorphisms of the reflection part. Here it is printed as a coset $C_𝐆 ⁰(s)ϕ$ which generates $C_𝐆(s)$.

source
Chevie.Semisimple.SemisimpleElementType

SemisimpleElement(W,v)

constructs a semisimple element of the reductive group associated to the Weyl group W whose coefficients on Y(𝐓) are specified by v.

source
Chevie.Semisimple.ssFunction

ss(W,v)

constructs a semisimple element of finite order of the reductive group associated to the Weyl group W. This is specified by an element of Y(𝐓)⊗ℚ/ℤ specified by a vector of rational v (which are taken modZ). The elements of v are displayed as Root1.

julia> ss(rootdatum(:sl,4),[1//3,1//4,3//4,2//3])
SemisimpleElement{Root1}: <ζ₃,ζ₄,ζ₄³,ζ₃²>
source
Chevie.Semisimple.quasi_isolated_repsMethod

quasi_isolated_reps(W,p=0)

W should be a Weyl group corresponding to an algebraic group 𝐆 over an algebraically closed field of characteristic 0. This function returns a list of semisimple elements for 𝐆, which are representatives of the 𝐆-orbits of quasi-isolated semisimple elements. It follows the algorithm given in (Bonnafé, 2005; Theorem 4.6). If a second argument p is given, it gives representatives of those quasi-isolated elements which exist in characteristic p.

julia> W=coxgroup(:E,6);l=quasi_isolated_reps(W)
5-element Vector{SemisimpleElement{Root1}}:
 <1,1,1,1,1,1>
 <1,-1,1,1,1,1>
 <1,1,1,ζ₃,1,1>
 <ζ₃,1,1,1,1,ζ₃>
 <1,ζ₆,ζ₆,1,ζ₆,1>

julia> map(s->isisolated(W,s),l)
5-element Vector{Bool}:
 1
 1
 1
 0
 0

julia> W=rootdatum(:E6sc);l=quasi_isolated_reps(W)
7-element Vector{SemisimpleElement{Root1}}:
 <1,1,1,1,1,1>
 <-1,1,1,-1,1,-1>
 <ζ₃,1,ζ₃²,1,ζ₃,ζ₃²>
 <ζ₃²,1,ζ₃,1,ζ₃,ζ₃²>
 <ζ₃²,1,ζ₃,1,ζ₃²,ζ₃>
 <ζ₆⁵,1,ζ₃²,1,ζ₃,ζ₃²>
 <ζ₃²,1,ζ₃,1,ζ₃²,ζ₆⁵>

julia> map(s->isisolated(W,s),l)
7-element Vector{Bool}:
 1
 1
 1
 1
 1
 1
 1

julia> Semisimple.quasi_isolated_reps(W,3)
2-element Vector{SemisimpleElement{Root1}}:
 <1,1,1,1,1,1>
 <-1,1,1,-1,1,-1>
source
Chevie.Semisimple.isisolatedFunction

isisolated(WF::Spets,t::SemisimpleElement{Root1})

WF should be a Coxeter coset representing an algebraic coset 𝐆 ⋅σ, where 𝐆 is a connected reductive group (represented by W=Group(WF)), and σ is a quasi-central automorphism of 𝐆 defined by WF. The element t should be a semisimple element of 𝐆. The function returns a boolean describing whether is isolated, that is whether the Weyl group of C_𝐆 (tσ)⁰ is not in any proper parabolic subgroup of W^σ.

julia> WF=rootdatum(:u,6)
u₆

julia> l=quasi_isolated_reps(WF)
4-element Vector{SemisimpleElement{Root1}}:
 <1,1,1,1,1,1>
 <ζ₄,ζ₄,ζ₄,ζ₄³,ζ₄³,ζ₄³>
 <ζ₄,ζ₄,1,1,ζ₄³,ζ₄³>
 <ζ₄,1,1,1,1,ζ₄³>

julia> isisolated.(Ref(WF),l)
4-element BitVector:
 1
 1
 1
 0
source
Chevie.Semisimple.torsion_subgroupFunction

torsion_subgroup(S::SubTorus,n)

This function returns the subgroup of semi-simple elements of order dividing n in the subtorus S.

julia> G=rootdatum(:sl,4)
sl₄

julia> L=reflection_subgroup(G,[1,3])
A₃₍₁₃₎=A₁×A₁Φ₁

julia> C=algebraic_center(L)
(Z0 = SubTorus(A₃₍₁₃₎=A₁×A₁Φ₁,[1 2 1]), AZ = Group(SemisimpleElement{Root1}[<1,1,-1>]), descAZ = [[1, 2]], ZD = Group(SemisimpleElement{Root1}[<-1,1,1>, <1,1,-1>]))

julia> T=torsion_subgroup(C.Z0,3)
Group(SemisimpleElement{Root1}[<ζ₃,ζ₃²,ζ₃>])

julia> sort(elements(T))
3-element Vector{SemisimpleElement{Root1}}:
 <1,1,1>
 <ζ₃,ζ₃²,ζ₃>
 <ζ₃²,ζ₃,ζ₃²>
source
Chevie.Semisimple.algebraic_centerFunction

algebraic_center(W)

W should be a Weyl group, or an extended Weyl group. This function returns a description of the center Z of the algebraic group 𝐆 defined by W as a named tuple with the following fields:

Z0: the neutral component Z⁰ of Z as a subtorus of 𝐓.

AZ: representatives in Z of A(Z):=Z/Z⁰ given as a group of semisimple elements.

ZD: center of the derived subgroup of 𝐆 given as a group of semisimple elements.

descAZ: if W is not an extended Weyl group, describes A(Z) as a quotient of the center pi of the simply connected covering of 𝐆 (an incarnation of the fundamental group). It contains a list of elements given as words in the generators of pi which generate the kernel of the quotient map.

julia> G=rootdatum(:sl,4)
sl₄

julia> L=reflection_subgroup(G,[1,3])
A₃₍₁₃₎=A₁×A₁

ulia> C=algebraic_center(L)
(Z0 = SubTorus(A₃₍₁₃₎=A₁×A₁Φ₁,[1 2 1]), AZ = Group(SemisimpleElement{Root1}[<1,1,-1>]), descAZ = [[1, 2]], ZD = Group(SemisimpleElement{Root1}[<-1,1,1>, <1,1,-1>]))

julia> G=coxgroup(:A,3)
A₃

julia> s=ss(G,[0,1//2,0])
SemisimpleElement{Root1}: <1,-1,1>

julia> C=centralizer(G,s)
A₃₍₁₃₎=(A₁A₁)Φ₂

julia> algebraic_center(C)
(Z0 = SubTorus(A₃₍₁₃₎=A₁×A₁Φ₁,Matrix{Int64}(undef, 0, 3)), AZ = Group(SemisimpleElement{Root1}[<1,-1,1>]))
source
PermGroups.Groups.centralizerMethod

centralizer(W,s::SemisimpleElement)

W should be a Weyl group or an extended reflection group and s a semisimple element of the algebraic group G corresponding to W. This function returns the Weyl group of $C_G(s)$, which describes it. This is an extended reflection group, with the reflection group part equal to the Weyl group of $C_G(s)⁰$, and the diagram automorphism part being those induced by $C_G(s)$. The algorithm follows (Bonnafé, 2005; proposition 3.14).

julia> G=coxgroup(:A,3)
A₃
julia> s=ss(G,[0,1//2,0])
SemisimpleElement{Root1}: <1,-1,1>
julia> centralizer(G,s) # the brackets around the A₁ means they are permuted
A₃₍₁₃₎=(A₁A₁)Φ₂
source
Chevie.Semisimple.semisimple_centralizer_representativesFunction

semisimple_centralizer_representatives(W [,p]) or sscentralizer_reps

W should be a Weyl group corresponding to an algebraic group 𝐆. This function returns a list describing representatives 𝐇 of 𝐆-orbits of reductive subgroups of 𝐆 which are the identity component of the centralizer of a semisimple element. Each group 𝐇 is specified by a list h of reflection indices in W such that 𝐇 corresponds to reflection_subgroup(W,h). If a second argument p is given, only the list of the centralizers which occur in characteristic p is returned.

julia> W=coxgroup(:G,2)
G₂

julia> sscentralizer_reps(W)
6-element Vector{Vector{Int64}}:
 []
 [1]
 [2]
 [1, 2]
 [1, 5]
 [2, 6]

julia> reflection_subgroup.(Ref(W),sscentralizer_reps(W))
6-element Vector{FiniteCoxeterSubGroup{Perm{Int16},Int64}}:
 G₂₍₎=Φ₁²
 G₂₍₁₎=A₁Φ₁
 G₂₍₂₎=Ã₁Φ₁
 G₂
 G₂₍₁₅₎=A₂
 G₂₍₂₆₎=Ã₁×A₁

julia> sscentralizer_reps(W,2)
5-element Vector{Vector{Int64}}:
 []
 [1]
 [2]
 [1, 2]
 [1, 5]
source
Chevie.Semisimple.structure_rational_points_connected_centreFunction

structure_rational_points_connected_centre(W,q)

W should be a Coxeter group or a Coxeter coset representing a finite reductive group $𝐆 ^F$, and q should be the prime power associated to the isogeny F. The function returns the abelian invariants of the finite abelian group $Z⁰𝐆 ^F$ where Z⁰𝐆 is the connected center of 𝐆.

In the following example one determines the structure of 𝐓(𝔽₃) where 𝐓 runs over all the maximal tori of SL₄.

julia> l=twistings(rootdatum(:sl,4),Int[])
5-element Vector{Spets{FiniteCoxeterSubGroup{Perm{Int16},Int64}}}:
 A₃₍₎=Φ₁³
 A₃₍₎=Φ₁²Φ₂
 A₃₍₎=Φ₁Φ₂²
 A₃₍₎=Φ₁Φ₃
 A₃₍₎=Φ₂Φ₄

julia> structure_rational_points_connected_centre.(l,3)
5-element Vector{Vector{Int64}}:
 [2, 2, 2]
 [2, 8]
 [4, 8]
 [26]
 [40]
source
Chevie.Semisimple.fixed_pointsFunction

fixed_points(T::SubTorus,m)

Let σ be an automorphism of T represented as a matrix m∈ GL(X(T)). The function returns $(T^{σ0},σ$-stable representatives of $T/T^{σ0})$

It uses the formula in (Digne and Michel, 2018; 1.2(1)) for $T/T^{σ0}$ which is Ker(1+σ+σ^2+...)/Im(σ-Id).

source
Chevie.Semisimple.ExtendedReflectionGroupFunction

ExtendedReflectionGroup(W,mats)

ExtendedReflectionGroup(W,perms)

An extended reflection group is the semi-direct product of a reflection group W on the space V by a group of diagram automorphisms (elements of GL(V) which normalize W). It is represented as a collection of reflection cosets which generate it.

In the first form, mats are the automorphisms given as elements of GL(V). In the second form, the automorphisms are specified by the permutations they induce on the roots of W.

source