Dear Vít,

On Sun, Oct 06, 2013 at 11:03:38AM -0700, Vít Tuček wrote:
>     I have implemented an algorithm for computing the minimal representatives
>    of cosets W/W_S where W is the Weyl group of a Lie algebra and W_S is the
>    Weyl group of its standard Levi subalgebra corresponding to the set of
>    simple roots S. These posets have their place well established in the
>    literature, e.g. they govern nilpotent Lie algebra cohomology of
>    finite-dimensional modules and homomorphisms of (generalized) Verma
>    modules. I use my routines for producing illustrations in my work and for
>    checking theorems in low dimensions. 
>    I would like this code to be included into sage but I am a bit unsure
>    about the API. Right now I have implemented methods of WeylGroup
>    class parabolic_bruhat_graph(self, Levi_indices)
>    and  parabolic_poset(self, Levi_indices) which are basically just wrappers
>    over _minimal_representatives(self,Levi_indices). 
>    Sometimes it is convenient (and is quite common in the literature) to
>    specify the Levi part by the simple roots which are NOT contained in its
>    root system. Should this be implemented in the API as well?
>    On a related note, each standard parabolic subalgebra determines a
>    (symmetric) grading on the Lie algebra (g = g_{-k} \oplus \cdots g_l) and
>    any such grading determines a parabolic subalgebra. I have implemented
>    method for RootSpace which splits the positive roots into the graded
>    components, i.e. the result is a dictionary {j : g_j } Could this be
>    included as well?

Thanks for offering to share your code!

Just some quick remarks to get started: the minimal representatives
themselves are already available for any Coxeter group as
"coset_representatives":

                sage: W = SymmetricGroup(4)
                sage: WI = W.coset_representatives([1,2], side="right")
                sage: WI.cardinality()
                4

Is the first part of your contribution about those, or about building
the bruhat order on those coset representatives? In the later case,
are you using "coset_representatives" to get the elements themselves?

For the user interface, a natural choice could be to add the feature
to the existing bruhat_poset method of FiniteCoxeterGroups:

        sage: W.bruhat_poset(index_set=[1,2,4])

This would be consistent with the syntax for the quantum_bruhat_graph
method of WeylGroups. Here, I am assuming your algorithm work for any
(finite) Coxeter group, right?

Further comments anyone?

For the positive roots: the system already knows that there is a grading:

    sage: W = CoxeterGroups().example()
    sage: R = RootSystem(["A",3]).root_lattice()
    sage: R.positive_roots()
    <sage.combinat.backtrack.TransitiveIdealGraded instance at 0x7992440>

What's really missing is to upgrade TransitiveIdealGraded so that one
can easily ask for all elements of a given depth. See also the related
ticket http://trac.sagemath.org/ticket/6637.

>    In some areas of mathematics it is customary to actually draw these posets
>    with nodes replaced by labelled Dynkin diagrams with nodes not
>    corresponding to the Levi part crossed. See
>    e.g. http://arxiv.org/abs/1303.1307 
>    I haven't looked into graph drawing of sage nor at Dynkin diagrams, but in
>    case this feature also has a chance to be included in sage I am willing to
>    try to implement it.

It should not be too hard indeed!

>    I'll post patches as soon as I get properly acquainted with sage
>    patch & build system.

Which is in a state of flux, since we are currently switching
development workflow (including a switch from mercurial to git).
See: http://trac.sagemath.org/ticket/13015

Cheers,
                                Nicolas
--
Nicolas M. Thiéry "Isil" <nthi...@users.sf.net>
http://Nicolas.Thiery.name/

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-combinat-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to