Macaulay2 » Documentation
Packages » GradedLieAlgebras :: lieDerivation
next | previous | forward | backward | up | index | toc

lieDerivation -- make a graded derivation


Let $f: M -> L$ be a map of Lie algebras. Let $F$ be a free Lie algebra together with a surjective homomorphism $p: F -> M$. Define $g: F -> L$ as the composition $g=f*p$. A derivation $dF:F -> L$ over $g$ is defined by defining $dF$ on the generators of $F$ and then extending $dF$ to all of $F$ by the derivation rule $dF$ [x, y] = [$dF$ x, $g$ y] ± [$g$ x, $dF$ y], where the sign is plus if sign$(d)=0$ or sign$(x)=0$ and minus otherwise. The output d represents the induced map $M -> L$, which might not be well defined. That the derivation is indeed well defined may be checked (up to a certain degree) using isWellDefined(ZZ,LieDerivation). When no $f$ of class LieAlgebraMap is given as input, the derivation $d$ maps $L$ to $L$ (and $f$ is the identity map). In this case, the set $D$ of elements of class LieDerivation is a graded Lie algebra with Lie multiplication using SPACE. If $L$ has differential $del$, then $D$ is a differential Lie algebra with differential $d -> $[$del$,$d$]. If $e$ is the Euler derivation on $L$, then $d -> $[$e$,$d$] is the Euler derivation on $D$.


  • Usage:
  • Inputs:
    • f, an instance of the type LieAlgebraMap
    • defs, a list, the values of the generators
  • Outputs:
i1 : L=lieAlgebra({x,y},Signs=>1)

o1 = L

o1 : LieAlgebra
i2 : M=lieAlgebra({a,b},Weights=>{2,2})/{b a b}

o2 = M

o2 : LieAlgebra
i3 : f = map(L,M,{x x,0_L})
warning: the map might not be well defined, 
         use isWellDefined

o3 = f

o3 : LieAlgebraMap
i4 : d = lieDerivation(f,{x,y})
warning: the derivation might not be well defined, use isWellDefined

o4 = d

o4 : LieDerivation
i5 : isWellDefined(6,d)
the derivation is well defined for all degrees

o5 = true
i6 : describe d

o6 = a => x
     b => y
     map => f
     sign => 1
     weight => {-1, 0}
     source => M
     target => L
i7 : d a b

o7 =  - (y x x)

o7 : L


  • Usage:
  • Inputs:
    • defs, a list, the values of the generators
  • Outputs:
i8 : L=lieAlgebra({x,y},Signs=>1)

o8 = L

o8 : LieAlgebra
i9 : e = euler L

o9 = e

o9 : LieDerivation
i10 : d1 = lieDerivation{x y,0_L}

o10 = d1

o10 : LieDerivation
i11 : d3 = lieDerivation{x x x y,0_L}

o11 = d3

o11 : LieDerivation
i12 : describe d3

o12 = x =>  - (1/2)(x y x x)
      y => 0
      map => id_L
      sign => 1
      weight => {3, 0}
      source => L
      target => L
i13 : e d1

o13 = d1

o13 : LieDerivation
i14 : e d3

o14 = derivation from L to L

o14 : LieDerivation
i15 : oo===3 d3

o15 = true

See also

Ways to use lieDerivation :

For the programmer

The object lieDerivation is a method function.