Documentation contents

atlas Library · Script File

tits.at

An element of the (\delta-extended) Tits group is represented by (RootDatum
rd,ratvec v,mat theta) representing \exp(2\ii\pi v) \sigma_w d where \theta is
the the action of wd on X^*, with w\in W and d is a distinguished involution
of that lattice, allowing for both d=\delta and d=identity. In fact we do not
directly represent w (separately from d), although we do implement
multiplications by elements of W (where w represents the canonical lift
\sigma_w) and we do have a well defined notion of length change for such
operations, in terms of counting roots in the \theta image of the poscoroots.

So v is a rational coweight taken modulo 1; theta need not be an involution.
Note that theta is defined as operating from left on X^*; for left action of
theta on v, use the transpose inverse (right-multiply v by inverse(theta)).

The set of values for which \theta is the identity is the torus, an Abelian
normal subgroup of our Tits group. The basic ingredients of the groups
structure are the fact that (\sigma_s)^2 for Weyl group generators is a tutus
element m_s, represented by v=simple_coroot(rd,s)/2, and the commutation
relations \sigma_s*v=s(v)*\sigma_s where s(v)=v*M_s for the matrix M_s of s.

Note that if we had used a doubled scale for v (and consequently the map
$z\mapsto\exp(\ii\pi)$ as well as reduction modulo 2 rather than 1), this
would have avoided many divisions by 2; it might have been a better idea.
Source
atlas-scripts/tits.at (158 lines)
Definitions
22
Loads
Loaded by
tits_centralizer.at parameters.at

Definitions in source order

Tits_elt type

L29
set_type [ Tits_elt = (RootDatum root_datum,ratvec torus_part,mat theta) ]

Fields: root_datum, torus_part, theta

=

L32= (Tits_elt(,v,theta),Tits_elt(,u,eta)) = bool
equality test assumes the root data agree, without check (though it could)

also defined in basic.at, combinatorics.at, modules.at, parabolics.at, synthetic.at, hash.at, K_highest_weights.at, nilpotent_orbits.at, cyclotomic.at, polynomial.at, W_reps_type_BC.at, hodgeParamLaurentPol.at, hodgeParamPol.at, laurentPolynomial.at, extended.at, disconnected.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at

!=

L33!= ((Tits_elt,Tits_elt)p) = bool

also defined in basic.at, combinatorics.at, synthetic.at, hash.at, cyclotomic.at, polynomial.at, cyclotomicMat.at

tits_identity

L36tits_identity (RootDatum rd) = Tits_elt
identity in Tits group

tits_delta 2 overloads

L40tits_delta (RootDatum rd,mat delta) = Tits_elt
element (torus factor=1)*delta in twisted Tits group
L41tits_delta (RealForm G) = Tits_elt

left 2 overloads

L55left (int s,Tits_elt(rd,v,theta)) = Tits_elt
left multiplication by sigma_s, where s must index a simple root
L67left (WeylElt w,Tits_elt xi) = Tits_elt
multiplication by canonical lift of WeylElt

also in this file at line 76; also defined in complex.at

right

L71right (Tits_elt xi, WeylElt w) = Tits_elt

also in this file at line 45, line 80; also defined in complex.at

left

L76left ((ratvec,int)(v,s), Tits_elt xi) = Tits_elt
left multiply by simple generator with a torus part: \exp(2i\pi v)\sigma_s

also in this file at line 55, line 67; also defined in complex.at

right

L80right (Tits_elt xi, (ratvec,int)(v,s)) = Tits_elt
right multiply by simple generator with a torus part: \exp(2i\pi v)\sigma_s

also in this file at line 45, line 71; also defined in complex.at

conjugate 2 overloads

L84conjugate (int s, Tits_elt xi) = Tits_elt
conjugate by simple generator sigma_s
L89conjugate (WeylElt w, Tits_elt xi) = Tits_elt
conjugate by canonical lift sigma_w of Weyl group element

also defined in basic.at

multiply

L115multiply (Tits_elt(rd,v,theta), Tits_elt( ,u,eta)) = Tits_elt
for general multiplication, we allow theta and eta to be in either of the
W-cosets (that of the identity and of \delta). The basic formula is that if
\sigma_w denotes the canonical lift of w to the Tits group, then one has

       \sigma_{w_1} \sigma_{w_2} = m_{S(w_1,w_2)} \sigma_{w_1 w_2} ,

where the set of posroots

       S(w_1,w_2) = \Delta^+ \cap w( \Delta^- \cap w'(\Delta^+) ) ,

is transformed into a torus element m_{S(w_1,w_2)} by applying the map
v\mapsto\exp(\pi\ii t) to the sum of the corresponding coroots. (The proof is
by induction on the length of w_1: for the statrting case w_1=e, the set S is
empty making the result trivial. Otherwise write w_1=sw with l(w)<l(w_1):
then S(w_1,w_2) is obtained from s.S(w,w_1) (which is a set of posroots) by
possibly adding the simple root \alpha_s, in the case l(w_1w_2)<l(ww_2).)

The code below actually computes S using matrices representing coroots as
their columns (so that the passage from S to m_S is obtained by taking the
half-sum of the columns modulo 1). The action of \theta,\eta on such a matrix
is then by left multiplication by the transpose inverse (a right-action).
assume rd

also defined in lazy_lists.at

*

L124* = multiply@(Tits_elt,Tits_elt)

also defined in basic.at, extParamPol.at, complex.at, modules.at, hodge_tensor.at, tits_centralizer.at, stable.at, synthetic.at, Weylgroup.at, group_operations.at, ratmat.at, twisted_root_datum.at, cyclotomic.at, polynomial.at, hodgeParamLaurentPol.at, hodgeParamPol.at, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, hodge_functions.at, sparse.at, lazy_lists.at

inverse

L135inverse (Tits_elt(rd,v,theta)) = Tits_elt
inverse uses the bicycle lemma (note the (2\.../2) "bicycle" structure):
 sigma_w*sigma_{w^{-1}} = exp(2\pi i(rho^vee-rho^vee*w^{-1})/2)
 {this is a joke; the two 2's cancel, but doing so destroys the bicycle image}
whence
 inverse(Tits_elt:(0,theta)) = Tits_elt:(rho_check*(1-theta)/2,inverse(theta))
(this formula remains valid in both cosets of W)
and inverse(Tits_elt:(v,theta))=inverse(Tits_elt:(0,theta))*\exp(2\pi i * -v)
  = Tits_elt:(rho_check*(1-theta)/2-v*theta,inverse(theta))

also defined in basic.at, combinatorics.at, ratmat.at, parameters.at, affine.at, cyclotomic.at, Gaussian_elim.at, cyclotomic_Gaussian_elim.at, lazy_lists.at

lift 3 overloads

L139lift (WeylElt w) = Tits_elt
canonical lift of Weyl group element, assumed reduced, to Tits group
L142lift (mat delta, WeylElt w) = Tits_elt
canonical lift of Weyl group element to \delta-twisted Tits group
L144lift (RealForm G, WeylElt w) = Tits_elt

also defined in hash.at, center.at, nilpotent_orbits.at, disconnected.at

^

L148^ (Tits_elt !xi, int n) = Tits_elt
Tits element raised to an integer power

also defined in basic.at, ratmat.at, cyclotomic.at, polynomial.at, sparse.at, lazy_lists.at

order

L156order (Tits_elt xi) = int
this only works if the torus part is of order 2 (in the ajdoint group?)

also defined in basic.at, all_finite_order.at, cyclotomic.at, extended.at

Generated from atlas-scripts at commit 648506c (2026-10-13).