Examples of Lie Algebras#
There are the following examples of Lie algebras:
A rather comprehensive family of 3-dimensional Lie algebras
The Lie algebra of affine transformations of the line
All abelian Lie algebras on free modules
The Lie algebra of upper triangular matrices
The Lie algebra of strictly upper triangular matrices
The symplectic derivation Lie algebra
The rank two Heisenberg Virasoro algebra
See also
sage.algebras.lie_algebras.virasoro.LieAlgebraRegularVectorFields
and
sage.algebras.lie_algebras.virasoro.VirasoroAlgebra
for
other examples.
AUTHORS:
Travis Scrimshaw (07-15-2013): Initial implementation
- sage.algebras.lie_algebras.examples.Heisenberg(R, n, representation='structure')#
Return the rank
n
Heisenberg algebra in the given representation.INPUT:
R
– the base ringn
– the rank (a nonnegative integer or infinity)representation
– (default: “structure”) can be one of the following:"structure"
– using structure coefficients"matrix"
– using matrices
EXAMPLES:
sage: lie_algebras.Heisenberg(QQ, 3) Heisenberg algebra of rank 3 over Rational Field
- sage.algebras.lie_algebras.examples.abelian(R, names=None, index_set=None)#
Return the abelian Lie algebra generated by
names
.EXAMPLES:
sage: lie_algebras.abelian(QQ, 'x, y, z') Abelian Lie algebra on 3 generators (x, y, z) over Rational Field
- sage.algebras.lie_algebras.examples.affine_transformations_line(R, names=['X', 'Y'], representation='bracket')#
The Lie algebra of affine transformations of the line.
EXAMPLES:
sage: L = lie_algebras.affine_transformations_line(QQ) sage: L.structure_coefficients() Finite family {('X', 'Y'): Y} sage: X, Y = L.lie_algebra_generators() sage: L[X, Y] == Y True sage: TestSuite(L).run() sage: L = lie_algebras.affine_transformations_line(QQ, representation="matrix") sage: X, Y = L.lie_algebra_generators() sage: L[X, Y] == Y True sage: TestSuite(L).run()
- sage.algebras.lie_algebras.examples.cross_product(R, names=['X', 'Y', 'Z'])#
The Lie algebra of
defined by the usual cross product .EXAMPLES:
sage: L = lie_algebras.cross_product(QQ) sage: L.structure_coefficients() Finite family {('X', 'Y'): Z, ('X', 'Z'): -Y, ('Y', 'Z'): X} sage: TestSuite(L).run()
- sage.algebras.lie_algebras.examples.pwitt(R, p)#
Return the
-Witt Lie algebra over .INPUT:
R
– the base ringp
– a positive integer that is inR
EXAMPLES:
sage: lie_algebras.pwitt(GF(5), 5) The 5-Witt Lie algebra over Finite Field of size 5
- sage.algebras.lie_algebras.examples.regular_vector_fields(R)#
Return the Lie algebra of regular vector fields on
.This is also known as the Witt (Lie) algebra.
See also
EXAMPLES:
sage: lie_algebras.regular_vector_fields(QQ) The Lie algebra of regular vector fields over Rational Field
- sage.algebras.lie_algebras.examples.sl(R, n, representation='bracket')#
The Lie algebra
.The Lie algebra
is the type Lie algebra and is finite dimensional. As a matrix Lie algebra, it is given by the set of all matrices with trace 0.INPUT:
R
– the base ringn
– the size of the matrixrepresentation
– (default:'bracket'
) can be one of the following:'bracket'
- use brackets and the Chevalley basis'matrix'
- use matrices
EXAMPLES:
We first construct
using the Chevalley basis:sage: sl2 = lie_algebras.sl(QQ, 2); sl2 Lie algebra of ['A', 1] in the Chevalley basis sage: E,F,H = sl2.gens() sage: E.bracket(F) == H True sage: H.bracket(E) == 2*E True sage: H.bracket(F) == -2*F True
We now construct
as a matrix Lie algebra:sage: sl2 = lie_algebras.sl(QQ, 2, representation='matrix') sage: E,F,H = sl2.gens() sage: E.bracket(F) == H True sage: H.bracket(E) == 2*E True sage: H.bracket(F) == -2*F True
- sage.algebras.lie_algebras.examples.so(R, n, representation='bracket')#
The Lie algebra
.The Lie algebra
is the type Lie algebra if or the type Lie algebra if , and in either case is finite dimensional. As a matrix Lie algebra, it is given by the set of all real anti-symmetric matrices.INPUT:
R
– the base ringn
– the size of the matrixrepresentation
– (default:'bracket'
) can be one of the following:'bracket'
- use brackets and the Chevalley basis'matrix'
- use matrices
EXAMPLES:
We first construct
using the Chevalley basis:sage: so5 = lie_algebras.so(QQ, 5); so5 Lie algebra of ['B', 2] in the Chevalley basis sage: E1,E2, F1,F2, H1,H2 = so5.gens() sage: so5([E1, [E1, E2]]) 0 sage: X = so5([E2, [E2, E1]]); X -2*E[alpha[1] + 2*alpha[2]] sage: H1.bracket(X) 0 sage: H2.bracket(X) -4*E[alpha[1] + 2*alpha[2]] sage: so5([H1, [E1, E2]]) -E[alpha[1] + alpha[2]] sage: so5([H2, [E1, E2]]) 0
We do the same construction of
using the Chevalley basis:sage: so4 = lie_algebras.so(QQ, 4); so4 Lie algebra of ['D', 2] in the Chevalley basis sage: E1,E2, F1,F2, H1,H2 = so4.gens() sage: H1.bracket(E1) 2*E[alpha[1]] sage: H2.bracket(E1) == so4.zero() True sage: E1.bracket(E2) == so4.zero() True
We now construct
as a matrix Lie algebra:sage: sl2 = lie_algebras.sl(QQ, 2, representation='matrix') sage: E1,E2, F1,F2, H1,H2 = so4.gens() sage: H2.bracket(E1) == so4.zero() True sage: E1.bracket(E2) == so4.zero() True
- sage.algebras.lie_algebras.examples.sp(R, n, representation='bracket')#
The Lie algebra
.The Lie algebra
where is the type Lie algebra and is finite dimensional. As a matrix Lie algebra, it is given by the set of all matrices that satisfy the equation:where
This is the Lie algebra of type
.INPUT:
R
– the base ringn
– the size of the matrixrepresentation
– (default:'bracket'
) can be one of the following:'bracket'
- use brackets and the Chevalley basis'matrix'
- use matrices
EXAMPLES:
We first construct
using the Chevalley basis:sage: sp4 = lie_algebras.sp(QQ, 4); sp4 Lie algebra of ['C', 2] in the Chevalley basis sage: E1,E2, F1,F2, H1,H2 = sp4.gens() sage: sp4([E2, [E2, E1]]) 0 sage: X = sp4([E1, [E1, E2]]); X 2*E[2*alpha[1] + alpha[2]] sage: H1.bracket(X) 4*E[2*alpha[1] + alpha[2]] sage: H2.bracket(X) 0 sage: sp4([H1, [E1, E2]]) 0 sage: sp4([H2, [E1, E2]]) -E[alpha[1] + alpha[2]]
We now construct
as a matrix Lie algebra:sage: sp4 = lie_algebras.sp(QQ, 4, representation='matrix'); sp4 Symplectic Lie algebra of rank 4 over Rational Field sage: E1,E2, F1,F2, H1,H2 = sp4.gens() sage: H1.bracket(E1) [ 0 2 0 0] [ 0 0 0 0] [ 0 0 0 0] [ 0 0 -2 0] sage: sp4([E1, [E1, E2]]) [0 0 2 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]
- sage.algebras.lie_algebras.examples.strictly_upper_triangular_matrices(R, n)#
Return the Lie algebra
of strictly upper triangular matrices.Todo
This implementation does not know it is finite-dimensional and does not know its basis.
EXAMPLES:
sage: L = lie_algebras.strictly_upper_triangular_matrices(QQ, 4); L Lie algebra of 4-dimensional strictly upper triangular matrices over Rational Field sage: TestSuite(L).run() sage: n0, n1, n2 = L.lie_algebra_generators() sage: L[n2, n1] [ 0 0 0 0] [ 0 0 0 -1] [ 0 0 0 0] [ 0 0 0 0]
- sage.algebras.lie_algebras.examples.su(R, n, representation='matrix')#
The Lie algebra
.The Lie algebra
is the compact real form of the type Lie algebra and is finite-dimensional. As a matrix Lie algebra, it is given by the set of all skew-Hermitian matrices with trace 0.INPUT:
R
– the base ringn
– the size of the matrixrepresentation
– (default:'matrix'
) can be one of the following:'bracket'
- use brackets and the Chevalley basis'matrix'
- use matrices
EXAMPLES:
We construct
, where the default is as a matrix Lie algebra:sage: su2 = lie_algebras.su(QQ, 2) sage: E,H,F = su2.basis() sage: E.bracket(F) == 2*H True sage: H.bracket(E) == 2*F True sage: H.bracket(F) == -2*E True
Since
is the same as the type Lie algebra, the bracket is the same assl()
:sage: su2 = lie_algebras.su(QQ, 2, representation='bracket') sage: su2 is lie_algebras.sl(QQ, 2, representation='bracket') True
- sage.algebras.lie_algebras.examples.three_dimensional(R, a, b, c, d, names=['X', 'Y', 'Z'])#
The 3-dimensional Lie algebra over a given commutative ring
with basis subject to the relations:where
.This is always a well-defined 3-dimensional Lie algebra, as can be easily proven by computation.
EXAMPLES:
sage: L = lie_algebras.three_dimensional(QQ, 4, 1, -1, 2) sage: L.structure_coefficients() Finite family {('X', 'Y'): 2*Y + 4*Z, ('X', 'Z'): Y - 2*Z, ('Y', 'Z'): X} sage: TestSuite(L).run() sage: L = lie_algebras.three_dimensional(QQ, 1, 0, 0, 0) sage: L.structure_coefficients() Finite family {('X', 'Y'): Z} sage: L = lie_algebras.three_dimensional(QQ, 0, 0, -1, -1) sage: L.structure_coefficients() Finite family {('X', 'Y'): -Y, ('X', 'Z'): Y + Z} sage: L = lie_algebras.three_dimensional(QQ, 0, 1, 0, 0) sage: L.structure_coefficients() Finite family {('Y', 'Z'): X} sage: lie_algebras.three_dimensional(QQ, 0, 0, 0, 0) Abelian Lie algebra on 3 generators (X, Y, Z) over Rational Field sage: Q.<a,b,c,d> = PolynomialRing(QQ) sage: L = lie_algebras.three_dimensional(Q, a, b, c, d) sage: L.structure_coefficients() Finite family {('X', 'Y'): d*Y + a*Z, ('X', 'Z'): (-c)*Y + (-d)*Z, ('Y', 'Z'): b*X} sage: TestSuite(L).run()
- sage.algebras.lie_algebras.examples.three_dimensional_by_rank(R, n, a=None, names=['X', 'Y', 'Z'])#
Return a 3-dimensional Lie algebra of rank
n
, where .Here, the rank of a Lie algebra
is defined as the dimension of its derived subalgebra . (We are assuming that is a field of characteristic ; otherwise the Lie algebras constructed by this function are still well-defined but no longer might have the correct ranks.) This is not to be confused with the other standard definition of a rank (namely, as the dimension of a Cartan subalgebra, when is semisimple).INPUT:
R
– the base ringn
– the ranka
– the deformation parameter (used for ); this should be a nonzero element of in order for the resulting Lie algebra to actually have the right rank(?)names
– (optional) the generator names
EXAMPLES:
sage: lie_algebras.three_dimensional_by_rank(QQ, 0) Abelian Lie algebra on 3 generators (X, Y, Z) over Rational Field sage: L = lie_algebras.three_dimensional_by_rank(QQ, 1) sage: L.structure_coefficients() Finite family {('Y', 'Z'): X} sage: L = lie_algebras.three_dimensional_by_rank(QQ, 2, 4) sage: L.structure_coefficients() Finite family {('X', 'Y'): Y, ('X', 'Z'): Y + Z} sage: L = lie_algebras.three_dimensional_by_rank(QQ, 2, 0) sage: L.structure_coefficients() Finite family {('X', 'Y'): Y} sage: lie_algebras.three_dimensional_by_rank(QQ, 3) sl2 over Rational Field
- sage.algebras.lie_algebras.examples.upper_triangular_matrices(R, n)#
Return the Lie algebra
of upper triangular matrices.Todo
This implementation does not know it is finite-dimensional and does not know its basis.
EXAMPLES:
sage: L = lie_algebras.upper_triangular_matrices(QQ, 4); L Lie algebra of 4-dimensional upper triangular matrices over Rational Field sage: TestSuite(L).run() sage: n0, n1, n2, t0, t1, t2, t3 = L.lie_algebra_generators() sage: L[n2, t2] == -n2 True
- sage.algebras.lie_algebras.examples.witt(R)#
Return the Lie algebra of regular vector fields on
.This is also known as the Witt (Lie) algebra.
See also
EXAMPLES:
sage: lie_algebras.regular_vector_fields(QQ) The Lie algebra of regular vector fields over Rational Field