Documentation contents

atlas Library · Script File

nilpotent_posets.at

closure relations for nilpotent orbits
Source
atlas-scripts/nilpotent_posets.at (324 lines)
Definitions
30
Loads
Loaded by
exceptional.at

Definitions in source order

NilpotentPoset type

L11
set_type NilpotentPoset =
  (RootDatum root_datum, [ComplexNilpotent] orbits, Poset orbit_closures)

Fields: root_datum, orbits, orbit_closures

list of complex orbits and their closure relations

nilpotent_poset

L14nilpotent_poset ((RootDatum, [ComplexNilpotent], Poset)triple) = NilpotentPoset
identity, for now

also defined in exceptional.at

sort

L18sort = ([ComplexNilpotent] -> [ComplexNilpotent])
sort by dimension

also defined in sommers.at, sort.at, hodge_functions.at

find

L21find([ComplexNilpotent] orbits,ComplexNilpotent O) = int

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

these next two functions should be done along the lines
of sort_u in sort.at
L24

eliminate_duplicates

L27eliminate_duplicates([ComplexNilpotent] orbits) = [ComplexNilpotent]

sort_u

L31sort_u ([ComplexNilpotent] orbits) = [ComplexNilpotent]

also defined in sort.at, K_types.at

saturate

L35saturate (NilpotentPoset P,RootDatum rd) = NilpotentPoset
saturate the orbits of L together with their closure relations

also defined in nilpotent_orbits.at, disconnected.at

merge

L44merge(NilpotentPoset P,NilpotentPoset Q) = ([ComplexNilpotent],[[int]])
combine two complex nilpotent posets
P=(orbits_P,posets_P)
Q=(orbits_Q,posets_Q)
new_orbit: sort_u(orbits_P##orbits_Q)
new_posets: relations on new_orbits coming from posets_P and posets_Q

also defined in sort.at

submerge

L75submerge(NilpotentPoset P,NilpotentPoset Q)
variant of merge:
assuming: P.orbits\subset Q.orbits
application: Q is all orbits for rd (and some relations)
submerge adds the relations from P,
more efficient than using merge in this case

seed_complex_nilpotent_poset

L99seed_complex_nilpotent_poset(RootDatum rd) = NilpotentPoset
seed with (list of complex nilpotents, trivial relations)
trivial relations:
0 < everything < principal
other elementary relations:
simple case:
0<minimal < others < subregular < principal
this induces relations in the non-simple case
L112

fill_nilpotent_posets_subregular

L119fill_nilpotent_posets_subregular(NilpotentPoset P) = NilpotentPoset
given poset of nilpotents, add the relations coming from the subregular orbits

fill_nilpotent_posets_minimal

L139fill_nilpotent_posets_minimal(NilpotentPoset P) = NilpotentPoset
given poset of nilpotents, add the relations coming from the minimal orbits

starting_complex_nilpotent_poset

L158starting_complex_nilpotent_poset(RootDatum rd) = NilpotentPoset
starting point:
list of complex nilpotents
closure relations from 0 and principal orbits  (seed)
closure relations from subregular orbits (fill_nilpotent_posets_subregular)
closure relations from minimal orbits  (fill_nilpotent_posets_minimal)

nilpotent_orbits_and_closures

L164nilpotent_orbits_and_closures(RootDatum rd) = NilpotentPoset

graph

L180graph(NilpotentPoset P) = string
graph of NilpotentPoset
this is the graph of the poset, together with labels
(H,dimension) from the orbits
see exceptional.at for a version using a NilpotentTable
for the names

also defined in poset.at, exceptional.at

special_elliptic

L184special_elliptic(RootDatum rd)

lusztig_of_special_elliptic 2 overloads

L194lusztig_of_special_elliptic(WeylElt w) = ComplexNilpotent
L202lusztig_of_special_elliptic(RootDatum rd,ratvec v) = ComplexNilpotent

g

L207g(WeylElt w)

also defined in laurentPolynomial.at

sort_by_dimension_of_nilpotent

L212sort_by_dimension_of_nilpotent = ([WeylElt] -> [WeylElt])
sort [WeylElt] by dimension of Lusztig(w) (associated nilpotent),
assuming each w is special elliptic so Lusztig(w) is known

special_elliptic_poset

L215special_elliptic_poset(RootDatum rd) = NilpotentPoset

master_complex_nilpotent_poset

L241master_complex_nilpotent_poset(RootDatum rd) = NilpotentPoset

nilpotent_orbits_and_closures_saturate

L247rec_fun nilpotent_orbits_and_closures_saturate(RootDatum rd) = NilpotentPoset

simple_induce

L263simple_induce(RootDatum rd,NilpotentPoset P) = NilpotentPoset
assume P is for a Levi

also defined in nilpotent_induction.at

nilpotent_orbits_and_closures_induce

L274rec_fun nilpotent_orbits_and_closures_induce(RootDatum rd) = NilpotentPoset

test

L288test(NilpotentPoset P) = [int,int]

also defined in test_unitarity.at, all_finite_order.at, nilpotent_centralizer.at, sommers.at, tensor_product.at

nilpotent_orbits_and_closures_test

L295rec_fun nilpotent_orbits_and_closures_test(RootDatum rd, int N) = NilpotentPoset
for testing: just go up to N

show 2 overloads

L309show(NilpotentPoset P) = void
L314show([RootDatum] subs,[NilpotentPoset] orbit_posets) = 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, nilpotent_orbits.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, lazy_lists.at

show_subgroup_orbit_nilpotent_map

L318show_subgroup_orbit_nilpotent_map(RootDatum rd) = void

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