atlas Library · Script File
poset.at
Partially ordered sets
Definitions in source order
Poset type
set_type Poset=[[int]]
Poset P=[[int]]: encodes a partial order
the underlying set is {0,1,...,#P}
relations: P[i]=[a_1,a_2,...] means i<a_j
i<i is assumed (P[i] should not contain i)
transitive_fill_one
transitive_fill_one(Poset P) = Posetadd relations implied by reflexivity and transitivity
equal
equal ([[int]]A,[[int]]B) = boolcannot overload this onto '='
also defined in springer_tables.at
transitive_fill
transitive_fill(Poset P) = Posetrepeatedly add all relations implied by transitivity; not needed anymore
trans_close
trans_close (Poset P) = Posetthe fastest way to compute this is using bitsets; avoids needing |sort_u|
closure
closure = (Poset->Poset)cut out the middle
also defined in K_Nilpotent.at, exceptional.at
posets_equal
posets_equal(Poset P,Poset Q) = boolposet_inverse
poset_inverse(Poset P) = Posetless
less(Poset P,int i,int j) = boolboolean: i<j in poset P
also defined in W_order.at
greater
greater(Poset P,int i,int j) = boolminimal_nodes
minimal_nodes(Poset P) = [int]nodes which point to nothing (only themselves)
basic_nodes
basic_nodes(Poset P) = [int]nodes i satisfying: P[i] is empty (or P[i]=[i]) i\in P[j] some j (j\ne i) in terms of orbit closures: orbit is closed, and orbit is contained in the closure of a strictly bigger orbit
delete_node
delete_node(int i,Poset P) = Posetdelete all edges pointing to node i, but keep node i itself, so P does not get renumbered caution: delete@(Poset,int) is defined, by overloading from delete@([vec],int) in basic.at and this is different
delete_nodes
delete_nodes([int] S,Poset P) = Posetis_monotone
is_monotone(Poset P,[int] f) = boolPoset P, |P|=n f is a permutation of P f=[a_1,...,a_n] means f(i)=a_i f is monotone if less(P,i,j) => less(P,f(i),f(j))
subPoset
subPoset(Poset P,[int] S)graph 4 overloads
graph(Poset P) = stringreturn a string which, when output to a file, can be processed by graphviz to produce a graph suggested usage: set g=graph(P) >file.dot prints(g) (command line): %tred file.dot | dot -Tpdf -o file.pdf tred: command line tool to reduce the graph by eliminating redundant edges default: each node is a black oval, labeled by an integer
graph(Poset P, (int->string) labels, (int->string) colors) = stringlabels: function giving string to use in place of integers colors: function giving color of border of node j for more options edit the .dot file directly
graph(Poset P, (int->string) labels) = stringblack borders
graph(Poset P,[string] labels) = stringblack borders, give labels as an array of strings instead of a function
also defined in exceptional.at, nilpotent_posets.at
show
show(Poset P) = voidsimple text output of poset
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, 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
Generated from atlas-scripts at commit 648506c (2026-10-13).