I need to do some computations in the universal enveloping algebras of special linear Lie algebras. I would like to name the standard basis of the Lie algebra in a recognizable way, then make the universal enveloping algebra take that names and print the results of computations with such names.
My problem is that the Lie algebras are defined from generators, not bases, and moreover they impose their own labels (indexed by roots, e.g. E[alpha[1]]) to the universal enveloping algebra.
I wonder if there is any procedure to do this easily and avoid writing a conversion function by hand for each Lie algebra.
An example of my code:
L = LieAlgebra(ZZ, cartan_type=['A',2])
L.inject_variables() #One can use e1,e2, etc. for computing, but they do not appear in the result
PBW = L.pbw_basis()
e12,e23,e13,h2,h1,e21,e32,e31 = PBW.algebra_generators() #One can use e12,etc. to compute, but they do not appear in the result
Then the input e12 produces the output PBW[E[alpha[2]] instead of PBW[e12] as would be desired.