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)[source]#
Bases:
CategoryWithAxiom_over_base_ring
Category of finite dimensional nilpotent Lie algebras with basis.
- class ParentMethods[source]#
Bases:
object
- is_nilpotent()[source]#
Return
True
sinceself
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
>>> from sage.all import * >>> L = LieAlgebra(QQ, {('x','y'): {'z': Integer(1)}}, nilpotent=True) # needs sage.combinat sage.modules >>> L.is_nilpotent() # needs sage.combinat sage.modules True
- lie_group(name='G', **kwds)[source]#
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
>>> from sage.all import * >>> L = lie_algebras.Heisenberg(QQ, Integer(1)) # needs sage.combinat sage.modules >>> 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)
>>> from sage.all import * >>> # needs sage.combinat sage.modules sage.symbolic >>> p, q, z = L.basis() >>> g = G.exp(p); g exp(p1) >>> h = G.exp(q); h exp(q1) >>> 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
>>> from sage.all import * >>> X = G.left_invariant_extension(Integer(2)*p + Integer(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 >>> X.at(G.one()).display() # needs sage.combinat sage.modules sage.symbolic X = 2 ∂/∂x_0 + 3 ∂/∂x_1 >>> X.display() # needs sage.combinat sage.modules sage.symbolic X = 2 ∂/∂x_0 + 3 ∂/∂x_1 + (3/2*x_0 - x_1) ∂/∂x_2
See also
- step()[source]#
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
>>> from sage.all import * >>> # needs sage.combinat sage.modules >>> L = LieAlgebra(QQ, {('X','Y'): {'Z': Integer(1)}}, nilpotent=True) >>> L.step() 2 >>> sc = {('X','Y'): {'Z': Integer(1)}, ('X','Z'): {'W': Integer(1)}} >>> LieAlgebra(QQ, sc, nilpotent=True).step() 3