Consider first the case where $L$ has zero differential, and where $L$ is finitely presented as a quotient of a free Lie algebra $F$. In this case, the output $Q$ is also finitely presented as a quotient of $F$.
i1 : F = lieAlgebra{a,b,c} o1 = F o1 : LieAlgebra |
i2 : L = F/{a b} o2 = L o2 : LieAlgebra |
i3 : Q = L/{a c} o3 = Q o3 : LieAlgebra |
i4 : describe Q o4 = generators => {a, b, c} Weights => {{1, 0}, {1, 0}, {1, 0}} Signs => {0, 0, 0} ideal => { - (b a), - (c a)} ambient => F diff => {} Field => QQ computedDegree => 0 |
i5 : class\Q#ideal o5 = {F, F} o5 : List |
i6 : F/Q#ideal==Q o6 = true |
In case $L$ has a non-zero differential, the program adds relations depending on the fact that the ideal should be invariant under the differential. These extra (non-normalized) relations may be looked upon using describe(LieAlgebra). Observe that $D$ is not free in this example, see differentialLieAlgebra.
i7 : F = lieAlgebra({a,b,c2,c3},Weights=>{{1,0},{1,0},{2,1},{3,2}}, Signs=>{1,1,1,1},LastWeightHomological=>true) o7 = F o7 : LieAlgebra |
i8 : D = differentialLieAlgebra{0_F,0_F,a a,b c2} o8 = D o8 : LieAlgebra |
i9 : L = D/{a c2} o9 = L o9 : LieAlgebra |
i10 : Q = L/{b c3} o10 = Q o10 : LieAlgebra |
i11 : describe D o11 = generators => {a, b, c2, c3} Weights => {{1, 0}, {1, 0}, {2, 1}, {3, 2}} Signs => {1, 1, 1, 1} ideal => { - (b a a)} ambient => F diff => {0, 0, (a a), (b c2)} Field => QQ computedDegree => 3 |
i12 : describe Q o12 = generators => {a, b, c2, c3} Weights => {{1, 0}, {1, 0}, {2, 1}, {3, 2}} Signs => {1, 1, 1, 1} ideal => { - (b a a), (a c2), - (a a a), (b c3), - (b b c2)} ambient => F diff => {0, 0, (a a), (b c2)} Field => QQ computedDegree => 0 |
i13 : class\ideal(Q) o13 = {F, F, F, F, F} o13 : List |
i14 : class\diff(Q) o14 = {F, F, F, F} o14 : List |
If the input Lie algebra $L$ is given as a finitely presented Lie algebra $M$ modulo an ideal $J$ that is not (known to be) finitely generated (e.g., the kernel of a homomorphism ), then the output Lie algebra $Q$ is presented as a quotient of a finitely presented Lie algebra $N$ by an ideal $I$, where $N$ is given as $M$ modulo a lifting of the input list $x$ to $M$, and $I$ is the image of the natural map from $M$ to $N$ applied to $J$, see image(LieAlgebraMap,LieSubSpace).
i15 : F = lieAlgebra{a,b,c} o15 = F o15 : LieAlgebra |
i16 : M = F/{a b} o16 = M o16 : LieAlgebra |
i17 : f=map(M,M,{0_M,b,c}) warning: the map might not be well defined, use isWellDefined o17 = f o17 : LieAlgebraMap |
i18 : J=kernel f o18 = J o18 : LieIdeal |
i19 : L = M/J o19 = L o19 : LieAlgebra |
i20 : Q=L/{b c} o20 = Q o20 : LieAlgebra |
i21 : N=ambient Q o21 = N o21 : LieAlgebra |
i22 : describe Q o22 = generators => {a, b, c} Weights => {{1, 0}, {1, 0}, {1, 0}} Signs => {0, 0, 0} ideal => ideal of N ambient => N diff => {} Field => QQ computedDegree => 0 |
i23 : use M |
i24 : N==M/{b c} o24 = true |
i25 : ideal(Q)===new LieIdeal from image(map(N,M),J) o25 = true |