atlas Library · Script File
weyl_character_formula.at
! Weyl character formula computed at elements of finite order Suppose G is a connected, complex reductive group, or a connected compact group. An irreducible finite dimensional representation (pi,V) of G is determined by its highest weight. The Weyl character formula computes the trace of pi(t), for t a (semisimple) element of G, as a quotient. If t is regular (the identity component of its centralizer is a torus) both numerator and denominator are nonzero. If t is singular both the numerator and denominator can vanish, in which case a version of L'Hopital's rule is needed. For example when t=1 this gives the Weyl dimension formula. There is a version of the Weyl character formula, which can be directly evaluated on any element t, which involves the Weyl dimension formula on the centralizer of t. This is the formula we have implemented. If t has order n then trace(pi(t)) is an algebraic integer in the cyclotomic field of n^th roots of 1, i.e. an integral linear combination of roots of 1. See https://www2.bc.edu/mark-reeder/WeylChar.pdf Proposition 6.1 !
Definitions in source order
verbose_trace
L30
verbose_trace = falseset true for more output
find_ratvec_mod_vec
L33
find_ratvec_mod_vec ([ratvec] v, ratvec w) = intsee if w is equivalent to v mod Z^n for some v in list
reduce_ratvecs_mod_lattice
L37
reduce_ratvecs_mod_lattice ([ratvec] S) = [ratvec]keep coset representatives of list of ratvecs mod Z^n
W_orbit_torus_element
L44
W_orbit_torus_element(RootDatum rd,ratvec v) = [ratvec]action is by dual(rd) since v is in X_*(T)_Q
centralizer
L48
centralizer(RootDatum rd,ratvec cowt) = RootDatumthe dual notion to |integrality_datum@(RootDatum,ratvec)|
also defined in good_W_representatives.at, nilpotent_centralizer.at, K_highest_weights.at, subgroups.at, conjugate.at, cyclotomic_Lie_algebra.at, bracket.at
QmodZ_order
L52
QmodZ_order(ratvec v) = intorder of element of Q/Z.
eval_char_T
L56
eval_char_T(vec lambda, ratvec v,CyclotomicField F) = CyclotomicFieldElementevaluate character (in Z^n) of T on t\in T of finite order, giving result in the given cyclotomic field
weyl_denominator_quotient
L60
weyl_denominator_quotient(RootDatum rd, ratvec v,CyclotomicField F) = CyclotomicFieldElementproduct of $1-\exp(-alpha)(t)$ over all posroots $\alpha$ making it nonzero.
trace_semisimple_simply_connected
L71
trace_semisimple_simply_connected( RootDatum rd, vec lambda,ratvec v,CyclotomicField F) = CyclotomicFieldElementWeyl character formula for finite dimensional with extremal weight lambda at t=exp_1(v), in the semisimple simply connected case.
trace
L99
trace (RootDatum rd, vec lambda, ratvec t, CyclotomicField F) = CyclotomicFieldElementWeyl character formula in general case is obtained by reduction to the semisimple simply connected case
Weyl character formula for finite dimensional with extremal weight lambda exp_1(v).
also in this file at line 133, line 135, line 137, line 184; also defined in basic.at
trace_long
L110
trace_long (RootDatum rd, vec lambda,ratvec v,CyclotomicField F) = (CyclotomicFieldElement,[CyclotomicFieldElement])mainly for debugging; same as previous, also returning an array of terms from the computation
trace 3 overloads
L133
trace (RootDatum rd, vec lambda,ratvec v) = CyclotomicFieldElementvariants of trace functions
L135
trace (vec lambda,(RootDatum rd,ratvec v)) = CyclotomicFieldElementL137
trace(Param p, ratvec v) = CyclotomicFieldElementalso in this file at line 99, line 184; also defined in basic.at
trace_long 2 overloads
L140
trace_long (RootDatum rd, vec lambda,ratvec v) = (CyclotomicFieldElement,[CyclotomicFieldElement])L143
trace_long (vec lambda,(RootDatum rd,ratvec v)) = (CyclotomicFieldElement,[CyclotomicFieldElement])also in this file at line 110
special case of Weyl character formula: x^2\in Z (strong real form)
used for computing signatures of Hermitian forms
returns (rat theta,int k) representing Trace(pi(x))=e^{2\pi i theta}*k
since x^2\in Z, \pi(x)=\zeta^{1/2}diag(\pm 1,...,\pm 1) where
zeta^{1/2} is a square root of the central character evaluated as x^2
zeta=e^{\pi i\theta}L147trace_strong_real 2 overloads
L157
trace_strong_real (RootDatum rd, ratvec lambda,ratvec v) = (rat,int)Weyl character formula for highest weight lambda evaluated on an element x in T with x^2 in Z.
L176
trace_strong_real (Param p,ratvec v) = (rat,int)Weyl character formula for finite dimensional p evaluated on an element x in T with x^2 in Z.
trace
L184
trace ([vec] weights,ratvec v) = CyclotomicFieldElementWeyl character formula: given set of weights, add them up at exp(2i\pi t) input should be the set of weights (with multiplicities) of a representation
evaluate sum of weights at t.
also in this file at line 99, line 133, line 135, line 137; also defined in basic.at
torus_factor_x
L193
torus_factor_x (RealForm G) = (RootDatum,ratvec)torus factor of strong real form of x.
trace_report 3 overloads
L197
trace_report (RealForm G, vec lambda, ratvec t) = voidoutput of Weyl character formula.
L202
trace_report (Param p,ratvec t) = voidL206
trace_report (RealForm G, int height_bound, ratvec t) = voidrun over all finite dimensionals up to height bound.
also defined in finite_dimensional_signature.at
Generated from atlas-scripts at commit 648506c (2026-10-13).