# Lie Algebras With Basis¶

AUTHORS:

• Travis Scrimshaw (07-15-2013): Initial implementation
class sage.categories.lie_algebras_with_basis.LieAlgebrasWithBasis(base_category)

Category of Lie algebras with a basis.

class ElementMethods

Bases: object

lift()

Lift self to the universal enveloping algebra.

EXAMPLES:

sage: S = SymmetricGroup(3).algebra(QQ)
sage: L = LieAlgebra(associative=S)
sage: x = L.gen(3)
sage: y = L.gen(1)
sage: x.lift()
b3
sage: y.lift()
b1
sage: x * y
b1*b3 + b4 - b5

to_vector()

Return the vector in g.module() corresponding to the element self of g (where g is the parent of self).

Implement this if you implement g.module(). See sage.categories.lie_algebras.LieAlgebras.module() for how this is to be done.

EXAMPLES:

sage: L = LieAlgebras(QQ).FiniteDimensional().WithBasis().example()
sage: L.an_element().to_vector()
(0, 0, 0)


Todo

Doctest this implementation on an example not overshadowed.

Graded
class ParentMethods

Bases: object

bracket_on_basis(x, y)

Return the bracket of basis elements indexed by x and y where x < y. If this is not implemented, then the method _bracket_() for the elements must be overwritten.

EXAMPLES:

sage: L = LieAlgebras(QQ).WithBasis().example()
sage: L.bracket_on_basis(Partition([3,1]), Partition([2,2,1,1]))
0

dimension()

Return the dimension of self.

EXAMPLES:

sage: L = LieAlgebras(QQ).FiniteDimensional().WithBasis().example()
sage: L.dimension()
3

sage: L = LieAlgebra(QQ, 'x,y', {('x','y'): {'x':1}})
sage: L.dimension()
2

from_vector(v)

Return the element of self corresponding to the vector v in self.module().

Implement this if you implement module(); see the documentation of sage.categories.lie_algebras.LieAlgebras.module() for how this is to be done.

EXAMPLES:

sage: L = LieAlgebras(QQ).FiniteDimensional().WithBasis().example()
sage: u = L.from_vector(vector(QQ, (1, 0, 0))); u
(1, 0, 0)
sage: parent(u) is L
True

module()

Return an $$R$$-module which is isomorphic to the underlying $$R$$-module of self.

See sage.categories.lie_algebras.LieAlgebras.module() for an explanation.

EXAMPLES:

sage: L = LieAlgebras(QQ).WithBasis().example()
sage: L.module()
Free module generated by Partitions over Rational Field

pbw_basis(basis_key=None, **kwds)

Return the Poincare-Birkhoff-Witt basis of the universal enveloping algebra corresponding to self.

EXAMPLES:

sage: L = lie_algebras.sl(QQ, 2)
sage: PBW = L.pbw_basis()

poincare_birkhoff_witt_basis(basis_key=None, **kwds)

Return the Poincare-Birkhoff-Witt basis of the universal enveloping algebra corresponding to self.

EXAMPLES:

sage: L = lie_algebras.sl(QQ, 2)
sage: PBW = L.pbw_basis()

example(gens=None)

Return an example of a Lie algebra as per Category.example.

EXAMPLES:

sage: LieAlgebras(QQ).WithBasis().example()
An example of a Lie algebra: the abelian Lie algebra on the
generators indexed by Partitions over Rational Field


Another set of generators can be specified as an optional argument:

sage: LieAlgebras(QQ).WithBasis().example(Compositions())
An example of a Lie algebra: the abelian Lie algebra on the
generators indexed by Compositions of non-negative integers
over Rational Field