I want to do some computations in the Kazhdan-Lusztig basis of an affine Hecke algebra.
Sometimes I want these computations to iterate over just the the translation subgroup of the affine Weyl group W. Is it possible do do this?
For example, if I set things up as
R.<v> = LaurentPolynomialRing(ZZ)
H = IwahoriHeckeAlgebra(['A',2,1], v^2)
W= H.coxeter_group()
Then I can iterate over things indexed by elements of W just fine. Is there a function to determine which w∈W are translation elements? For example
s=W.simple_reflections()
s[0].is_translation()
AttributeError: 'CoxeterMatrixGroup_with_category.element_class' object has no attribute 'is_translation'
doesn't work.
On the other hand, if I use the ExtendedAffineWeylGroup class
R.<v> = LaurentPolynomialRing(ZZ)
W = ExtendedAffineWeylGroup( ["A", 3, 1 ])
then
W.an_element().is_translation()
False
works, but I can't loop over W (or really access the elements of W at all)
for w in W:
if w.is_translation():
print(w)
gives a long error that ends with
AttributeError: 'ExtendedAffineWeylGroup_Class_with_category' object has no attribute 'list'
Is there any setup in Sage such that one can simultaneously determine which elements are translation elements, and iterate over W? (It would also be great to simultaneously have elements_of_length()
work; that's another thing that only seems to work in the first setup.)