Documentation contents

atlas Library · Script File

nilpotent_orbits.at

Source
atlas-scripts/nilpotent_orbits.at (1130 lines)
Definitions
168
Loads
Loaded by
K_Nilpotent.at finite_unipotents.at nilpotent_centralizer.at nilpotent_orbit_partitions.at Vogan-dual.at springer_tables.at springer_table_A.at W_reps_type_BC.at disconnected.at weak_packets.at cyclotomic_Lie_algebra.at bracket.at nilpotent_posets.at nilpotent_induction.at

Definitions in source order

nilpotent_verbose

L14nilpotent_verbose = false

ComplexNilpotent, RealNilpotent type

L21
set_type
[ ComplexNilpotent = (RootDatum root_datum, void ., vec H{_of_triple})
, RealNilpotent    = (vec H, KGBElt x, void .)
]

Fields: root_datum, H, H, x

ComplexNilpotent: (RootDatum rd,vec H)
where [H,X,Y] is a Lie triple, H\in X_*, and orbit=G.X
H must satisfy <alpha,H>=0,1,2 for all simple roots,
in particular is_dominant(H,rd) should hold

complex_nilpotent

L26complex_nilpotent (RootDatum rd, vec H) = ComplexNilpotent

nilpotent

L29nilpotent = complex_nilpotent@(RootDatum,vec)
an alias for people tired of typing "complex_"

ComplexNilpotentComponentDatum type

L36
set_type ComplexNilpotentComponentDatum =
             (ComplexNilpotent orbit,[int] orders,[(RootDatum,[ratvec])] pairs)

Fields: orbit, orders, pairs

complex orbit; list of orders of conjugacy classes;
for each conjugacy class a list of pairs (L,[ratvec])
L is a pseudo-Levi, and each ratvec is a semisimple element,
each pair (L,ratvec) gives one conjugacy class in A(O)

=

L42= (ComplexNilpotent O1,ComplexNilpotent O2) = bool
Two complex nilpotent orbits are equal if the root data are, and moreover
the H's are conjugate by the Weyl group. Since we assume dominant coweights
all the time, equality test is just equality of both relevant components

also in this file at line 387; also defined in basic.at, combinatorics.at, modules.at, parabolics.at, synthetic.at, hash.at, tits.at, K_highest_weights.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

dim_nilpotent

L46dim_nilpotent (ComplexNilpotent(rd,,H)) = int
dimension of the orbit of nilpotents described by a |ComplexNilpotent|

dim

L50dim = dim_nilpotent@ComplexNilpotent
a synonym

saturate 2 overloads

L53saturate(ComplexNilpotent O,RootDatum rd) = ComplexNilpotent
saturate an orbit from an equal rank subgroup to G
replace the |root_datum| and re-|dominant| for it
L59saturate(ComplexNilpotent O,mat inc,RootDatum rd) = ComplexNilpotent
saturate an orbit from an injectively mapped group |S=O.root_datum|, the
embedding X_*(T_S-> X_*(T_{rd}) being right-multiplication by |inc|; in other
words |inc| itself is the projection matrix X^*(T_{rd}->X^*(T_S)

also defined in disconnected.at, nilpotent_posets.at

diagram

L69diagram(ComplexNilpotent O) = [int]
As will be mentioned for many "simple" Springer table constructions, it is
noteworthy that |diagram(O)| and |stratified_diagram(O)| allow |O.H| to have
a nonzero "radical component", which is ignored since only the evaluation on
roots is used. This property allows the construction of Springer tables for
general root data to pass an orbit to its "simple" sub-rootdata without
explicitly projecting away the part of |O.H| that is irrelevant for it.

stratified_diagram 2 overloads

L73stratified_diagram(ComplexNilpotent O,[int] map) = [int]
with |map| a permutation of the simple generators from |Cartan_matrix_type|
L77stratified_diagram(ComplexNilpotent O) = [int]

diagram_normalized

L82diagram_normalized(ComplexNilpotent O) = [[int]]
diagram_normalized returns [[int]] to allow for multiple simple factors
however, there is no sorting of simple factors of |Lie_type(O.root_datum)

complex_nilpotent_from_diagram

L88complex_nilpotent_from_diagram(RootDatum rd,[int] diagram) = ComplexNilpotent
construct complex orbit (rd,(),H) from (rd,labelled Dynkin diagram)

sort_by_dimension

L97sort_by_dimension = ([ComplexNilpotent]->[ComplexNilpotent])

also in this file at line 399; also defined in subgroups.at

find 2 overloads

L100find = find(=@(ComplexNilpotent,ComplexNilpotent))
L102find ([RealNilpotent] list,RealNilpotent O) = int

also defined in basic.at, tits_centralizer.at, cells.at, K_types.at, hodgeParamLaurentPol.at, extended.at, disconnected.at, nilpotent_posets.at, K_types_plus.at

remove_duplicates

L106remove_duplicates([ComplexNilpotent] orbits) = [ComplexNilpotent]

also defined in restricted_roots.at, parameters.at, disconnected.at

dim_eigenspace

L112dim_eigenspace (RootDatum rd, ratvec H, int k) = int

max_eigenvalue

L118max_eigenvalue (RootDatum rd, vec H) = int

eigenspace_dimensions

L121eigenspace_dimensions (RootDatum rd, vec H) = [int]

even_eigenspaces

L125even_eigenspaces (RootDatum rd, vec H) = [int]

odd_eigenspaces

L127odd_eigenspaces(RootDatum rd, vec H) = [int]

support

L130support (Param p) = [int]
using |support@KGBElt| from parabolics.at

also defined in parabolics.at, W_reps_type_BC.at, cyclotomic_Lie_algebra.at, bracket.at

support_dual

L133support_dual (Param p) = [int]

also defined in parabolics.at, Vogan-dual.at

blocku

L136blocku(RealForm G) = [Param]

S_weight

L145S_weight ([int] S, RootDatum rd) = ratvec
Auxiliary function: For a list of integers giving simple roots, compute
twice the sum of the corresponding fundamental coweights.

H_candidates

L150H_candidates (RootDatum rd) = [ratvec]
These are candidates H for the semisimple element of an SL(2) triple;
not necessarily a vec, for example in SL(3).

distinguished_Hs_definition

L155distinguished_Hs_definition (RootDatum rd_L) = [vec]
Choose the H among the candidates which correspond to distinguished
nilpotent orbits.

distinguished_Hs

L170distinguished_Hs (RootDatum rd) = [vec]
in order to implement the effect of |distinguished_Hs_definition| more
efficiently, each of the |H_candidates| can be represented by |v=H/2|, so that
when applied to a posroot, the integer value gives half the eigenvalue; the
the dimension difference above then is found by counting the occurrences of a
value 0 twice (as the opposite root also contributes here), minus the
occurrences of a value 1; when total is zero, we record |H=v*2| in the result.

distinguished_H_diagrams

L188distinguished_H_diagrams (RootDatum rd, RootDatum rd_L) = [vec]

distinguished_H_dom

L192distinguished_H_dom (RootDatum rd, RootDatum rd_L) = [vec]
As previous function, with H dominant.

all_H

L198all_H (RootDatum rd) = [vec]
Given a Root Datum rd for a complex group G, list the neutral elements
(dominant for G) corresponding to the complex nilpotent orbits.

all_H_nd

L206all_H_nd (RootDatum rd) = [vec]
As previous function, except the coweights H are given as sums of fundamental
weights for the standard (Bala-Carter) Levi M in which the orbit is
distinguished. This is the conjugate of H used for further calculation.

nilpotent_orbits

L212nilpotent_orbits (RootDatum rd) = [ComplexNilpotent]
List all (complex) nilpotent orbits(with H dominant) for a complex group.

also defined in disconnected.at

orbits

L217orbits = (RootDatum->[ComplexNilpotent])
tired of typing so many characters

also defined in disconnected.at

distinguished_nilpotent_orbits

L219distinguished_nilpotent_orbits (RootDatum rd) = [ComplexNilpotent]

distinguished_orbits

L222distinguished_orbits = (RootDatum->[ComplexNilpotent])
alias

Bala_Carter_Levi_plus

L226Bala_Carter_Levi_plus (ComplexNilpotent O) = ([int],vec)
return Bala-Carter Levi and distinguished H_L for it, conjugate to |O.H|

Bala_Carter_simples

L235Bala_Carter_simples (ComplexNilpotent O) = [int]
Bala-Carter Levi subgroup only

Bala_Carter_Levi

L239Bala_Carter_Levi (ComplexNilpotent O) = RootDatum
Bala-Carter Levi subgroup only

all_H_with_L

L245all_H_with_L (RootDatum rd) = [[int],[vec]]
List all H's for |rd|, grouping them by standard Levi in which they are
disinguished

Levi_of_H

L254Levi_of_H (vec H0,RootDatum rd) = ([int],vec)
Given a coweight H corresponding to a complex nilpotent orbit, find the
Levi M in which the orbit is distinguished. The output is the pair consisting
of the simple roots for M, and the conjugate of H corresponding to the
standard Levi M (not dominant for G). The input H0 need not be dominant.
parabolics.at defines type |Parabolic| and |KGPElt| as ([int] S, KGBElt x)
L262

find_H

L265find_H (Parabolic P) = [vec,mat]
find H which work for given q=q(x,H)=(L,u)

max_only

L280max_only ([vec,mat] arg) = [vec,mat]

also defined in W_reps_type_BC.at

<=

L289<= ([int] a,[int] b) = bool
containment order

also defined in basic.at, combinatorics.at

<

L291< ([int] a,[int] b) = bool

also defined in basic.at

principal_block

L293principal_block (RealForm G) = Block

convert 2 overloads

L296convert (Block B,ratvec gamma) = [Param]
convert Block to [param]
L300convert (Block B, [int] S,ratvec gamma) = [Param]
just subset of block

also in this file at line 312, line 313; also defined in W_K.at

real_form

L303real_form (Block B) = RealForm

also in this file at line 393; also defined in basic.at, weak_packets_precomputed_cell_traces.at, parabolics.at, K.at, hodgeParamLaurentPol.at, hodgeParamPol.at

rho

L304rho (Block B) = ratvec

also defined in basic.at, nilpotent_orbit_partitions.at, extended_misc.at

choose_gamma 2 overloads

L307choose_gamma (KGBElt x,KGBElt y) = ratvec
choose appropriate infinitesimal character for (x,y)
L310choose_gamma (Block B) = ratvec
choose appropriate infinitesimal character for B

convert 2 overloads

L312convert (Block B) = [Param]
L313convert (Block B,[int] S) = [Param]

also in this file at line 296, line 300; also defined in W_K.at

convert_list_W_cells

L316convert_list_W_cells (Block B,ratvec gamma,[[int]] Wcells) = [[Param]]
convert list of wcells [[int]] to [[Param]]

tau_invariants

L323tau_invariants (Block B) = [[int]]
return list of tau-invariants for B
tau_invariants(B)[i]=tau-invariant of block element i

tau_invariants_of_cell

L327tau_invariants_of_cell (Block B, [int] cell) = [int,[int]]

tau_invariants_of_cell_raw

L331tau_invariants_of_cell_raw (Block B, [int] cell) = [[int]]

tau_containing

L335tau_containing (Block B,[int] P) = [int]

is_Aq

L344is_Aq (KGBElt x,KGBElt y) = bool
moved elsewhere since needed earlier
for now: is_Aq.at
test if (x,y) -> Aq parameter
the first version isn't necessary, just use the second
because element(B,i) returns (x,y), so this makes is_Aq(element(B,i)) work:
set is_Aq(KGBElt x,KGBElt y) = is_Aq(parameter(x,y,choose_gamma(x,y)))

also in this file at line 350

is_Aq_cell

L347is_Aq_cell (Block B,[int] C) = bool

is_Aq

L350is_Aq (Block B,int i) = bool

also in this file at line 344

Aq_cells

L352Aq_cells (Block B,[[int]] cells) = [[int]]

also in this file at line 358

Aq_reps

L355Aq_reps (Block B,[int] cell) = [int]

Aq_cells

L358Aq_cells (RealForm G,[[int]] cells) = [[int]]

also in this file at line 352

Commented-out code, lines 362–379 (17 lines)
Real nilpotents

|set_type RealNilpotent = (vec H, KGBElt x, void .)| defined above

A real nilpotent orbit is determined by a coweight H and a KGBElt x
where x should be in the distinguished fiber, and H\in X_* is the semisimple
element of a Lie triple.
It is required that \theta_x(H)=H
set q=parabolic_by_cwt(x,H), then
orbit=induced from trivial orbit of Levi factor, equivalently
     =associated variety of A_q(lambda)

If H is dominant it must satisfy: <\alpha,H>\in {0,1,2} for all simple alpha
not all such H are allowed
(H,x) is equivalent to (H*inverse(w), cross(w,x))
in particular if H is not dominant it can be replaced by
an equivalent one with H dominant

real_nilpotent

L381real_nilpotent (vec H,KGBElt x) = RealNilpotent

printable_real_nilpotent

L383printable_real_nilpotent (RealNilpotent (H,x,)) = (vec,KGBElt)

parabolic_of_orbit

L385parabolic_of_orbit (RealNilpotent (H,x,)) = Parabolic

=

L387=(RealNilpotent (H,x,):O1, RealNilpotent (K,y,):O2) = bool

also in this file at line 42; also defined in basic.at, combinatorics.at, modules.at, parabolics.at, synthetic.at, hash.at, tits.at, K_highest_weights.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

root_datum

L392root_datum (RealNilpotent O) = RootDatum

also defined in basic.at, W_reps.at, K_Nilpotent.at, sommers.at, parabolics.at, K.at, W_classes.at, extended_misc.at, character_tables.at, springer_tables.at, disconnected.at, cyclotomic_Lie_algebra.at, bracket.at, exceptional.at

real_form

L393real_form (RealNilpotent O) = RealForm

also in this file at line 303; also defined in basic.at, weak_packets_precomputed_cell_traces.at, parabolics.at, K.at, hodgeParamLaurentPol.at, hodgeParamPol.at

Levi_of_orbit

L394Levi_of_orbit (RealNilpotent O) = RealForm

complex_orbit

L395complex_orbit (RealNilpotent O) = ComplexNilpotent

dimension

L397dimension (RealNilpotent O) = int

also defined in basic.at, finite_dimensional.at, K_highest_weights.at, character_tables.at, W_reps_type_BC.at, tensor_product.at, exceptional.at

sort_by_dimension

L399sort_by_dimension = ([RealNilpotent]->[RealNilpotent])

also in this file at line 97; also defined in subgroups.at

simple_roots_from_coweight

L402simple_roots_from_coweight (RootDatum rd, ratvec v) = [int]

simple_roots_from_coweights

L405simple_roots_from_coweights (RootDatum rd,[ratvec] list) = [[int]]

find_cayley

L408find_cayley (KGBElt x) = int

choose_Cayley

L411choose_Cayley (int i,KGBElt x) = KGBElt

move_to_distinguished_fiber 3 overloads

L419move_to_distinguished_fiber (KGBElt x) = (KGBElt,WeylElt)
L430move_to_distinguished_fiber (([int] H,KGBElt x)) = (vec,KGBElt)
L433move_to_distinguished_fiber (RealNilpotent O) = RealNilpotent

stabilizer_of_x

L436stabilizer_of_x (KGBElt x) = [WeylElt]

viable_Levis

L442viable_Levis (RealForm G,[int] S) = [RealForm]
Given a real group G and a list of simple roots determining a standard
complex Levi MC, make a list of real forms of MC in G.

test_real_orbit

L450test_real_orbit (RealForm G,[int] H, RealForm M, [int] S) = [KGBElt]
Given a real form G, a coweight H which determines a complex nilpotent
orbit OC, distinguished in the Levi MC, find all KGB elements x so that
(H,x,) is a real form of OC. M is a real form of MC in G, and MC is
determined by the simple roots S. H must be the conjugate determined
by MC.

all_real_nilpotent_orbit_KGBs

L475all_real_nilpotent_orbit_KGBs (RealForm G,[int] H) = [KGBElt]
Given G and a coweight H, find all x so that (H_nd,x,) is a real
nilpotent orbit. Here H_nd is the conjugate of H corresponding to
the associated Bala-Carter Levi M. There may be duplications of
orbits.

is_conjugate_orbit

L479is_conjugate_orbit (RealNilpotent O,RealNilpotent P) = bool

dominant

L487dominant (RealNilpotent(H,x,):O) = RealNilpotent
Replace (H,x) with equivalent (H',x') with H' dominant.

also defined in basic.at

find_conjugate

L494find_conjugate ([RealNilpotent] list,RealNilpotent O) = int

also defined in subgroups.at

real_nilpotent_orbit_KGBs

L500real_nilpotent_orbit_KGBs (RealForm G,vec H) = [KGBElt]
Remove duplications (conjugates) from the list of
all_real_nilpotent_orbit_KGBs.

real_nilpotent_orbit_KGPs

L510real_nilpotent_orbit_KGPs (RealForm G,vec H) = [KGPElt]
Auxiliary function.

real_nilpotent_orbits

L522real_nilpotent_orbits (RealForm G) = [RealNilpotent]
Make a list of all real nilpotent orbits (H,x,) of G with
H dominant and x in the distinguished fiber.

also in this file at line 535, line 549

number_real_nilpotent_orbits 3 overloads

L528number_real_nilpotent_orbits (RealForm G) = int
L529number_real_nilpotent_orbits ([RealForm] groups) = [int]
L531number_real_nilpotent_orbits (InnerClass ic) = [int]

also in this file at line 541, line 543, line 545

real_nilpotent_orbits

L535real_nilpotent_orbits (ComplexNilpotent OC,RealForm G) = [RealNilpotent]
Make a list of the real forms of a given complex nilpotent orbit.

also in this file at line 522, line 549

number_real_nilpotent_orbits 3 overloads

L541number_real_nilpotent_orbits (ComplexNilpotent O,RealForm G) = int
L543number_real_nilpotent_orbits (ComplexNilpotent O,[RealForm] groups) = [int]
L545number_real_nilpotent_orbits (ComplexNilpotent O,InnerClass ic) = [int]

also in this file at line 528, line 529, line 531

real_nilpotent_orbits

L549real_nilpotent_orbits([RealNilpotent] list, ComplexNilpotent OC) = [RealNilpotent]
filter |list| of real nilpotents, keeping the real forms of given OC

also in this file at line 522, line 535

make_dominant_H

L553make_dominant_H (RealNilpotent (H,x,):O) = RealNilpotent

Levis_with_distinguished_orbit

L559Levis_with_distinguished_orbit (RealNilpotent (H,x,):O) = [(vec,KGBElt),RealForm]
Given a real nilpotent orbit, find all real Levi subgroups M so that the
orbit has an element that is distinguished in M. There may be duplications.

find_vec

L570find_vec (vec H, [vec] m) = int

is_w_conjugate

L573is_w_conjugate ([vec] r1, [vec] r2, WeylElt w) = bool

is_conjugate

L581is_conjugate ([vec] r1, [vec] r2, [WeylElt] W) = bool
laborious test to see if acting by any w in W transforms r1 into r2

also defined in all_finite_order.at, synthetic.at

is_W_conjugate

L583is_W_conjugate ([vec] r1, [vec] r2, RootDatum rd) = bool

is_W_conjugate_by_w 2 overloads

L587is_W_conjugate_by_w ([vec] r1, [vec] r2, [WeylElt] W) = (bool,WeylElt)
same, but export a witnessing |w| too
L592is_W_conjugate_by_w ([vec] r1, [vec] r2, RootDatum rd) = (bool,WeylElt)

embed_aff

L595embed_aff (RootDatum rd) = (int->int)

pseudo_root_indices

L602pseudo_root_indices ([int] S, RootDatum rd) = [int]

pseudo_roots

L605pseudo_roots ([int] S, RootDatum rd) = [vec]
this function assumes elements of |S| are >=0, and |rd| has a |highest_root|

roots

L608roots ([int] S, RootDatum rd) = [vec]

also defined in basic.at

two_rho_of_pseudo_Levi

L610two_rho_of_pseudo_Levi (RootDatum rd,[int] list) = vec

pseudo_Levis

L616pseudo_Levis (RootDatum rd) = [[int]]
use is_conjugate to test conjugacy
this only works if rd(.derived?) is simple
alternative: pseudo_Levi_subgroups defined in subgroups.at

also in this file at line 684

use is_conjugate to test conjugacy
L637
Commented-out code, lines 638–661 (23 lines)
slightly different version from jda
 delete this once we're sure we have the right version
set pseudo_Levis (RootDatum rd)=[[int]]: let W=W(rd) then
   r=semisimple_rank(rd) then
   levis=standard_Levi_conjugacy_representatives(rd) then
   triples=[([int],vec,[vec])]:
   for L in levis
   do (L,two_rho_of_pseudo_Levi(rd,L),pseudo_roots(L,rd)) od
   in for S in power_set(#r)
     do let T=add_element(S,r) in
        if #S<r then let rhoT=two_rho_of_pseudo_Levi(rd,T) then
                pr=pseudo_roots(T,rd) then
                temp=[([int],vec,[vec])]:
                ##for (a,v,c) in triples
                    do if v=rhoT then [(a,v,c)] else []
                       fi
                    od in
                      if none(for (,,m) in temp do is_conjugate(pr,m,W) od)
                         then triples#:=(T,rhoT,pr)
                      fi
         fi
     od;
     for (T,,) in triples do T od

d_L 2 overloads

L664d_L (RootDatum rd,[int] L) = int
don't need d_L
L670d_L(RootDatum rd,RootDatum rd_L)

is_conjugate_pseudo_Levi

L673is_conjugate_pseudo_Levi ([int] L, [int] M, RootDatum rd) = bool
don't use this, use is_conjugate(rd,L,M) from conjugate.at instead

pseudo_Levis

L684pseudo_Levis (ComplexNilpotent O) = [RootDatum,vec]
replaces old pseudo_Levis_of_orbit
also return H_L in L mapping to (conjugacy class of) H in rd
use H_L to construct the relevant centralizer_rd(H_L)
for use in generators_of_component_group

also in this file at line 616

saturating_orbits

L693saturating_orbits(ComplexNilpotent O) = [ComplexNilpotent]
orbits in pseudo Levis which saturate to O

pseudo_Levi

L699pseudo_Levi(RootDatum rd,[int] S) = RootDatum
Note: affine root is n+1 not 0
this works only if rd.derived is simple

filter

L714filter(RootDatum rd,[[int],WeylElt] list) = [[int],WeylElt]
run over list of pairs [(v,w)], only keep those for which the v's
give distinct torus elements
use this to filter result of Kac_diagrams_with_centralizer
previously the filtering was done on the fly which was wasteful

also defined in basic.at, subgroups.at

Kac_diagrams_with_centralizer

L725Kac_diagrams_with_centralizer (RootDatum rd, RootDatum L,int m) = [([int],WeylElt)]
use |permuting_transporter| from conjugate.at to test pseud-Levi conjugacy
Given a pseudo-Levi L, find all Kac diagrams of order m and whose
centralizer is conjugate to L.
order_center is defined in center.at
L748
Commented-out code, lines 749–749 (1 lines)
set order_of_center (RootDatum rd)=#Kac_classes_given_order(rd,1)

Kac_triples_simple

L751Kac_triples_simple (RootDatum rd,RootDatum L, int c) = [(int,[int],ratvec,WeylElt)]

Kac_triples

L756Kac_triples (RootDatum rd, RootDatum L) = [(int,[int],ratvec,WeylElt)]

in_radical

L762in_radical (ratvec v, RootDatum rd) = bool

generators_of_Z_mod_Z_0

L766generators_of_Z_mod_Z_0 (RootDatum rd, RootDatum L) = [ratvec]

lift

L782lift(RootDatum rd,ratvec v) = ratvec
Need a matrix A lifting an element of T/Z(G)^0 to T,
i.e. satisfying:
Gmod=G/Z^0
A*simple_coroots(Gmod)=simple_coroots(G)
 Gmod is semisimple so simple_coroots(Gmod) is (square and) invertible/Q
 => A=simple_coroots(G)*inverse(simple_coroots(Gmod))
 this is applied to L

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

generators_of_component_group_old

L786generators_of_component_group_old (ComplexNilpotent O) = [RootDatum,[ratvec],[ratvec],[ratvec],[ratvec]]

generators_of_component_group_debug

L844generators_of_component_group_debug (ComplexNilpotent O)
returns array of:
L
H_L
Lmod
Z_Lmod
L_rad
M,
Z_Lmod_reg,
Z_Lmod_reg_lifted)

generators_of_component_group

L857generators_of_component_group (ComplexNilpotent O) = [(RootDatum,vec,[ratvec],[ratvec],[ratvec],[ratvec])]

complex_Levi

L899complex_Levi(ComplexNilpotent O) = RootDatum
complex Levi of orbit: defined by diagram of H (not the Bala Carter Levi)

also defined in parabolics.at

order_in_A

L905order_in_A (ratvec v, RootDatum rd, vec H) = int

component_datum

L914component_datum(ComplexNilpotent O) = ComplexNilpotentComponentDatum

component_datum_plus

L924component_datum_plus(ComplexNilpotent O) = (ComplexNilpotent,[int],[(RootDatum,vec,[ratvec])])

component_representatives

L941component_representatives(ComplexNilpotent orbit) = [RootDatum,ratvec]
representatives of conjugacy classes in A(O)
each ratvec v gives an element exp(2\pi iv) which is G-conjugate
to an element of Cent(O)

component_representatives_plus

L947component_representatives_plus(ComplexNilpotent orbit) = [(RootDatum,vec,ratvec)]

conjugacy_class_orders

L954conjugacy_class_orders(ComplexNilpotent O) = [int]

number_conjugacy_classes_component_group

L955number_conjugacy_classes_component_group(ComplexNilpotent O) = int

number_conjugacy_classes_A

L957number_conjugacy_classes_A = (ComplexNilpotent->int)

show

L960show(ComplexNilpotentComponentDatum d) = void

also defined in modules.at, K_Nilpotent.at, good_W_representatives.at, arthur_parameters.at, sub_cells.at, associated_variety_annihilator.at, geck_generic.at, L_packet.at, ratmat.at, Levi_subgroups.at, subgroups.at, poset.at, cyclotomic.at, polynomial.at, character_tables.at, springer_tables.at, hodgeParamLaurentPol.at, hodgeParamPol.at, laurentPolynomial.at, weak_packets.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, exceptional.at, nilpotent_posets.at, lazy_lists.at

print_component_info

L990print_component_info (RootDatum rd) = void

also in this file at line 970

print_component_info_long

L995print_component_info_long (RootDatum rd) = void

also in this file at line 982

principal, zero, subregular and minimal orbits L1015

principal_orbit

L1017principal_orbit(RootDatum rd) = ComplexNilpotent

zero_orbit

L1020zero_orbit(RootDatum rd) = ComplexNilpotent

subregular_orbit_simple

L1023subregular_orbit_simple (RootDatum rd) = ComplexNilpotent

minimal_orbit_simple

L1030minimal_orbit_simple(RootDatum rd) = ComplexNilpotent

subregular_orbits

L1046subregular_orbits(RootDatum rd) = [ComplexNilpotent]
if rd has n simple factors it has n subregular orbits
each has codimension 2
could find them by dimension, but alternatively
take the product of the principal orbits in all
but 1 factor, and the subregular in that factor
this is what is needed in the minimal case
subregular_orbits(rd)[i] is the subregular orbit
 on factor i, and principal on all other factors

minimal_orbits

L1066minimal_orbits(RootDatum rd) = [ComplexNilpotent]
if rd has n simple factors it has n minimal orbits
take the product of the 0 orbit in all
but 1 factor, and the minimal orbit in that factor
minimal_orbits(rd)[i] is the minimal orbit
 on factor i, and 0 on all other factors

minimal_real_nilpotent_orbits

L1080minimal_real_nilpotent_orbits (RealForm G) = [RealNilpotent]
show commands moved to nilpotent_centralizer.at
L1084
Commented-out code, lines 1085–1092 (6 lines)
set show_nilpotent_orbits([ComplexNilpotent] orbits)=void:
tabulate(for orbit in orbits do
[orbit.H{_of_triple}.to_string,orbit.diagram.to_string,orbit.dim_nilpotent.to_string] od)

set show_nilpotent_orbits(RootDatum rd)=void:
show_nilpotent_orbits(nilpotent_orbits(rd))

integrality_datum

L1098integrality_datum (ComplexNilpotent O_check) = RootDatum
integrality_datum of an orbit O_check for G_check
rd=root datum on group side -> integrality_datum(rd,H/2)
this is the dual of the root datum of a subgroup of G_check

also defined in basic.at, extended_misc.at

integral_descent

L1106integral_descent (ComplexNilpotent O_check) = ComplexNilpotent
given an orbit O_check on the dual side
rd_int: integrality datum(O_check)
rd_int_dual: dual(rd_int), root datum of subgroup on dual side
return (rd_int_dual,(),O_check.H)

also defined in springer_tables.at

see weak_packets.at for integral_descent@(SpringerTable,ComplexNilpotent)
L1109

is_even

L1111is_even(ComplexNilpotent O) = bool

also defined in basic.at, exceptional.at

is_non_even

L1112is_non_even(ComplexNilpotent O) = bool

even_orbits 2 overloads

L1114even_orbits([ComplexNilpotent] orbits) = [ComplexNilpotent]
L1116even_orbits(RootDatum rd)

non_even_orbits 2 overloads

L1118non_even_orbits([ComplexNilpotent] orbits) = [ComplexNilpotent]
L1120non_even_orbits(RootDatum rd) = [ComplexNilpotent]

dual_orbits

L1123dual_orbits (RootDatum rd) = [ComplexNilpotent]

even_dual_orbits

L1124even_dual_orbits(RootDatum rd) = [ComplexNilpotent]

non_even_dual_orbits

L1126non_even_dual_orbits(RootDatum rd) = [ComplexNilpotent]

twist

L1129twist(mat delta,ComplexNilpotent O) = ComplexNilpotent
O.H\in X_*, delta acts on right

also defined in basic.at, extended_misc.at

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