Universal enveloping algebra over the complex numbers

asked 2023-04-18 08:44:43 +0100

AlAnGeTo gravatar image

In the documentation there is an example of defining the universal enveloping algebra of a lie algebra L, with the multiplication being *. However, this works only over the field of rationals QQ. How would one instead do this over the field of complex numbers CC?

L = LieAlgebra(QQ, {('e','h'): {'e':-2}, ('f','h'): {'f':2},

                ('e','f'): {'h':1}}, names='e,f,h')

e,f,h = L.lie_algebra_generators()

L.bracket(h, e)
2*e

elt = h*e; elt
e*h + 2*e
edit retag flag offensive close merge delete

Comments

Our setting for free modules does not not like inexact coefficient rings. Try using SR or QQbar or some number field or whatever precise ring you need as coefficients.

FrédéricC gravatar imageFrédéricC ( 2023-04-18 11:54:21 +0100 )edit

Would it be possible for you to elaborate? When I try to use QQbar I get the error "TypeError: Illegal initializer for algebraic number". While using SR I get the error "AttributeError: 'LieAlgebraWithStructureCoefficients_with_category' object has no attribute 'lift'".

AlAnGeTo gravatar imageAlAnGeTo ( 2023-04-19 06:18:21 +0100 )edit

Indeed. Some things need to be fixed.

FrédéricC gravatar imageFrédéricC ( 2023-04-19 12:03:21 +0100 )edit
1

Can you do anything with L.pbw_basis()?

John Palmieri gravatar imageJohn Palmieri ( 2023-04-20 00:32:32 +0100 )edit

Thanks that works, L.pbw_basis() works with QQbar.

AlAnGeTo gravatar imageAlAnGeTo ( 2023-04-21 03:27:01 +0100 )edit