The Poincare-Birkhoff-Witt Basis For A Universal Enveloping Algebra

AUTHORS:

  • Travis Scrimshaw (2013-11-03): Initial version
sage.algebras.lie_algebras.poincare_birkhoff_witt.PoincareBirkhoffWittBasis

The Poincare-Birkhoff-Witt (PBW) basis of the universal enveloping algebra of a Lie algebra.

Consider a Lie algebra \(\mathfrak{g}\) with ordered basis \((b_1,\dots,b_n)\). Then the universal enveloping algebra \(U(\mathfrak{g})\) is generated by \(b_1,\dots,b_n\) and subject to the relations

\[[b_i, b_j] = \sum_{k = 1}^n c_{ij}^k b_k\]

where \(c_{ij}^k\) are the structure coefficients of \(\mathfrak{g}\). The Poincare-Birkhoff-Witt (PBW) basis is given by the monomials \(b_1^{e_1} b_2^{e_2} \cdots b_n^{e_n}\). Specifically, we can rewrite \(b_j b_i = b_i b_j + [b_j, b_i]\) where \(j > i\), and we can repeat this to sort any monomial into

\[b_{i_1} \cdots b_{i_k} = b_1^{e_1} \cdots b_n^{e_n} + LOT\]

where \(LOT\) are lower order terms. Thus the PBW basis is a filtered basis for \(U(\mathfrak{g})\).

EXAMPLES:

We construct the PBW basis of \(\mathfrak{sl}_2\):

sage: L = lie_algebras.three_dimensional_by_rank(QQ, 3, names=['E','F','H'])
sage: PBW = L.pbw_basis()

We then do some computations; in particular, we check that \([E, F] = H\):

sage: E,F,H = PBW.algebra_generators()
sage: E*F
PBW['E']*PBW['F']
sage: F*E
PBW['E']*PBW['F'] - PBW['H']
sage: E*F - F*E
PBW['H']

Next we construct another instance of the PBW basis, but sorted in the reverse order:

sage: def neg_key(x):
....:     return -L.basis().keys().index(x)
sage: PBW2 = L.pbw_basis(prefix='PBW2', basis_key=neg_key)

We then check the multiplication is preserved:

sage: PBW2(E) * PBW2(F)
PBW2['F']*PBW2['E'] + PBW2['H']
sage: PBW2(E*F)
PBW2['F']*PBW2['E'] + PBW2['H']
sage: F * E + H
PBW['E']*PBW['F']

We now construct the PBW basis for Lie algebra of regular vector fields on \(\CC^{\times}\):

sage: L = lie_algebras.regular_vector_fields(QQ)
sage: PBW = L.pbw_basis()
sage: G = PBW.algebra_generators()
sage: G[2] * G[3]
PBW[2]*PBW[3]
sage: G[3] * G[2]
PBW[2]*PBW[3] + PBW[5]
sage: G[-2] * G[3] * G[2]
PBW[-2]*PBW[2]*PBW[3] + PBW[-2]*PBW[5]