I'm cross-posting this to sage-devel and sage-combinat. I know that's a mailing list no-no and I promise not to do it again but I think there's people on both lists that I'm writing this to.
The original thread was started by Joel Mohler on March 12. > For starters, I'd like to have two big pieces of new functionality. We need a > way to enumerate the Weyl Group and the set of positive roots for a root > system. I see that I can get this from lie so I think that makes sense as a > first implementation. It seems that the only way to get these things from > lie is to enumerate them all in memory as a list -- I'd rather have a more > incremental approach as the Weyl groups are not always small. Some of this is in Sage-3.0.alpha0. sage: L = RootSystem(['E',8]).ambient_lattice() sage: sage: L.positive_roots() [(1, 1, 0, 0, 0, 0, 0, 0), (1, 0, 1, 0, 0, 0, 0, 0), (1, 0, 0, 1, 0, 0, 0, 0), ... snip ... Second fundamental representation of F4: sage: WeylDim(['F',4],[0,1,0,0]) 1274 Currently (thanks to Justin for the exceptional groups) all root system are in Sage. They use the Bourbaki convention, not the Dynkin one for ordering the fundamental weights. These only differ for types G and E. You can also build the crystal graph of any representation for Cartan types A,B,C,D, and G2. This allows you to do tensor product decompositions, though I won't explain how right here. Enumerating the Weyl group would need to be implemented. Nicolas Thiery wrote: > > and from this, it seems that the alternatives above could both be > > considered "canonical": the first is the Bourbaki numbering. The > > second is the Dynkin numbering. > > So far in MuPAD-Combinat, we have taken the Kac convention (although I > really don't like it for twisted affine). We should definitely add at > some point an option Bourbaki that would give the other convention (by > simply applying a permutation to the nodes of the dynkin diagram). The rest of this message was posted to the sage-combinat list, but here it is again. One question is how Weyl characters are to be represented. A Weyl character is essentially an element of the group algebra for the weight lattice, which is an infinite abelian group. This ring could also be represented as an element of a ring of Laurent polynomials, and some start was made on Laurent polynomials by Jason Bandlow, David Roe and Mike Hanson. In any case, I would like the coefficient module to be an arbitrary commutative ring rather than just ZZ. In other words, if G is a Lie group of rank r, T its maximal torus, the Weyl character lives in the group algebra over X*(T) = ZZ^r, which is the group of rational characters of T. Any W-invariant element of this group algebra is a linear combination of Weyl characters. The group algebra of X*(T) is isomorphic to the ring of Laurent polynomials with ZZ coefficients, but I'd like the coefficients to be allowed in an arbitrary commutative ring, for example a polynomial ring in an auxiliary variable q. Once the ring in which the Weyl characters live is implemented, they could be computed using the Freudenthal multiplicity formula. There is also a map from the crystal to X*(T), which is the weight map. It is actually already implemented. sage: C = CrystalOfLetters(['D',4]) sage: v = C.list()[0] sage: v.weight() (1, 0, 0, 0) For small representations, the crystal could thus be used to compute the Weyl character, but this would be more efficiently done using the Freudenthal multiplicity formula. Dan --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---