Hi Anne,

On Wed, Jan 13, 2010 at 11:49:38PM -0800, Anne Schilling wrote:
> I recently asked Nicolas whether it is easy to amend the Iwahori Hecke
> algebra code to mod out by further relations? For example to impose
> T_i T_{i+1} T_i = 0 or something like this. He suggested to discuss this
> on the mailing list since others might be interested:
> 
> > The code reduces everything to the multiplication of a basis element
> > T_w by a generator T_i (product_by_generator_on_basis). If you have a
> > way to detect when the relation applies (here if ws_i as both i and
> > i+1 as descents?), then you can adapt this method to return 0. You
> > should also adapt the basis indices appropriately.
> 
> If I only amend product_by_generator_on_basis some non-allowed terms
> in my calculations actually survive. So do I need to add checks in
> 
>  product_on_basis
> 
> and
> 
>  product_by_generator
> 
> to see wheter w1 (resp. x) is allowed?

In principle, product_by_generator_on_basis is the only place where
new basis elements are created during arithmetic. So you should just
make sure that you never create bad elements there.

Of course, if you create explicitly elements, say by doing H.term(w),
you should make sure w is appropriate. Which leads to the second
point:

> Or is there a more global way of adapting the basis indices?

See __init__.py:

         CombinatorialFreeModule.__init__(self, base_ring, W, category = 
category)

W should be replaced by whatever is appropriate. Do you have a way of
testing if a given w does not contain any T_i T_{i+1} T_i? If yes,
here is a shameless plug:

        def predicate(w):
            ...

        W.weak_order_ideal(predicate)

I pushed this feature yesterday in the 6588 patch :-)

You could try to use as predicate:

        def has_not_consecutive_descents(w):
            ...

However, this is a bit of an abuse, and might not work mathematically
speaking (it just guarantees that there is one prefix of w of each
length that does not end with any T_i T_{i+1} T_i).

Note: setting the indices appropriately is not going to magically kill
undesired elements. It might (actually should) trigger errors when
such elements are created.

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 post to this group, send email to sage-combinat-de...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.


Reply via email to