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
|