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
-~----------~----~----~----~------~----~------~--~---

Reply via email to