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