Script File
complex.at
Definitions in source order
left
L10
left (vec v) = veca few vector manipulations
also in this file at line 12
right
L11
right (vec v) = vecalso in this file at line 13
left
L12
left (ratvec v) = ratvecalso in this file at line 10
right
L13
right (ratvec v) = ratvecalso in this file at line 11
concatenate
L15
concatenate = ##@(ratvec,ratvec)concatenate as lists of rationals
up_right_corner
L23
up_right_corner (mat M) = matupper right-hand corner of square matrix application: in a complex group, theta is of the form (0 w) (w^-1 0) upper_right_corner(theta) gives the matrix of w
up_left_corner
L27
up_left_corner (mat M) = matTesting if a group is (weak,strictly) complexL33
is_complex
L79
is_complex(InnerClass ic) = boolSuppose G is a RootDatum, and \theta is a algebraic involution of G defining a real form G(R). We say G is a "complex group" if the root system R of G is "complex": meaning $R\simeq R_1\times R_1$, with \delta exchanging the two factors. Equivalently: <\alpha^vee,\delta(\alpha)> = 0 for all (simple) roots alpha Caution: This is slightly weaker than: G\simeq G_1\times G_1 with \delta switching factors. For example SL(2)xSL(2)/<-I,-I>, delta acts by switching factors <- SO(3,1); this is disconnected. is_complex@RealForm tests the condition: <alpha^vee,delta(alpha)> = 0 Question: how do we check the stronger condition: G(R) is a connected, complex group. (This allows Spin(3,1)=SL(2,C) and PSO(3,1)=PSL(2,C), but not SO(3,1)\simeq PSL(2,C)\times Z_2 (direct product) Answer: G^\theta\otimes C\simeq G In the usual notation: G=G_1\times G_1, \theta(g,h)=(h,g) G^\theta=G_1-diagonal, (G^\theta)\otimes C=G_1\times G_1=G We call this condition: is_strictly_complex How to test this: (G^\theta)_0 =K_0(G) (identity component) Claim: (G,\theta) is complex <=> a) G(R), equivalently K=G^\theta, is connected b) complexification(K_0(G))\simeq G I believe we can replace b) with b') complexification(K_0(G)) is locally isomorphic to G Furthermore this is probably equivalent to: i) G.is_complex ii) G.components_rank=0 Probably we won't use is_strictly_complex much, so leaving this here
also defined in basic.at, sub_cells.at
is_strictly_complex
L83
is_strictly_complex(RealForm G) = boolalso defined in sub_cells.at
left_w
L89
left_w (KGBElt x) = matassumes inner_class(x) is complex
mu_C
L96
mu_C (Param p) = vecextremal weight of LKT of parameter p of G complex formula: lambda_L+w*lambda_R write mu_C to distinguish from mu in hermitian.at
nu_C
L103
nu_C (Param p) = ratvecA-parameter of parameter of G complex formula: nu_L-w*nu_R
gamma_L
L107
gamma_L (Param p) = ratvecgamma_R
L108
gamma_R (Param p) = ratvecparameter_g
L113
parameter_g (RealForm G,ratvec gamma_L, ratvec gamma_R) = Paramdefine a parameter of G complex by (gamma_L,gamma_R) assumption: gamma_L+gamma_R in X^*
g_parameter
L121
g_parameter(Param p)parameter_m
L124
parameter_m(RealForm G, vec mu, ratvec nu) = Paramdefine a parameter of G complex by (mu,nu)
m_parameter
L128
m_parameter(Param p) = (RealForm,vec,ratvec)K_int
L132
K_int(RealForm G,ratvec gamma) = RealForm-------------------------------------------------------------------
get a copy of G_int from (GxG)(gamma)=G(gamma)xG(gamma)
G is a complex group, viewed as a real group it has rank n=2m W(G): acting on 2m-vectors = W_left(G) x W_right(G) W_left(G): acting on m-vectors similarly: gamma is an m-vector, gamma##gamma is an infinitesimal character for G DV: THIS NEEDS TO BE gamma##(-gamma); note condition earlier gammaL+gammaR in X^*. W_int(G,gamma##gamma)=Weyl group of integrality datum =W_int(G,gamma##gamma)_left x W_int(G,gamma##gamma)_right W_left(G,gamma)=W_int(G,gamma##gamma): acting on m-vectorsL137
left_G 2 overloads
L150
left_G(RealForm G,ratvec gamma)L151
left_G(RealForm G)left_rho
L153
left_rho(RealForm G) = ratvecleft_W 2 overloads
L156
left_W(RealForm G,ratvec gamma)L157
left_W(RealForm G)diag_W
L161
diag_W(RealForm G,WeylElt w)G complex, WxW, left_W(G)=W, embed left_W(G) diagonally
embed_left
L164
embed_left(RealForm G,WeylElt w)G has rank 2m gamma is an m-ratvec w is an element of W_left(G,gamma)L166
parameter_w
L177
parameter_w(RealForm G,ratvec gamma, WeylElt w) = Paramtriple: (G,gamma, w) parameter_w(G,gamma,w)=Param: w_parameter(Param p)=(RealForm,rarvec,WeylElt) parameter_w(w_parameter(p))=p w_parameter(parameter_w(G,gamma,w)=(G,gamma,w)
parameter1_w
L181
parameter1_w(RealForm G, ratvec gamma, WeylElt w) = Paramthis one should work for _any_ gamma, and send 1_W to spherical parameter
w_parameter
L185
w_parameter(Param p) = (RealForm,ratvec,WeylElt)this is meant to recover w from parameter_w(G,gamma,w)
w_parameter1
L190
w_parameter1(Param p) = (RealForm,ratvec,WeylElt)this is meant to recover w from parameter1_w(G,gamma,w)
w
L194
w(Param p) = WeylEltcell_as_w
L196
cell_as_w([Param] block,WCell cell) = [WeylElt]view_complex
L201
view_complex([Param] params) = voidviewing block for a complex group as group-algebra of W for applications to computing cells for a real groupL213
gp_alg_elt
L216
gp_alg_elt(ParamPol P) = [(Split,WeylElt)]gp_alg_elt1
L220
gp_alg_elt1(ParamPol P) = [(Split,WeylElt)]more or less differs from gp_alg_elt by mult by long element (on some side?)
*
L223
*([(Split,WeylElt)] x,Param p) = ParamPolalso defined in basic.at, extParamPol.at, modules.at, hodge_tensor.at, tits_centralizer.at, stable.at
inverses
L226
inverses([WeylElt] cell) = [WeylElt]intersect
L228
intersect([WeylElt] a,[WeylElt] b) = [WeylElt]self_intersect
L232
self_intersect([WeylElt] a) = [WeylElt]diag
L234
diag([[WeylElt]] cells) = [[WeylElt]]diagonal, one must presume
Generated from atlas-scripts at commit 7e1b958 (2026-09-17).