-
-
Notifications
You must be signed in to change notification settings - Fork 421
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Absolute length returning wrong value in affine type #36174
Comments
This is using the definition as |
Yeah, I think |
feel free to propose a pull request |
I'm trying to get it to work. The main issue I'm currently running into is that the extended affine weyl groups give translations in terms of the coweight lattice. The dimension from the article gives it based off the root lattice. So I just need to convert things properly and make sure things are going ok between types. |
Update on this ticket: There are some additional changes in the docs that will need to change since matrices are now 1 dimension bigger in order to compensate for this higher dimension. The current state of this ticket can be found on my branch: (Note that I still need to add some documentation/tests to the new code so it's still not 100%, but it's at least in a working state now). |
@fchapoton I might need some help on this ticket if you're available? I think the main issue is that I'm not fully understanding how the current model for affine Coxeter/Weyl groups is working. It seems to be adding I tried to add the If you have time/space can you look over what I've done so far and see potentially where I'm going wrong? I think @nthiery also was the one who initiated most of this stuff so I'm cc'ing him in case he might have some guidance on this. |
So this might fix things for affine Coxeter groups, but what about the general case? I might have been the one who did this implementation, but it was too long ago for me to remember too well what I looked at. However, this paper of Dyer seems to propose a reasonable solution: Remove simple reflections in sequence until you get the empty word. So in code, it would be something like this: import itertools
P = self.parent()
w = self.reduced_word()
s = P.simple_reflections()
one = P.one()
for ell in range(len(w)-1, -1, -1):
for wd in itertools.combinations(w, ell):
if P.prod(s[i] for i in wd) == one:
return ell which would be done outside of finite type. |
This seems to be correct for all types! (I hadn't seen that article. It's super nice!) I think the code you have would only need to be changed in the last line: import itertools
P = self.parent()
w = self.reduced_word()
s = P.simple_reflections()
one = P.one()
n = len(w)
for ell in range(n-1, -1, -1):
for wd in itertools.combinations(w, ell):
if P.prod(s[i] for i in wd) == one:
return n - ell The theorem which you're using is (I'm writing it down just to have a source without having to look it up again): So if I'm understanding the code and theorem correctly, we don't want the number of letters remaining, but |
Ah, right, yes. Thanks for fixing it. Once I saw the statement, I was like “of course that should be true by the strong exchange condition.” It also gives you a sequence of reflections too if you are careful about what generators cancel. Thank you. Cc me and I will do the review. I was going to do this myself but forgot about it. I can also provide an implementation to obtain a sequence reflections (as a separate method) if you don’t want to do this yourself. |
Ok, as long as I didn't screw up the styles, then it should be good to go now. I added a test and also bibliography to state precisely where the information is coming from for future reference. |
Steps To Reproduce
When trying to get the absolute length of an element in an Affine Coxeter group, we get the wrong value.
Mathematical Background: Given an affine Coxeter group$W$ generated by a set $S$ , the set $R$ (of reflections) is the conjugates of $S$ . In other words, $R = \cup_{w \in W} wSw^{-1}$ . The absolute length of an element $w$ is the minimal length of words which represent $w$ over the generating set $R$ .
In the above case,$S = \left\{ r, s, t\right\}$ and $rsr$ and $t$ are both reflections in $R$ implying that $rsrt$ has absolute length $2$ . (Reflections always have an odd number of generators and so $rsrt$ must have an even absolute length).
Expected Behavior
Actual Behavior
Additional Information
No response
Environment
Checklist
The text was updated successfully, but these errors were encountered: