Finite Dimensional Nilpotent Lie Algebras With Basis#

AUTHORS:

  • Eero Hakavuori (2018-08-16): initial version

class sage.categories.finite_dimensional_nilpotent_lie_algebras_with_basis.FiniteDimensionalNilpotentLieAlgebrasWithBasis(base_category)#

Bases: sage.categories.category_with_axiom.CategoryWithAxiom_over_base_ring

Category of finite dimensional nilpotent Lie algebras with basis.

class ParentMethods#

Bases: object

is_nilpotent()#

Return True since self is nilpotent.

EXAMPLES:

sage: L = LieAlgebra(QQ, {('x','y'): {'z': 1}}, nilpotent=True)
sage: L.is_nilpotent()
True
lie_group(name='G', **kwds)#

Return the Lie group associated to self.

INPUT:

  • name – string (default: 'G'); the name (symbol) given to the Lie group

EXAMPLES:

We define the Heisenberg group:

sage: L = lie_algebras.Heisenberg(QQ, 1)
sage: G = L.lie_group('G'); G                                       # optional - sage.symbolic
Lie group G of Heisenberg algebra of rank 1 over Rational Field

We test multiplying elements of the group:

sage: p,q,z = L.basis()                                             # optional - sage.symbolic
sage: g = G.exp(p); g                                               # optional - sage.symbolic
exp(p1)
sage: h = G.exp(q); h                                               # optional - sage.symbolic
exp(q1)
sage: g*h                                                           # optional - sage.symbolic
exp(p1 + q1 + 1/2*z)

We extend an element of the Lie algebra to a left-invariant vector field:

sage: X = G.left_invariant_extension(2*p + 3*q, name='X'); X        # optional - sage.symbolic
Vector field X on the Lie group G of Heisenberg algebra of rank 1 over Rational Field
sage: X.at(G.one()).display()                                       # optional - sage.symbolic
X = 2 ∂/∂x_0 + 3 ∂/∂x_1
sage: X.display()                                                   # optional - sage.symbolic
X = 2 ∂/∂x_0 + 3 ∂/∂x_1 + (3/2*x_0 - x_1) ∂/∂x_2
step()#

Return the nilpotency step of self.

EXAMPLES:

sage: L = LieAlgebra(QQ, {('X','Y'): {'Z': 1}}, nilpotent=True)
sage: L.step()
2
sage: sc = {('X','Y'): {'Z': 1}, ('X','Z'): {'W': 1}}
sage: LieAlgebra(QQ, sc, nilpotent=True).step()
3