atlas Library · Script File
convert_c_form.at
commands for converting from c-form to hermitian-form Compute (lambda+rho) restricted to torus T
Definitions in source order
lambda_plus_rho_res_T
L16
lambda_plus_rho_res_T (KGBElt x,ratvec lambda) = ratveclambda\in X^*+rho => one can define a parameter with this lambda, as p=param(x,lambda-rho,0) then infinitesimal_character(p)=d_lambda(p) which is lambda restricted to T-tilde apply this with lambda itself returns (1+theta)*lambda/2 (on T-tilde) apply this with lambda=rho, returns (1+theta)*rho/2 (on T-tilde) then the sum is (1+theta)(lambda+rho)/2 on T
mu 2 overloads
L21
mu (Param p) = ratmu(p) is the value of the lowest K-type of p, evaluated at x(p)
formula: mu(p) = < torus_factor(x)+rho^\vee , (1+theta_x)(lambda+rho)/2 >
L30
mu (KType t) = ratIn fact it only depends on the K-type. Here we use the original formula
also in this file at line 80; also defined in coherent_irreducible.at
converting to Hermitian forms in unequal rank caseL36
number_real_orthogonal_pairs
L51
number_real_orthogonal_pairs (KGBElt x, mat delta) = intassumption: theta=involution(x) commutes with delta and x has no complex
descents (this holds for x=x(p) when p is finalized parameter with nu(p)=0)
Then the set of positive real roots is delta-invariant; the following
function computes the number of unordered pairs $P=\{ alpha,delta(alpha) \}$
with alpha a positive real real and < alpha^vee , delta*alpha > = 0,
whose parity gives sign of delta acting on Wedge^top(positive real roots).
Each orthogonal pair $P$ contributes $-1$ to sign, others contribute nothing:
if <alpha^vee,delta*alpha> = -1, contributes 1 by computation in SL(3,R):
-1 from pair is cancelled by -1 from action on
[X_alpha,X_delta(alpha)=X_{alpha+delta(alpha)}
if delta(alpha)=alpha, contributes 1 by reduction to simple case,
note: every really-simple root (simple among real roots) is actually simple
compensate for each pair being counted twiceL63
function |mu| below was initially described in Vogan in email of Oct 25, 2016 with subject: mu(p); it has been significantly modified since It is a sum of rational terms, for which eventually differences (which should be integer) will serve as exponents of |s|, therefore interpreted modulo 2 To facilitate analysis of the terms |mu_terms| returns them as a tripleL65
mu_terms
L72
mu_terms (KType tp,mat delta) = (rat,rat,int)the sum of these will be interpreted modulo 2/1L78
mu
L80
mu (KType tp,mat delta) = ratalso in this file at line 21, line 30; also defined in coherent_irreducible.at
print_mu
L82
print_mu (KType tp) = voidconvert_cform_hermitian 4 overloads
L87
convert_cform_hermitian (KTypePol P,mat delta, KType p0) = KTypePolconvert (twisted) c-form to hermitian form, using p0 for normalization.
L93
convert_cform_hermitian (KTypePol P,mat delta) = KTypePolif no |p0| provided, use |first_param(P)|, a term of least height in |P|
L99
convert_cform_hermitian (KTypePol P,KType p0) = KTypePolversion that defaults delta to inner class involution.
L103
convert_cform_hermitian (KTypePol P) = KTypePolapply both defaults simultaneously; this one is used from hermitian.at
Generated from atlas-scripts at commit 648506c (2026-10-13).