WeylGroup implementation incompatibility

28 views
Skip to first unread message

Stefan Witzel

unread,
Sep 20, 2017, 8:19:47 AM9/20/17
to sage-devel
Hi,

Trying to work with WeylGroups I noticed that the notions of roots differ depending on whether implementation='matrix' or implementation='permutation'. I think it would be good if they didn't or at least if there was an error instead of nonsensical output.

Here is an example:

L = RootSystem(['A',3])
root_space
= L.root_space()
root_to_ambient
= root_space.to_ambient_space_morphism()
alpha
= root_to_ambient(root_space.simple_roots()[1])

W
= WeylGroup(L, implementation='matrix')
g
= W[1]
print(alpha)
print(g.action(alpha))

The outputs are (1, -1, 0, 0) and (0, -1, 0, 1).
So far everything is as expected. Now if I replace W by the 'permutation'-version (which I had hoped to work as a drop-in replacement)

W = WeylGroup(L, implementation='permutation')
g
= W[1]
print(g.action(alpha))
print(W.roots()[0])

the outputs are (1, -1, -1) and (1, 0, 0). What's a little annoying is that the root systems use different ambient spaces. What's extremely annoying is that g.action(alpha) accepts a 4-touple without raising an exception.
Is there a plan of making the behavior more coherent or should one never switch between the two implementations?

Best,
Stefan
Reply all
Reply to author
Forward
0 new messages