I am looking for an automated way to draw diagrams of intervals in Weyl groups and in their various subsets such as minimal representatives of cosets $W/W_p$ for a parabolic Weyl group $W_p$ or elements of $W_{[\lambda]}$ for some nonintegral weight $\lambda$.

I've looked at sage but their support is very rudimentary. So far the best thing I've found is the package WeylGroups for Macaulay2. It implements minimal representatives and it has output to svg and pgf. However the resulting graph is not very nice imho. Also I would like to be able to label the nodes of the diagram such that the top would be an arbitrary weight and the rest of the nodes would be labelled according to the (affine) Weyl group action on that weight. This is of course doable in Macaulay2 and the output can be improved by hacking the output routines of WeylGroup package and using graphviz. Alas, I have never used M2 before and given the amount of work required I thought that I ask here first. So...

Question: Is there a software that produces nice drawing of intervals in Bruhat order?

Also there are other interesting subsets of Weyl group with a slightly different order which can be of interest. So extendability / hackability is always a plus!

  • 1
    $\begingroup$ You could try John Stembridge's posets package in maple that is available at his web site: www.math.lsa.umich.edu.edu/~jrs/maple.html#posets. His description says it is good for visualizing posets, and he certainly works with Bruhat order and related posets himself. $\endgroup$ – Patricia Hersh May 31 '12 at 12:12
  • $\begingroup$ Maybe PyCox can also be useful: arxiv.org/abs/1201.5566. It was written in python by M. Geck. The link: abdn.ac.uk/~mth190/chv1r6.py $\endgroup$ – Leandro Vendramin May 31 '12 at 12:43
  • $\begingroup$ @Patricia: Thanks! It even has output to DOT. I just don't know how to import his packages into Maple under Windows. Any clues? @Leandro: PyCox seems interesting but unless I missed something it doesn't implement the things I want. $\endgroup$ – Vít Tuček Jun 1 '12 at 21:35


There is quite some support for this:

sage: W = WeylGroup("A3", prefix = "s")
sage: [s1,s2,s3] = W.simple_reflections()
sage: G = W.bruhat_graph(s1*s3,s1*s2*s3*s2*s1)
sage: G.plot()

You can get even nicer pictures using dot2tex:

sage: D = DiGraph([[tuple(x.reduced_word()),tuple(y.reduced_word()),None] for x,y,z in G.edges()])
sage: view(D)

More examples of cool pictures in Sage can be found here http://wiki.sagemath.org/combinat/CoolPictures




What about LiE?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.