# Homomorphisms and derivations

A Lie algebra homomorphism $M \ \to\ L$ is defined using map(LieAlgebra,LieAlgebra,List) by giving the values in $L$ of the generators of $M$. A homomorphism preserves weight and sign, and M#Field must be the same as L#Field.

 i1 : M = lieAlgebra({x,y},Weights => {2,2}) o1 = M o1 : LieAlgebra i2 : L = lieAlgebra({a,b},Signs => 1) o2 = L o2 : LieAlgebra i3 : f1 = map(L,M,{a a,b b}) o3 = f1 o3 : LieAlgebraMap i4 : describe f1 o4 = x => (a a) y => (b b) source => M target => L

Like the situation for ring maps, the meaning of map(L,M) is that a generator in $M$ is sent to the generator in $L$ with the same name, weight and sign if there is such a generator, otherwise it is sent to zero.

 i5 : M = lieAlgebra{a,b,c} o5 = M o5 : LieAlgebra i6 : L = lieAlgebra({a,b,d},Weights => {2,1,1}) o6 = L o6 : LieAlgebra i7 : f2 = map(L,M) o7 = f2 o7 : LieAlgebraMap i8 : describe f2 o8 = a => 0 b => b c => 0 source => M target => L

Another similarity with ring maps is that a map $M \ \to\ L$ need not be well defined, in the sense that that the relations in $M$ need not be sent to zero in $L$. It may also happen that the map does not commute with the differentials in $M$ and $L$. All this can be checked up to a certain degree using isWellDefined(ZZ,LieAlgebraMap). If $M$ is finitely presented, see Quotient Lie algebras and subspaces, then it is possible to get the information that the map is well defined and commutes with the differentials for all degrees, if the first input $n$ in isWellDefined(n,f) is big enough.

 i9 : F=lieAlgebra({a,b},Weights => {{1,0},{2,1}},Signs => 1, LastWeightHomological => true) o9 = F o9 : LieAlgebra i10 : D=differentialLieAlgebra{0_F,a a} o10 = D o10 : LieAlgebra i11 : f=map(D,F) warning: the map might not be well defined, use isWellDefined o11 = f o11 : LieAlgebraMap i12 : isWellDefined(2,f) the map is well defined for all degrees the map does not commute with the differential o12 = false i13 : use F i14 : Q=F/{a a} o14 = Q o14 : LieAlgebra i15 : g=map(Q,D) warning: the map might not be well defined, use isWellDefined o15 = g o15 : LieAlgebraMap i16 : isWellDefined(2,g) the map is well defined for all degrees the map commutes with the differential for all degrees o16 = true

Surjectivity for a Lie algebra map may be tested using isSurjective(LieAlgebraMap). The input map might not be well defined. The method function isIsomorphism(LieAlgebraMap) may be used to test if a Lie algebra map $f: M \ \to\ L$ is an isomorphism. Here $M$ and $L$ must be equal, but not necessarily identical. Also, $M$ must be finitely presented. It is tested that the map is well defined, commutes with the differentials and is surjective. Injectivity follows from this by dimension reasons. See Holonomy Lie algebras and symmetries for applications where the map is a permutation of the variables.

 i17 : isSurjective f o17 = true i18 : use F i19 : Q1=F/{a a} o19 = Q1 o19 : LieAlgebra i20 : Q1===Q o20 = false i21 : Q1==Q o21 = true i22 : h=map(Q1,Q) o22 = h o22 : LieAlgebraMap i23 : isIsomorphism h o23 = true

A derivation $d: M \ \to\ L$ is defined using lieDerivation by giving a Lie algebra map $f: M \ \to\ L$ and a list of elements in $L$ that are the values of $d$ on the generators of $M$. One may use isWellDefined(ZZ,LieDerivation) to test if a derivation is well defined, which means that the relations in $M$ are sent to zero (the derivation need not commute with the differentials).

 i24 : use Q i25 : d=lieDerivation(g,{a b,b b}) o25 = d o25 : LieDerivation i26 : isWellDefined(2,d) the derivation is well defined for all degrees o26 = true i27 : use D i28 : f=map(D,F) warning: the map might not be well defined, use isWellDefined o28 = f o28 : LieAlgebraMap i29 : d=lieDerivation(f,{a b,b b}) warning: the derivation might not be well defined, use isWellDefined o29 = d o29 : LieDerivation i30 : isWellDefined(2,d) the map defining the derivation is not well defined o30 = false

Omitting the first input in lieDerivation gives derivations $d: L \ \to\ L$ with the identity map on $L$ as the defining map.

The following example shows a way to determine the derivations of a Lie algebra studied by David Anick, which may be seen as the positive part of the twisted loop algebra on sl_2. This also explains the periodic behaviour of the Lie algebra.

 i31 : L = lieAlgebra{a,b}/{a a a b,b b b a} o31 = L o31 : LieAlgebra i32 : dims(1,20,L) o32 = {2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1} o32 : List

The space of derivations of degree 0 is 2-dimensional, and contains the Euler derivation, see euler(LieAlgebra), which is the identity in degree 1.

 i33 : deuler = euler L o33 = deuler o33 : LieDerivation i34 : deuler b a b a b a b a o34 = 8 (b a b a b a b a) o34 : L

We will now prove that the space of derivations of degree 6 is 2-dimensional. The space of linear maps from degree 1 to degree 7 is 4-dimensional. Not all of them define derivations.

 i35 : basis(7,L) o35 = {(a b a b a b a), (b b a b a b a)} o35 : List i36 : da61 = lieDerivation{a b a b a b a,0_L} warning: the derivation might not be well defined, use isWellDefined o36 = da61 o36 : LieDerivation i37 : isWellDefined(4,da61) the derivation is well defined for all degrees o37 = true i38 : db61 = lieDerivation{0_L,a b a b a b a} warning: the derivation might not be well defined, use isWellDefined o38 = db61 o38 : LieDerivation i39 : isWellDefined(4,db61) o39 = false i40 : da62 = lieDerivation{b b a b a b a,0_L} warning: the derivation might not be well defined, use isWellDefined o40 = da62 o40 : LieDerivation i41 : isWellDefined(4,da62) o41 = false i42 : db62 = lieDerivation{0_L,b b a b a b a} warning: the derivation might not be well defined, use isWellDefined o42 = db62 o42 : LieDerivation i43 : isWellDefined(4,db62) the derivation is well defined for all degrees o43 = true

The output displayed above shows that da61 and db62 are derivations. To determine whether a linear combination of db61 and da62 is well defined (i.e., maps the relations in $L$ to zero), we consider derivations from the free Lie algebra $M$ on $a,b$ to $L$.

 i44 : M = lieAlgebra{a,b} o44 = M o44 : LieAlgebra i45 : f = map(L,M) o45 = f o45 : LieAlgebraMap i46 : use L i47 : dMb61 = lieDerivation(f,{0_L,a b a b a b a}) o47 = dMb61 o47 : LieDerivation i48 : dMa62 = lieDerivation(f,{b b a b a b a,0_L}) o48 = dMa62 o48 : LieDerivation i49 : use M i50 : dMb61 a a a b o50 = 0 o50 : L i51 : dMa62 a a a b o51 = 2 (b a b a b a b a b a) o51 : L

It follows from the output displayed above that the only linear combination of dMb61 and dMa62 that is zero on (a a a b) is a multiple of dMb61, but we have seen that dMb61 is not a derivation on $L$. Hence, the space of derivations of degree 6 is 2-dimensional. Also, da61 + db62 is the inner derivation corresponding to right multiplication with the basis element of degree 6, (b a b a b a). This is seen by using innerDerivation.

 i52 : use L i53 : da61+db62===innerDerivation(b a b a b a) o53 = true

Since the dimension of the Lie algebra in degree 8 is 1, the dimension of the space of derivations of degree 7 is at most 2.

 i54 : da7=lieDerivation({b a b a b a b a,0_L}) warning: the derivation might not be well defined, use isWellDefined o54 = da7 o54 : LieDerivation i55 : isWellDefined(4,da7) the derivation is well defined for all degrees o55 = true i56 : db7=lieDerivation({0_L,b a b a b a b a}) warning: the derivation might not be well defined, use isWellDefined o56 = db7 o56 : LieDerivation i57 : isWellDefined(4,db7) the derivation is well defined for all degrees o57 = true i58 : da7===innerDerivation(b b a b a b a) o58 = true i59 : db7===innerDerivation(a b a b a b a) o59 = true

It follows from the output displayed above that the space of derivations of degree 7 is also 2-dimensional, but consists only of inner derivations. The conclusion is that the space of derivations of $L$ of positive degree modulo the inner derivations is 1-dimensional in all even degrees, and 0 in all odd degrees. We may also use LieDerivation LieDerivation to examine the structure of this quotient Lie algebra.

 i60 : d2 = lieDerivation({a b a,0_L}) warning: the derivation might not be well defined, use isWellDefined o60 = d2 o60 : LieDerivation i61 : d4 = lieDerivation({a b a b a,0_L}) warning: the derivation might not be well defined, use isWellDefined o61 = d4 o61 : LieDerivation i62 : describe d2 d4 o62 = a => (a b a b a b a) b => 0 map => id_L sign => 0 weight => {6, 0} source => L target => L

Define $dn$ ($n\ \ge\ 2$, $n$ even) as the derivation which maps $a$ to (a b a b ... a) of length $n+1$ and $b$ to 0. It follows from the output displayed above that [ $d2$, $d4$ ] = $d6$.

 i63 : d6 = lieDerivation({a b a b a b a,0_L}) warning: the derivation might not be well defined, use isWellDefined o63 = da61 o63 : LieDerivation i64 : describe d2 d6 o64 = a => 2 (a b a b a b a b a) b => 0 map => id_L sign => 0 weight => {8, 0} source => L target => L i65 : d16 = lieDerivation({a b a b a b a b a b a b a b a b a,0_L}) warning: the derivation might not be well defined, use isWellDefined o65 = d16 o65 : LieDerivation i66 : describe d2 d16 o66 = a => 7 (a b a b a b a b a b a b a b a b a b a) b => 0 map => id_L sign => 0 weight => {18, 0} source => L target => L

It follows from the output displayed above that [ $d2$, $d6$ ] = $2d8$ and [ $d2$, $d16$ ] = $7d18$. In fact, this Lie algebra is the infinite dimensional filiform Lie algebra, which is the Witt algebra in positive degrees (with a degree doubling).