An issue with Root systems in sage
Here is a problem that I cannot seem to understand.
R=RootSystem(['A', 2])
F=R.ambient_space().fundamental_weights()
D=R.ambient_space().simple_roots()
The output we get is as follows:
F=Finite family {1: (1, 0, 0), 2: (1, 1, 0)}
D=Finite family {1: (1, -1, 0), 2: (0, 1, -1)}
The issue is the root lattice is contained in the weight lattice but clearly D[2] is not contained in the lattice generated by F. Perhaps I am missing something simple. I need to write a program I would need the weyl group action on some weights and roots at the same time. How can this be done? Thank you for your time in advance.
EDIT: Consider now the Weyl group action on weight lattice. We will continue using the notations above.
W= R.ambient_space(). weyl_group()
S= W.gens()
s1, s2= S
s1.action(F[1])
Gives an output
ValueError Traceback (most recent call last)
<ipython-input-12-4b0b8fd74264> in <module>()
---- 1 s1.action(F[Integer(1)]) /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/combinat/root_system/weyl_group.pyc in action(self, v)
843 """
844 if v not in self.domain():
--> 845 raise ValueError("{} is not in the domain".format(v))
846 return self.domain().from_vector(self.__matrixv.to_vector())
847
ValueError: Lambda[1] is not in the domain
The only way I have been able to make it work is that
L = R. weight_lattice()
F=L.fundamental_weights()
f= L.to_ambient_space-morphism()
s1.action(f(F[1]))
(1,0,0)
This is what I can get but the problem is
s2
f(F[2]) = (0,0,1).
So we are in a situation of the original problem again.
I need to calculate the Weyl group action on the fundamental weights. If there is a better way to do it I would like to know.