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 g over R, the affine Lie algebra ˆg′ associated to g is defined as
ˆg′=(g⊗R[t,t−1])⊕Rc,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⊗tm+λc,y⊗tn+μc]=[x,y]⊗tm+n+mδm,−n(x|y)c,where (x|y) is the Killing form on g.
There is a canonical derivation d on ˆg′ that is defined by
d(x⊗tm+λc)=a⊗mtm,or equivalently by d=tddt.
The affine Kac-Moody algebra ˆg is formed by adjoining the derivation d such that
ˆg=(g⊗R[t,t−1])⊕Rc⊕Rd.Specifically, the bracket on ˆg is defined as
[tm⊗x⊕λc⊕μd,tn⊗y⊕λ1c⊕μ1d]=(tm+n[x,y]+μntn⊗y−μ1mtm⊗x)⊕mδ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 toFalse
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(1)2 from the classical Lie algebra of type G2:
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(1)2. In this case, there is no canonical derivation, so the generator d is 0:
sage: D = A.derived_subalgebra() sage: D.d() 0
REFERENCES:
- 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
asself
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
asself
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