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
sinceself
is nilpotent.EXAMPLES:
sage: L = LieAlgebra(QQ, {('x','y'): {'z': 1}}, nilpotent=True) # optional - sage.combinat sage.modules sage: L.is_nilpotent() # optional - 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) # optional - sage.combinat sage.modules sage: G = L.lie_group('G'); G # optional - 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: p, q, z = L.basis() # optional - sage.combinat sage.modules sage.symbolic sage: g = G.exp(p); g # optional - sage.combinat sage.modules sage.symbolic exp(p1) sage: h = G.exp(q); h # optional - sage.combinat sage.modules sage.symbolic exp(q1) sage: g * h # optional - sage.combinat sage.modules 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.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() # optional - sage.combinat sage.modules sage.symbolic X = 2 ∂/∂x_0 + 3 ∂/∂x_1 sage: X.display() # optional - sage.combinat sage.modules sage.symbolic X = 2 ∂/∂x_0 + 3 ∂/∂x_1 + (3/2*x_0 - x_1) ∂/∂x_2
See also
- step()#
Return the nilpotency step of
self
.EXAMPLES:
sage: L = LieAlgebra(QQ, {('X','Y'): {'Z': 1}}, nilpotent=True) # optional - sage.combinat sage.modules sage: L.step() # optional - sage.combinat sage.modules 2 sage: sc = {('X','Y'): {'Z': 1}, ('X','Z'): {'W': 1}} # optional - sage.combinat sage.modules sage: LieAlgebra(QQ, sc, nilpotent=True).step() # optional - sage.combinat sage.modules 3