Examples of a Lie algebra#

sage.categories.examples.lie_algebras.Example[source]#

alias of LieAlgebraFromAssociative

class sage.categories.examples.lie_algebras.LieAlgebraFromAssociative(gens)[source]#

Bases: Parent, UniqueRepresentation

An example of a Lie algebra: a Lie algebra generated by a set of elements of an associative algebra.

This class illustrates a minimal implementation of a Lie algebra.

Let \(R\) be a commutative ring, and \(A\) an associative \(R\)-algebra. The Lie algebra \(A\) (sometimes denoted \(A^-\)) is defined to be the \(R\)-module \(A\) with Lie bracket given by the commutator in \(A\): that is, \([a, b] := ab - ba\) for all \(a, b \in A\).

What this class implements is not precisely \(A^-\), however; it is the Lie subalgebra of \(A^-\) generated by the elements of the iterable gens. This specific implementation does not provide a reasonable containment test (i.e., it does not allow you to check if a given element \(a\) of \(A^-\) belongs to this Lie subalgebra); it, however, allows computing inside it.

INPUT:

  • gens – a nonempty iterable consisting of elements of an associative algebra \(A\)

OUTPUT:

The Lie subalgebra of \(A^-\) generated by the elements of gens

EXAMPLES:

We create a model of \(\mathfrak{sl}_2\) using matrices:

sage: gens = [matrix([[0,1],[0,0]]), matrix([[0,0],[1,0]]), matrix([[1,0],[0,-1]])]
sage: for g in gens:
....:     g.set_immutable()
sage: L = LieAlgebras(QQ).example(gens)
sage: e,f,h = L.lie_algebra_generators()
sage: e.bracket(f) == h
True
sage: h.bracket(e) == 2*e
True
sage: h.bracket(f) == -2*f
True
>>> from sage.all import *
>>> gens = [matrix([[Integer(0),Integer(1)],[Integer(0),Integer(0)]]), matrix([[Integer(0),Integer(0)],[Integer(1),Integer(0)]]), matrix([[Integer(1),Integer(0)],[Integer(0),-Integer(1)]])]
>>> for g in gens:
...     g.set_immutable()
>>> L = LieAlgebras(QQ).example(gens)
>>> e,f,h = L.lie_algebra_generators()
>>> e.bracket(f) == h
True
>>> h.bracket(e) == Integer(2)*e
True
>>> h.bracket(f) == -Integer(2)*f
True
class Element[source]#

Bases: ElementWrapper

Wrap an element as a Lie algebra element.

lie_algebra_generators()[source]#

Return the generators of self as a Lie algebra.

EXAMPLES:

sage: L = LieAlgebras(QQ).example()                                         # needs sage.combinat sage.groups
sage: L.lie_algebra_generators()                                            # needs sage.combinat sage.groups
Family ([2, 1, 3], [2, 3, 1])
>>> from sage.all import *
>>> L = LieAlgebras(QQ).example()                                         # needs sage.combinat sage.groups
>>> L.lie_algebra_generators()                                            # needs sage.combinat sage.groups
Family ([2, 1, 3], [2, 3, 1])
zero()[source]#

Return the element 0.

EXAMPLES:

sage: L = LieAlgebras(QQ).example()                                         # needs sage.combinat sage.groups
sage: L.zero()                                                              # needs sage.combinat sage.groups
0
>>> from sage.all import *
>>> L = LieAlgebras(QQ).example()                                         # needs sage.combinat sage.groups
>>> L.zero()                                                              # needs sage.combinat sage.groups
0