Lie Conformal Algebra#
Let \(R\) be a commutative ring, a super Lie conformal algebra [Kac1997] over \(R\) (also known as a vertex Lie algebra) is an \(R[T]\) super module \(L\) together with a \(\mathbb{Z}/2\mathbb{Z}\)-graded \(R\)-bilinear operation (called the \(\lambda\)-bracket) \(L\otimes L \rightarrow L[\lambda]\) (polynomials in \(\lambda\) with coefficients in \(L\)), \(a \otimes b \mapsto [a_\lambda b]\) satisfying
Sesquilinearity:
\[[Ta_\lambda b] = - \lambda [a_\lambda b], \qquad [a_\lambda Tb] = (\lambda+ T) [a_\lambda b].\]Skew-Symmetry:
\[[a_\lambda b] = - (-1)^{p(a)p(b)} [b_{-\lambda - T} a],\]where \(p(a)\) is \(0\) if \(a\) is even and \(1\) if \(a\) is odd. The bracket in the RHS is computed as follows. First we evaluate \([b_\mu a]\) with the formal parameter \(\mu\) to the left, then replace each appearance of the formal variable \(\mu\) by \(-\lambda - T\). Finally apply \(T\) to the coefficients in \(L\).
Jacobi identity:
\[[a_\lambda [b_\mu c]] = [ [a_{\lambda + \mu} b]_\mu c] + (-1)^{p(a)p(b)} [b_\mu [a_\lambda c ]],\]which is understood as an equality in \(L[\lambda,\mu]\).
\(T\) is usually called the translation operation or the derivative. For an element \(a \in L\) we will say that \(Ta\) is the derivative of \(a\). We define the n-th products \(a_{(n)} b\) for \(a,b \in L\) by
\[[a_\lambda b] = \sum_{n \geq 0} \frac{\lambda^n}{n!} a_{(n)} b.\]A Lie conformal algebra is called H-Graded [DSK2006] if there exists a decomposition \(L = \oplus L_n\) such that the \(\lambda\)-bracket becomes graded of degree \(-1\), that is:
\[a_{(n)} b \in L_{p + q -n -1} \qquad a \in L_p, \: b \in L_q, \: n \geq 0.\]In particular this implies that the action of \(T\) increases degree by \(1\).
Note
In the literature arbitrary gradings are allowed. In this implementation we only support non-negative rational gradings.
EXAMPLES:
The Virasoro Lie conformal algebra \(Vir\) over a ring \(R\) where \(12\) is invertible has two generators \(L, C\) as an \(R[T]\)-module. It is the direct sum of a free module of rank \(1\) generated by \(L\), and a free rank one \(R\) module generated by \(C\) satisfying \(TC = 0\). \(C\) is central (the \(\lambda\)-bracket of \(C\) with any other vector vanishes). The remaining \(\lambda\)-bracket is given by
\[[L_\lambda L] = T L + 2 \lambda L + \frac{\lambda^3}{12} C.\]The affine or current Lie conformal algebra \(L(\mathfrak{g})\) associated to a finite dimensional Lie algebra \(\mathfrak{g}\) with non-degenerate, invariant \(R\)-bilinear form \((,)\) is given as a central extension of the free \(R[T]\) module generated by \(\mathfrak{g}\) by a central element \(K\). The \(\lambda\)-bracket of generators is given by
\[[a_\lambda b] = [a,b] + \lambda (a,b) K, \qquad a,b \in \mathfrak{g}\]The Weyl Lie conformal algebra, or \(\beta-\gamma\) system is given as the central extension of a free \(R[T]\) module with two generators \(\beta\) and \(\gamma\), by a central element \(K\). The only non-trivial brackets among generators are
\[[\beta_\lambda \gamma] = - [\gamma_\lambda \beta] = K\]The Neveu-Schwarz super Lie conformal algebra is a super Lie conformal algebra which is an extension of the Virasoro Lie conformal algebra. It consists of a Virasoro generator \(L\) as in example 1 above and an odd generator \(G\). The remaining brackets are given by:
\[[L_\lambda G] = \left( T + \frac{3}{2} \lambda \right) G \qquad [G_\lambda G] = 2 L + \frac{\lambda^2}{3} C\]
The base class for all Lie conformal algebras is
LieConformalAlgebra
.
All subclasses are called through its method __classcall_private__
.
This class provides no functionality besides calling the appropriate
constructor.
We provide some convenience classes to define named Lie conformal
algebras. See
sage.algebras.lie_conformal_algebras.examples
.
EXAMPLES:
We construct the Virasoro Lie conformal algebra, its universal enveloping vertex algebra and lift some elements:
sage: Vir = lie_conformal_algebras.Virasoro(QQ) sage: Vir.inject_variables() Defining L, C sage: L.bracket(L) {0: TL, 1: 2*L, 3: 1/2*C}
We construct the Current algebra for \(\mathfrak{sl}_2\):
sage: R = lie_conformal_algebras.Affine(QQ, 'A1', names = ('e', 'h', 'f')) sage: R.gens() (e, h, f, K) sage: R.inject_variables() Defining e, h, f, K sage: e.bracket(f.T()) {0: Th, 1: h, 2: 2*K} sage: e.T(3) 6*T^(3)e
We construct the \(\beta-\gamma\) system by directly giving the \(\lambda\)-brackets of the generators:
sage: betagamma_dict = {('b','a'):{0:{('K',0):1}}} sage: V = LieConformalAlgebra(QQ, betagamma_dict, names=('a','b'), weights=(1,0), central_elements=('K',)) sage: V.category() Category of H-graded finitely generated Lie conformal algebras with basis over Rational Field sage: V.inject_variables() Defining a, b, K sage: a.bracket(b) {0: -K}
AUTHORS:
Reimundo Heluani (2019-08-09): Initial implementation.
- class sage.algebras.lie_conformal_algebras.lie_conformal_algebra.LieConformalAlgebra#
Bases:
UniqueRepresentation
,Parent
Lie Conformal Algebras base class and factory.
INPUT:
R
– a commutative ring (default:None
); the base ring of this Lie conformal algebra. Behaviour is undefined if it is not a field of characteristic zero.arg0
– a dictionary (default:None
); a dictionary containing the \(\lambda\) brackets of the generators of this Lie conformal algebra. The keys of this dictionary are pairs of either names or indices of the generators and the values are themselves dictionaries. For a pair of generators'a'
and'b'
, the value ofarg0[('a','b')]
is a dictionary whose keys are positive integer numbers and the corresponding value for the keyj
is a dictionary itself representing the j-th product \(a_{(j)}b\). Thus, for a positive integer number \(j\), the value ofarg0[('a','b')][j]
is a dictionary whose entries are pairs('c',n)
where'c'
is the name of a generator andn
is a positive number. The value for this key is the coefficient of \(\frac{T^{n}}{n!} c\) in \(a_{(j)}b\). For example thearg0
for the Virasoro Lie conformal algebra is:{('L','L'):{0:{('L',1):1}, 1:{('L',0):2}, 3:{('C',0):1/2}}}
Do not include central elements as keys in this dictionary. Also, if the key
('a','b')
is present, there is no need to include('b','a')
as it is defined by skew-symmetry. Any missing pair (besides the ones defined by skew-symmetry) is assumed to have vanishing \(\lambda\)-bracket.names
– tuple ofstr
(default:None
); the list of names for generators of this Lie conformal algebra. Do not include central elements in this list.central_elements
– tuple ofstr
(default:None
); A list of names for central elements of this Lie conformal algebra.index_set
– enumerated set (default:None
); an indexing set for the generators of this Lie conformal algebra. Do not include central elements in this list.weights
– tuple of non-negative rational numbers (default:None
); a list of degrees for this Lie conformal algebra. The returned Lie conformal algebra is H-Graded. This tuple needs to have the same cardinality asindex_set
ornames
. Central elements are assumed to have weight \(0\).parity
– tuple of \(0\) or \(1\) (default: tuple of \(0\)); if this is a super Lie conformal algebra, this tuple specifies the parity of each of the non-central generators of this Lie conformal algebra. Central elements are assumed to be even. Notice that if this tuple is present, the category of this Lie conformal algebra is set to be a subcategory ofLieConformalAlgebras(R).Super()
, even if all generators are even.category
The category that this Lie conformal algebra belongs to.
In addition we accept the following keywords:
graded
– a boolean (default:False
); ifTrue
, the returned algebra is H-Graded. Ifweights
is not specified, all non-central generators are assigned degree \(1\). This keyword is ignored ifweights
is specifiedsuper
– a boolean (default:False
); ifTrue
, the returned algebra is a super Lie conformal algebra even if all generators are even. Ifparity
is not specified, all generators are assigned even parity. This keyword is ignored ifparity
is specified.
Note
Any remaining keyword is currently passed to
CombinatorialFreeModule
.EXAMPLES:
We construct the \(\beta-\gamma\) system or Weyl Lie conformal algebra:
sage: betagamma_dict = {('b','a'):{0:{('K',0):1}}} sage: V = LieConformalAlgebra(QQbar, betagamma_dict, names=('a','b'), weights=(1,0), central_elements=('K',)) sage: V.category() Category of H-graded finitely generated Lie conformal algebras with basis over Algebraic Field sage: V.inject_variables() Defining a, b, K sage: a.bracket(b) {0: -K}
We construct the current algebra for \(\mathfrak{sl}_2\):
sage: sl2dict = {('e','f'):{0:{('h',0):1}, 1:{('K',0):1}}, ('e','h'):{0:{('e',0):-2}}, ('f','h'):{0:{('f',0):2}}, ('h', 'h'):{1:{('K', 0):2}}} sage: V = LieConformalAlgebra(QQ, sl2dict, names=('e', 'h', 'f'), central_elements=('K',), graded=True) sage: V.inject_variables() Defining e, h, f, K sage: e.bracket(f) {0: h, 1: K} sage: h.bracket(e) {0: 2*e} sage: e.bracket(f.T()) {0: Th, 1: h, 2: 2*K} sage: V.category() Category of H-graded finitely generated Lie conformal algebras with basis over Rational Field sage: e.degree() 1
Todo
This class checks that the provided dictionary is consistent with skew-symmetry. It does not check that it is consistent with the Jacobi identity.