Rank Two Heisenberg-Virasoro Algebras#
AUTHORS:
Travis Scrimshaw (2018-08): Initial version
- class sage.algebras.lie_algebras.rank_two_heisenberg_virasoro.RankTwoHeisenbergVirasoro(R)[source]#
Bases:
InfinitelyGeneratedLieAlgebra
,IndexedGenerators
The rank 2 Heisenberg-Virasoro algebra.
The rank 2 Heisenberg-Virasoro (Lie) algebra is the Lie algebra \(L\) spaned by the elements
\[\{t^{\alpha}, E(\alpha) \mid \alpha \in \ZZ^2 \setminus \{(0,0)\} \} \cup \{K_1, K_2, K_3, K_4\},\]which satisfy the relations
\[\begin{split}\begin{aligned} \mbox{ } [t^{\alpha}, t^{\beta}] & = [K_i, L] = 0, \\ [t^{\alpha}, E(\beta)] & = \det\begin{pmatrix} \beta \\ \alpha \end{pmatrix} t^{\alpha+\beta} + \delta_{\alpha,-\beta} (\alpha_1 K_1 + \alpha_2 K_2), \\ [E(\alpha), E(\beta)] & = \det\begin{pmatrix} \beta \\ \alpha \end{pmatrix} E(\alpha+\beta) + \delta_{\alpha,-\beta} (\alpha_1 K_3 + \alpha_2 K_4), \end{aligned}\end{split}\]where \(\alpha = (\alpha_1, \alpha_2)\) and \(\delta_{xy}\) is the Kronecker delta.
EXAMPLES:
sage: L = lie_algebras.RankTwoHeisenbergVirasoro(QQ) sage: K1,K2,K3,K4 = L.K() sage: E2m1 = L.E(2,-1) sage: Em21 = L.E(-2,1) sage: t2m1 = L.t(2,-1) sage: t53 = L.t(5,3) sage: Em21.bracket(t2m1) -2*K1 + K2 sage: t53.bracket(E2m1) 11*t(7, 2) sage: E2m1.bracket(Em21) 2*K3 - K4 sage: E2m1.bracket(t2m1) 0 sage: all(x.bracket(y) == 0 for x in [K1,K2,K3,K4] for y in [E2m1, Em21, t2m1]) True
>>> from sage.all import * >>> L = lie_algebras.RankTwoHeisenbergVirasoro(QQ) >>> K1,K2,K3,K4 = L.K() >>> E2m1 = L.E(Integer(2),-Integer(1)) >>> Em21 = L.E(-Integer(2),Integer(1)) >>> t2m1 = L.t(Integer(2),-Integer(1)) >>> t53 = L.t(Integer(5),Integer(3)) >>> Em21.bracket(t2m1) -2*K1 + K2 >>> t53.bracket(E2m1) 11*t(7, 2) >>> E2m1.bracket(Em21) 2*K3 - K4 >>> E2m1.bracket(t2m1) 0 >>> all(x.bracket(y) == Integer(0) for x in [K1,K2,K3,K4] for y in [E2m1, Em21, t2m1]) True
REFERENCES:
- E(a, b)[source]#
Return the basis element \(E(a,b)\) of
self
.EXAMPLES:
sage: L = lie_algebras.RankTwoHeisenbergVirasoro(QQ) sage: L.E(1,-2) E(1, -2)
>>> from sage.all import * >>> L = lie_algebras.RankTwoHeisenbergVirasoro(QQ) >>> L.E(Integer(1),-Integer(2)) E(1, -2)
- class Element[source]#
Bases:
LieAlgebraElement
- K(i=None)[source]#
Return the basis element \(K_i\) of
self
.EXAMPLES:
sage: L = lie_algebras.RankTwoHeisenbergVirasoro(QQ) sage: L.K(1) K1 sage: list(L.K()) [K1, K2, K3, K4]
>>> from sage.all import * >>> L = lie_algebras.RankTwoHeisenbergVirasoro(QQ) >>> L.K(Integer(1)) K1 >>> list(L.K()) [K1, K2, K3, K4]
- bracket_on_basis(i, j)[source]#
Return the bracket of basis elements indexed by
i
andj
, wherei < j
.EXAMPLES:
sage: L = lie_algebras.RankTwoHeisenbergVirasoro(QQ) sage: v = L._v sage: L.bracket_on_basis(('K',2), ('t', v(3,-1))) 0 sage: L.bracket_on_basis(('K', 4), ('E', v(3,-1))) 0 sage: L.bracket_on_basis(('t', v(3,-1)), ('t', v(4,3))) 0 sage: L.bracket_on_basis(('t', v(3,-1)), ('E', v(4,3))) -13*t(7, 2) sage: L.bracket_on_basis(('t', v(2,2)), ('E', v(1,1))) 0 sage: L.bracket_on_basis(('t', v(3,-1)), ('E', v(-3,1))) 3*K1 - K2 sage: L.bracket_on_basis(('E', v(3,-1)), ('E', v(4,3))) -13*E(7, 2) sage: L.bracket_on_basis(('E', v(2,2)), ('E', v(1,1))) 0 sage: L.bracket_on_basis(('E', v(3,-1)), ('E', v(-3,1))) 3*K3 - K4
>>> from sage.all import * >>> L = lie_algebras.RankTwoHeisenbergVirasoro(QQ) >>> v = L._v >>> L.bracket_on_basis(('K',Integer(2)), ('t', v(Integer(3),-Integer(1)))) 0 >>> L.bracket_on_basis(('K', Integer(4)), ('E', v(Integer(3),-Integer(1)))) 0 >>> L.bracket_on_basis(('t', v(Integer(3),-Integer(1))), ('t', v(Integer(4),Integer(3)))) 0 >>> L.bracket_on_basis(('t', v(Integer(3),-Integer(1))), ('E', v(Integer(4),Integer(3)))) -13*t(7, 2) >>> L.bracket_on_basis(('t', v(Integer(2),Integer(2))), ('E', v(Integer(1),Integer(1)))) 0 >>> L.bracket_on_basis(('t', v(Integer(3),-Integer(1))), ('E', v(-Integer(3),Integer(1)))) 3*K1 - K2 >>> L.bracket_on_basis(('E', v(Integer(3),-Integer(1))), ('E', v(Integer(4),Integer(3)))) -13*E(7, 2) >>> L.bracket_on_basis(('E', v(Integer(2),Integer(2))), ('E', v(Integer(1),Integer(1)))) 0 >>> L.bracket_on_basis(('E', v(Integer(3),-Integer(1))), ('E', v(-Integer(3),Integer(1)))) 3*K3 - K4
- some_elements()[source]#
Return some elements of
self
.EXAMPLES:
sage: L = lie_algebras.RankTwoHeisenbergVirasoro(QQ) sage: L.some_elements() [E(1, 1), E(-2, -2), E(0, 1), t(1, 1), t(4, -1), t(2, 3), K2, K4, K3 - 1/2*t(-1, 3) + E(1, -3) + E(2, 2)]
>>> from sage.all import * >>> L = lie_algebras.RankTwoHeisenbergVirasoro(QQ) >>> L.some_elements() [E(1, 1), E(-2, -2), E(0, 1), t(1, 1), t(4, -1), t(2, 3), K2, K4, K3 - 1/2*t(-1, 3) + E(1, -3) + E(2, 2)]