Ask Your Question

Names of variables in universal enveloping algebra

asked 2023-02-17 19:51:41 +0100

Jose Brox gravatar image

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.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2023-02-21 18:25:57 +0100

updated 2023-02-21 18:30:19 +0100

After the commands you gave, you can "rename" the generators:

sage: e12
sage: e12.rename('e12')
sage: e12

I don't know of an automated procedure, but maybe you could modify pbw_basis (and hence PoincareBirkhoffWittBasis) to take an extra argument to give names to the generators.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2023-02-17 19:51:41 +0100

Seen: 215 times

Last updated: Feb 21 '23