The most common situation for a Lie algebra L (in this package) is that it is finitely presented, i.e., $L$ is given by a finite number of generators, yielding a free Lie algebra $F$, modulo a finite list of homogeneous elements in $F$. The ambient Lie algebra of $L$, see ambient(LieAlgebra), is equal to $F$.
|
|
|
|
|
There is also the possibility to build quotients by Lie ideals. A Lie ideal is of type LieIdeal, and may be constructed in different ways, e.g., as the kernel of a homomorphism. In general, Lie ideals are not finitely generated (or not known to be, as $J$ below), but a finitely generated Lie ideal may be formed using the constructor lieIdeal. Building a quotient by a finitely generated ideal is the same as above, taking the Lie algebra modulo the generators of the ideal.
|
|
|
|
|
The Lie algebra $L3$ below is a quotient of the finitely presented Lie algebra $M$ by the ideal $J$, which is not known to be finitely generated. The ambient Lie algebra of $L3$ is $M$ and ideal(L3) is $J$. The Lie algebras $L2$ and $L3$ are isomorphic, but are presented in different ways.
|
|
|
|
|
|
If two quotients by Lie ideals are performed successively, then the program converts the final result to a quotient of the first Lie algebra by a single ideal. In the example below, $L5=(M/J)/K$ and this is transformed to $M/P$, where $P$ is the inverse image of $K$ under the natural map $M \ \to\ M/J$.
|
|
|
|
|
|
If a quotient by a Lie ideal that is not known to be finitely generated is followed by a quotient with finitely many generators, then the programs converts it by changing the order of the operations. In the example below, L6=(M/J)/\{a b\} and this is transformed to (M/\{a b\})/Q, where $Q$ is the image of $J$ under the natural map $M \ \to\ M/\{a b\}$\ (this in fact is an ideal since the map is surjective).
|
|
|
|
|
|
It may also happen that L has a non-zero differential, see differentialLieAlgebra. The differential is given as the list diff(L) of elements in $F$ that consists of the values of the differential on the generators of $F$, see diff(LieAlgebra). Note that ideal(D) (shown below) has been produced by the program to get the square of the differential to be zero. The extra - (b b a) in ideal(L) below is added by the program to ensure that the ideal generated by b c2 is invariant under the differential.
|
|
|
|
|
In addition to the constructor lieIdeal there are also the constructors lieSubAlgebra and lieSubSpace yielding finitely generated Lie subalgebras and finitely generated subspaces respectively.
|
|
|
|
|
Ideals, subalgebras and subspaces are both inputs and possible outputs of several methods. The methods image(LieAlgebraMap,LieSubSpace) and inverse(LieAlgebraMap,LieSubSpace), which are used above, have image and kernel of a Lie algebra map or derivation as special cases. The method quotient(LieIdeal,FGLieSubAlgebra) has annihilator(FGLieSubAlgebra) and center as special cases.
|
|
|
|
|
|
|
|
One may also form the sum, LieSubSpace + LieSubSpace, and intersection, LieSubSpace @ LieSubSpace, of two Lie subspaces (in particular subalgebras or ideals).
|
|
|
|
|
|
|
|
Finally, the methods boundaries and cycles give the subalgebras image(d) and kernel(d) respectively, where $d$ is the differential, while lieHomology gives the homology as a vector space.