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\in 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.)