Lie Algebras With Basis#

AUTHORS:

  • Travis Scrimshaw (07-15-2013): Initial implementation

class sage.categories.lie_algebras_with_basis.LieAlgebrasWithBasis(base_category)#

Bases: CategoryWithAxiom_over_base_ring

Category of Lie algebras with a basis.

class ElementMethods#

Bases: object

lift()#

Lift self to the universal enveloping algebra.

EXAMPLES:

sage: # needs sage.groups
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(order=None)#

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()     # needs sage.modules
sage: L.an_element().to_vector()                                        # needs sage.modules
(0, 0, 0)

Todo

Doctest this implementation on an example not overshadowed.

Graded#

alias of GradedLieAlgebrasWithBasis

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()                         # needs sage.combinat sage.modules
sage: L.bracket_on_basis(Partition([3,1]), Partition([2,2,1,1]))        # needs sage.combinat sage.modules
0
dimension()#

Return the dimension of self.

EXAMPLES:

sage: L = LieAlgebras(QQ).FiniteDimensional().WithBasis().example()     # needs sage.modules
sage: L.dimension()                                                     # needs sage.modules
3
sage: L = LieAlgebra(QQ, 'x,y', {('x','y'): {'x':1}})                   # needs sage.combinat sage.modules
sage: L.dimension()                                                     # needs sage.combinat sage.modules
2
from_vector(v, order=None, coerce=False)#

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()     # needs sage.modules
sage: u = L.from_vector(vector(QQ, (1, 0, 0))); u                       # needs sage.modules
(1, 0, 0)
sage: parent(u) is L                                                    # needs sage.modules
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()                         # needs sage.combinat sage.modules
sage: L.module()                                                        # needs sage.combinat sage.modules
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)                                        # needs sage.combinat sage.modules
sage: PBW = L.pbw_basis()                                               # needs sage.combinat sage.modules
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)                                        # needs sage.combinat sage.modules
sage: PBW = L.pbw_basis()                                               # needs sage.combinat sage.modules
example(gens=None)#

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

EXAMPLES:

sage: LieAlgebras(QQ).WithBasis().example()                                 # needs sage.combinat sage.modules
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())                   # needs sage.combinat sage.modules
An example of a Lie algebra: the abelian Lie algebra on the
 generators indexed by Compositions of non-negative integers
 over Rational Field