Free Lie Algebras¶
AUTHORS:
- Travis Scrimshaw (2013-05-03): Initial version
REFERENCES:
-
sage.algebras.lie_algebras.free_lie_algebra.
FreeLieAlgebra
¶ The free Lie algebra of a set \(X\).
The free Lie algebra \(\mathfrak{g}_X\) of a set \(X\) is the Lie algebra with generators \(\{g_x\}_{x \in X}\) where there are no other relations beyond the defining relations. This can be constructed as the free magmatic algebra \(M_X\) quotiented by the ideal generated by \(\bigl( xx, xy + yx, x(yz) + y(zx) + z(xy) \bigr)\).
EXAMPLES:
We first construct the free Lie algebra in the Hall basis:
sage: L = LieAlgebra(QQ, 'x,y,z') sage: H = L.Hall() sage: x,y,z = H.gens() sage: h_elt = H([x, [y, z]]) + H([x - H([y, x]), H([x, z])]); h_elt [x, [x, z]] + [y, [x, z]] - [z, [x, y]] + [[x, y], [x, z]]
We can also use the Lyndon basis and go between the two:
sage: Lyn = L.Lyndon() sage: l_elt = Lyn([x, [y, z]]) + Lyn([x - Lyn([y, x]), Lyn([x, z])]); l_elt [x, [x, z]] + [[x, y], [x, z]] + [x, [y, z]] sage: Lyn(h_elt) == l_elt True sage: H(l_elt) == h_elt True
-
sage.algebras.lie_algebras.free_lie_algebra.
FreeLieAlgebraBases
¶ The category of bases of a free Lie algebra.
-
sage.algebras.lie_algebras.free_lie_algebra.
FreeLieBasis_abstract
¶ Abstract base class for all bases of a free Lie algebra.
-
sage.algebras.lie_algebras.free_lie_algebra.
is_lyndon
(w)¶ Modified form of
Word(w).is_lyndon()
which uses the default order (this will either be the natural integer order or lex order) and assumes the inputw
behaves like a nonempty list. This function here is designed for speed.EXAMPLES:
sage: from sage.algebras.lie_algebras.free_lie_algebra import is_lyndon sage: is_lyndon([1]) True sage: is_lyndon([1,3,1]) False sage: is_lyndon((2,2,3)) True sage: all(is_lyndon(x) for x in LyndonWords(3, 5)) True sage: all(is_lyndon(x) for x in LyndonWords(6, 4)) True