> < ^ Date: Thu, 09 Nov 2000 12:38:01 +0100 (MET)
> < ^ From: Jan Draisma <Jan.Draisma@unibas.ch >
> < ^ Subject: Universal Enveloping Algebra

Deear Forum,

When L is a Lie algebra, then

U:=UniversalEnvelopingAlgebra(L)

yields the U.E.A. of L; a basis of this algebra consists of ordered
monomials

```l_1^n_1 * l_2^n_2 * ... * l_d^n_d
```

where the l_i form an ordered basis of L. The elements of U are
represented using this (PBW-)basis, which clearly depends on a choice
of an ordered basis B of L. It would seem natural to me, to give B as a
parameter to the function UniversalEnvelopingAlgebra.

But this is not the case; instead, inside UniversalEnvelopingAlgebra,
the function Basis is invoked to compute a basis. If one wants to use
a particular basis of L, one can try to put it implicitly into L, as
follows:

```g:=SimpleLieAlgebra("A",1,Rationals);
x:=GeneratorsOfAlgebra(g);
g:=Subalgebra(g,[x[1],x[2]+x[3],x[3]]);
BasisVectors(Basis(g));
[ v.1, v.2+v.3, v.3 ]
```

But this does not always work:

```g:=SimpleLieAlgebra("A",2,Rationals);
x:=GeneratorsOfAlgebra(g);
g:=Subalgebra(g,[x[1],x[2],x[3],x[4],x[7],x[8],x[5]+x[3],x[6]]);
BasisVectors(Basis(g));
[ v.1, v.2, v.3, v.4, v.7, v.8, v.5, v.6 ]
```

Does anyone have a suggestion how to get around this problem? Well, of
course I can alter the original source code a bit, but that seems no
very clean solution..

Thanks,

Jan

> < [top]