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: 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)         # needs sage.combinat sage.modules
sage: L.is_nilpotent()                                                  # needs sage.combinat sage.modules
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)                                # needs sage.combinat sage.modules
sage: G = L.lie_group('G'); G                                           # needs sage.combinat sage.modules sage.symbolic
Lie group G of Heisenberg algebra of rank 1 over Rational Field

We test multiplying elements of the group:

sage: # needs sage.combinat sage.modules sage.symbolic
sage: p, q, z = L.basis()
sage: g = G.exp(p); g
exp(p1)
sage: h = G.exp(q); h
exp(q1)
sage: g * h
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            # needs sage.combinat sage.modules 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()                                           # needs sage.combinat sage.modules sage.symbolic
X = 2 ∂/∂x_0 + 3 ∂/∂x_1
sage: X.display()                                                       # needs sage.combinat sage.modules 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: # needs sage.combinat sage.modules
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