Affine Lie Algebras

AUTHORS:

  • Travis Scrimshaw (2013-05-03): Initial version

class sage.algebras.lie_algebras.affine_lie_algebra.AffineLieAlgebra(g, kac_moody)

Bases: sage.algebras.lie_algebras.lie_algebra.FinitelyGeneratedLieAlgebra

An (untwisted) affine Lie algebra.

Let \(R\) be a ring. Given a finite-dimensional simple Lie algebra \(\mathfrak{g}\) over \(R\), the affine Lie algebra \(\widehat{\mathfrak{g}}^{\prime}\) associated to \(\mathfrak{g}\) is defined as

\[\widehat{\mathfrak{g}}' = \bigl( \mathfrak{g} \otimes R[t, t^{-1}] \bigr) \oplus R c,\]

where \(c\) is the canonical central element and \(R[t, t^{-1}]\) is the Laurent polynomial ring over \(R\). The Lie bracket is defined as

\[[x \otimes t^m + \lambda c, y \otimes t^n + \mu c] = [x, y] \otimes t^{m+n} + m \delta_{m,-n} ( x | y ) c,\]

where \(( x | y )\) is the Killing form on \(\mathfrak{g}\).

There is a canonical derivation \(d\) on \(\widehat{\mathfrak{g}}'\) that is defined by

\[d(x \otimes t^m + \lambda c) = a \otimes m t^m,\]

or equivalently by \(d = t \frac{d}{dt}\).

The affine Kac-Moody algebra \(\widehat{\mathfrak{g}}\) is formed by adjoining the derivation \(d\) such that

\[\widehat{\mathfrak{g}} = \bigl( \mathfrak{g} \otimes R[t,t^{-1}] \bigr) \oplus R c \oplus R d.\]

Specifically, the bracket on \(\widehat{\mathfrak{g}}\) is defined as

\[[t^m \otimes x \oplus \lambda c \oplus \mu d, t^n \otimes y \oplus \lambda_1 c \oplus \mu_1 d] = \bigl( t^{m+n} [x,y] + \mu n t^n \otimes y - \mu_1 m t^m \otimes x\bigr) \oplus m \delta_{m,-n} (x|y) c .\]

Note that the derived subalgebra of the Kac-Moody algebra is the affine Lie algebra.

INPUT:

Can be one of the following:

  • a base ring and an affine Cartan type: constructs the affine (Kac-Moody) Lie algebra of the classical Lie algebra in the bracket representation over the base ring

  • a classical Lie algebra: constructs the corresponding affine (Kac-Moody) Lie algebra

There is the optional argument kac_moody, which can be set to False to obtain the affine Lie algebra instead of the affine Kac-Moody algebra.

EXAMPLES:

We begin by constructing an affine Kac-Moody algebra of type \(G_2^{(1)}\) from the classical Lie algebra of type \(G_2\):

sage: g = LieAlgebra(QQ, cartan_type=['G',2])
sage: A = g.affine()
sage: A
Affine Kac-Moody algebra of ['G', 2] in the Chevalley basis

Next, we construct the generators and perform some computations:

sage: A.inject_variables()
Defining e1, e2, f1, f2, h1, h2, e0, f0, c, d
sage: e1.bracket(f1)
(h1)#t^0
sage: e0.bracket(f0)
(-h1 - 2*h2)#t^0 + 8*c
sage: e0.bracket(f1)
0
sage: A[d, f0]
(-E[3*alpha[1] + 2*alpha[2]])#t^-1
sage: A([[e0, e2], [[[e1, e2], [e0, [e1, e2]]], e1]])
(-6*E[-3*alpha[1] - alpha[2]])#t^2
sage: f0.bracket(f1)
0
sage: f0.bracket(f2)
(E[3*alpha[1] + alpha[2]])#t^-1
sage: A[h1+3*h2, A[[[f0, f2], f1], [f1,f2]] + f1] - f1
(2*E[alpha[1]])#t^-1

We can construct its derived subalgebra, the affine Lie algebra of type \(G_2^{(1)}\). In this case, there is no canonical derivation, so the generator \(d\) is \(0\):

sage: D = A.derived_subalgebra()
sage: D.d()
0

REFERENCES:

Element

alias of sage.algebras.lie_algebras.lie_algebra_element.UntwistedAffineLieAlgebraElement

basis()

Return the basis of self.

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['D',4,1])
sage: B = g.basis()
sage: al = RootSystem(['D',4]).root_lattice().simple_roots()
sage: B[al[1]+al[2]+al[4],4]
(E[alpha[1] + alpha[2] + alpha[4]])#t^4
sage: B[-al[1]-2*al[2]-al[3]-al[4],2]
(E[-alpha[1] - 2*alpha[2] - alpha[3] - alpha[4]])#t^2
sage: B[al[4],-2]
(E[alpha[4]])#t^-2
sage: B['c']
c
sage: B['d']
d
c()

Return the canonical central element \(c\) of self.

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['A',3,1])
sage: g.c()
c
cartan_type()

Return the Cartan type of self.

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['C',3,1])
sage: g.cartan_type()
['C', 3, 1]
classical()

Return the classical Lie algebra of self.

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['F',4,1])
sage: g.classical()
Lie algebra of ['F', 4] in the Chevalley basis

sage: so5 = lie_algebras.so(QQ, 5, 'matrix')
sage: A = so5.affine()
sage: A.classical() == so5
True
d()

Return the canonical derivation \(d\) of self.

If self is the affine Lie algebra, then this returns \(0\).

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['A',3,1])
sage: g.d()
d
sage: D = g.derived_subalgebra()
sage: D.d()
0
derived_series()

Return the derived series of self.

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['B',3,1])
sage: g.derived_series()
[Affine Kac-Moody algebra of ['B', 3] in the Chevalley basis,
 Affine Lie algebra of ['B', 3] in the Chevalley basis]
sage: g.lower_central_series()
[Affine Kac-Moody algebra of ['B', 3] in the Chevalley basis,
 Affine Lie algebra of ['B', 3] in the Chevalley basis]

sage: D = g.derived_subalgebra()
sage: D.derived_series()
[Affine Lie algebra of ['B', 3] in the Chevalley basis]
derived_subalgebra()

Return the derived subalgebra of self.

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['B',3,1])
sage: g
Affine Kac-Moody algebra of ['B', 3] in the Chevalley basis
sage: D = g.derived_subalgebra(); D
Affine Lie algebra of ['B', 3] in the Chevalley basis
sage: D.derived_subalgebra() == D
True
is_nilpotent()

Return False as self is semisimple.

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['B',3,1])
sage: g.is_nilpotent()
False
sage: g.is_solvable()
False
is_solvable()

Return False as self is semisimple.

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['B',3,1])
sage: g.is_nilpotent()
False
sage: g.is_solvable()
False
lie_algebra_generators()

Return the Lie algebra generators of self.

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['A',1,1])
sage: list(g.lie_algebra_generators())
[(E[alpha[1]])#t^0,
 (E[-alpha[1]])#t^0,
 (h1)#t^0,
 (E[-alpha[1]])#t^1,
 (E[alpha[1]])#t^-1,
 c,
 d]
lower_central_series()

Return the derived series of self.

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['B',3,1])
sage: g.derived_series()
[Affine Kac-Moody algebra of ['B', 3] in the Chevalley basis,
 Affine Lie algebra of ['B', 3] in the Chevalley basis]
sage: g.lower_central_series()
[Affine Kac-Moody algebra of ['B', 3] in the Chevalley basis,
 Affine Lie algebra of ['B', 3] in the Chevalley basis]

sage: D = g.derived_subalgebra()
sage: D.derived_series()
[Affine Lie algebra of ['B', 3] in the Chevalley basis]
monomial(m)

Construct the monomial indexed by m.

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['B',4,1])
sage: al = RootSystem(['B',4]).root_lattice().simple_roots()
sage: g.monomial((al[1]+al[2]+al[3],4))
(E[alpha[1] + alpha[2] + alpha[3]])#t^4
sage: g.monomial((-al[1]-al[2]-2*al[3]-2*al[4],2))
(E[-alpha[1] - alpha[2] - 2*alpha[3] - 2*alpha[4]])#t^2
sage: g.monomial((al[4],-2))
(E[alpha[4]])#t^-2
sage: g.monomial('c')
c
sage: g.monomial('d')
d
zero()

Return the element \(0\).

EXAMPLES:

sage: g = LieAlgebra(QQ, cartan_type=['F',4,1])
sage: g.zero()
0