Any object of type LieAlgebra is a finitely presented (differential) Lie algebra modulo an ideal, which is an object of type LieIdeal (and which might be zero). If the input Lie algebra $L$ is finitely presented, then the output Lie algebra $Q$ is simply presented as a quotient of $L$ by the input ideal $I$. (Observe that each time L/I is executed, a new different copy of L/I is produced.)
i1 : F = lieAlgebra{a,b,c}
o1 = F
o1 : LieAlgebra
|
i2 : L = F/{a b}
o2 = L
o2 : LieAlgebra
|
i3 : f=map(L,L,{0_L,b,c})
warning: the map might not be well defined,
use isWellDefined
o3 = f
o3 : LieAlgebraMap
|
i4 : I=kernel f o4 = I o4 : LieIdeal |
i5 : Q = L/I o5 = Q o5 : LieAlgebra |
i6 : describe Q
o6 = generators => {a, b, c}
Weights => {{1, 0}, {1, 0}, {1, 0}}
Signs => {0, 0, 0}
ideal => I
ambient => L
diff => {}
Field => QQ
computedDegree => 0
|
i7 : Q===L/I o7 = false |
i8 : Q==L/I o8 = true |
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 $M$ modulo the ideal that is the inverse image of the natural map from $M$ to $L$ applied to the input ideal $I$.
i9 : F = lieAlgebra{a,b,c}
o9 = F
o9 : LieAlgebra
|
i10 : M = F/{a b}
o10 = M
o10 : LieAlgebra
|
i11 : f=map(M,M,{0_M,b,c})
warning: the map might not be well defined,
use isWellDefined
o11 = f
o11 : LieAlgebraMap
|
i12 : J=kernel f o12 = J o12 : LieIdeal |
i13 : L = M/J o13 = L o13 : LieAlgebra |
i14 : X=lieAlgebra{x}
o14 = X
o14 : LieAlgebra
|
i15 : g=map(X,L,{0_X,x,x})
warning: the map might not be well defined,
use isWellDefined
o15 = g
o15 : LieAlgebraMap
|
i16 : I=kernel g o16 = I o16 : LieIdeal |
i17 : Q=L/I o17 = Q o17 : LieAlgebra |
i18 : ambient Q===M o18 = true |
i19 : ideal(Q)===inverse(map(L,M),I) o19 = true |