Documentation contents

atlas Library · Script File

W_K.at

full Weyl group W_K of disconnected maximal compact subgroup
throughout x must be in distinguished fiber, and make 2rho_c G-dominant
See khatHowe: Vogan, Branching to a Maximal Compact Subgroup
   (Howe conference volume), Proposition 4.2 x defines K,K_0

T_K:=(H^delta) = "small Cartan subgroup" of (disconnected) K
T_{K_0}:=(H^delta)_0 = Cartan subgroup of K_0
T_{K_0}\subset T_K\subset H
X^*(H) -> X^*(T_K) -> X^*(T_{K_0})
X^*(H)=X^* --> X^*(T_K)=X^*/(1-delta)X^* --> X^*(T_{K_0})=X^*/(X^*)^{-delta}

W(K,H^delta)=R(K)_dom \ltimes W(K_0,T_{K_0})
L(2rho_c) is of type A_1^r, with weyl group W_c^\perp
R(K)_dom=W(K,H^delta)\cap W_c^perp   (Proposition 4.4)
Source
atlas-scripts/W_K.at (229 lines)
Definitions
17
Loads
Loaded by
induction.at K_highest_weights.at

Definitions in source order

lift_action

L34lift_action (WeylElt w, KGBElt x) = WeylElt
given G,x in distinguished fiber, K_0=K_0(x),
  Weyl group element w for W(K_0,H_{K_0})
lift this to an element of W(G,H)
should satisfy:
P*lift_action(x,w)=w_matrix(w)*P
where P is projection X^*(H)->X^*(H_{K_0})
need this to define equality of K-highest weights (see below)
lift_action(x,w) assumes x is in the distinguished fiber, and
w is a WeylElt for K_0(x) { only its Weyl word is used, not its root datum }

factor_action

L58factor_action (KGBElt x,WeylElt w) = mat
given G,x in distinguished fiber, K_0=K_0(x), Weyl group element w for W(K,H),
w acts on X^*(H)
w factors to an action on X^*(T_K)=X^*(H)/X^*(H)^{-delta}
algorithm:
set inj = cocharacter_lattice_K(x) { isomorphism (X_*(T_K)->X_*(T)^\delta) }
set proj=left_inverse(inj)  {NOT projection_to_K_matrix(x)}
w -> proj*matrix(w)*inj

small_Levi

L66small_Levi (KGBElt x) = RealForm
this is the small Levi factor related to disconnectedness of K
See khatHowe Proposition 4.4
x must be in distinguished fiber, and make 2rho_c G-dominant

small_Levi_coroots_K

L82small_Levi_coroots_K (KGBElt x) = mat
utility function, a coroot beta^\vee of L=small_Levi(x) is in X_*(H)^delta,
which is the image of X_*(T_K) \hookrightarrow X_*(H)
what matters is <\beta^vee,\mu> where \mu\in X^*(T_K)
(this is how P-positive is defined)
so \beta^vee is viewed X_*(T_K)
coordinates can be surprising (negative), so it is helpful to see these
coroots as
coroots of small Levi as elements of X_*(T_K)

nice_choices_x

L87nice_choices_x (RealForm G) = [KGBElt]
all choices of x in distinguished fiber making 2rho_c dominant

nice_choice_x

L90nice_choice_x (RealForm G) = KGBElt

W_c_perp

L94W_c_perp(KGBElt x) = [WeylElt]
W_c_perp, see khatHowe Propsition 4.4
requirement: x makes 2rho_c G-dominant

convert

L98convert (WeylElt w,RootDatum rd_G) = WeylElt
convert |WeylElt| for Levi to one for full |G|
for |rd_G|

also defined in nilpotent_orbits.at

R_K_dom

L110R_K_dom (KGBElt x) = [WeylElt]
R_K_dom is W(K,T_K)\cap W_c_perp
W(K,T_K)=R_K_dom \ltimes W(K_0,T_{K_0}) (KHatHowe Proposition 4.2)
Note: W(K,T_K)\simeq W(G,H) (KHatHowe after Definition 4.1)
so R_K_dom is given as list of elements of W(G,H)
each of which is a product of (commuting) reflections from W_c_perp
See KHatHow Proposition 4.4 (3)
requirement: x makes 2rho_c G-dominant
these are elements of W(G,H)
W_K(x)=(W_K(K_0,T_{K_0}), R_K_dom(x))
L114

W_K

L117W_K (KGBElt x) = (RootDatum,[WeylElt])
requirement: x makes 2rho_c G-dominant

move_weight

L119move_weight (KHighestWeight hw,KGBElt y) = KHighestWeight

R_K_dom_mu_orbit

L125R_K_dom_mu_orbit (KHighestWeight hw) = [KHighestWeight]
first replace (x,mu) with an equivalent ("nice") one such that x makes
2rho_c G-dominant
test if mu\in X^*(T_K) is P-positive (khatHowe page 19)
  for each w=w_A in R_K_dom(x),  <mu,\sum_{i\in A}\beta^\vee_i> \ge 0
  mu is actually in X^*, viewed modulo (1-delta)X^*

[  NB: since mu\in X^*(T_K), \beta^vee\in X_*(H), need to replace
  beta^vee with left_inverse(injection_from_K_matrix)(beta^vee) no]
L149

P_positive_test_coweight

L161P_positive_test_coweight (KGBElt x,WeylElt S) = vec
the weight \sum\beta_k^\vee of khatHowe Proposition 4.4(5)
S is an element of R_K_dom\subset W(G,H)
beta^\vee\in X_* is a coroot for G (not for K_0)

P_positive_test_coweights

L170P_positive_test_coweights (KGBElt x) = [vec]
utility function

is_P_positive

L174is_P_positive (KGBElt x,vec mu,[WeylElt] S) = bool
S is an element of R_K_dom \subset W(G,H)

make_strongly_dominant

L186make_strongly_dominant (KGBElt x,vec mu) = ((KGBElt,vec),WeylElt,WeylElt,bool)
mu is in X^*, viewed as element of X^*(T_{K})=X^*/(1-delta)X^*
apply w in W(K_0,T_{K_0}) to make it K_0-dominant
then apply R_K_dom to make it P-positive
[when applying R_K_dom, these are elements of W(K,H) NO
use lift_action to get the action on X^*  NO]
x must be in distinguished fiber, and make 2rho_c G-dominant

also defined in K_highest_weights.at

Commented-out code, lines 207–216 (9 lines)
set make_strongly_dominant(KGBElt x,ratvec mu)=(ratvec,mat):
let (mu_dom,w_1,w_2,done)=
make_strongly_dominant_long(x,mu) then
m_1=assert(@:done=true,"make_strongly_dominant failed");
lift_action(x,w_1) then
{()=prints("lifted") then}
m_2=w_matrix(w_2) then
{()=prints("m_2=",m_2) in}
(mu_dom,m_1*m_2)

R_K_dom_mu

L222R_K_dom_mu (KHighestWeight hw) = [WeylElt]
mu is in X^*(T_{K_0})
make it K_0-dominant, and compute stabilizer in R_K_dom
requirement: x makes 2rho_c G-dominant
for w in R_K_dom do if lift_action(x,w)*mu_1=mu_1 then result#:=w fi od;
L228

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