compute relative Lie algebra cohomology with coefficients in a representation - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Mathematics : DifferentialGeometry : LieAlgebras : DifferentialGeometry/LieAlgebras/Cohomology

LieAlgebras[Cohomology] -  compute  relative Lie algebra cohomology with coefficients in a representation

LieAlgebras[RelativeChains] - find the vector space of forms on a Lie algebra relative to a given subalgebra

LieAlgebras[ CohomologyDecomposition] -  decompose a closed form into the sum of an exact form and a form defining a cohomology class

Calling Sequences




     CohomologyDecomposition(α , H, h)

     CohomologyDecomposition(α ,  H, R)


     h         - a list of vectors in a Lie algebra 𝔤 defining a subalgebra 𝔥 𝔤 

     C         - a list of lists C = Cp1,Cp, Cp+1, ... , Cq+1,  where Ck  is a list of k-forms

     α         - a 𝔥 relative, closed pform on 𝔤

     H         - a list of closed p-forms on 𝔤 defining the basis for the (relative) cohomology of 𝔤 in degree p

     R                 - a list of (p-1)-forms on 𝔤 defining the basis for the relative chains of 𝔤 in degree p1






Let 𝔤 be a n-dimensional (real) Lie algebra. Let 𝔤* be the dual space of 𝔤 (the space of 1-forms on 𝔤). When initializing a Lie algebra with DGsetup, the default labelling is e1, e2, ..., en for the basis vectors and θ1, θ2, ..., θn for the 1-forms. Denote by Λp𝔤* the pforms on 𝔤 : these are the alternating mult-linear maps ω : 𝔤 × 𝔤  × 𝔤  ℝ. Let ρ: 𝔤  glV be a representation of 𝔤 . If x1, x2, ... xm is a basis for V, let ρeixα = Bα iβxβ and denote by Λp𝔤*, V the pforms on 𝔤  with coefficients in V. These are the alternating mult-linear maps ω : 𝔤 × 𝔤  × 𝔤  V. Any form ω  Λpg*, V can be written as

ω = Ai1i2ipα xα θi1 θi2  θip.

The exterior derivative d: Λpg*, VΛp+1g*, V is defined by the rules dθi = 12 Cjki θj θk  and dxα  = Bα iβxβθi. If 𝔥 𝔤 is a subalgebra of 𝔤, then the space of 𝔥relative pforms on 𝔤  with coefficients in V is

Λp𝔤*, 𝔥, V= {ω Λpg*, V |  ιyω =0 and ιydω =0  for all  y  𝔥 } .


A p-form ω Λp𝔤*, 𝔥, Vis closed if dω = 0 and exact if there a p 1-form η Λp1𝔤*, hfr,V such that ω = dη. The 𝔥relative ,p-dimensional Lie algebra cohomology of 𝔤 with coefficients in the representation V is the space of closed p -forms module the exact p-forms, that is,

Hp𝔤, 𝔥, V  = {ω  Λp𝔤*, 𝔥, V | dω = 0}{ω  Λp𝔤*, 𝔥, V|  ω = dη} .

The cohomology Hp𝔤 of 𝔤, the relative Lie algebra cohomology Hp𝔤, 𝔥, and the cohomology Hp𝔤, Vof 𝔤 with coefficients in a represention all play an important role in Lie theory, in the differential geometry and topology of homogeneous spaces and in the Cartan equivalence method. The text by D. B. Fuks (Chapter 1) and the papers by Hochschild and Koszul contain the basic material on Lie Algebra cohomology. Also, see the help pages Deformation, Extensions, KostantCodifferential.


The LieAlgebra package currently contains 3 commands: RelativeChains, Cohomology, and CohomologyDecomposition for finding Lie algebra cohomology. 


The command RelativeChains(h) returns a list C = C1,C2, C3 ... of all relative chains Λp𝔤*, 𝔥 , V.


The command Cohomology(C) computes the cohomology of the sequence of forms C = Cp1,Cp, Cp+1 ,..., Cq+1. This requires that dCi  Ci+1 for all i =p1, p , p +1, ..., q. If  Cp1 is a list of p1 forms on 𝔤, then Cohomology(C) returns a list H= Hp, Hp+1, ... , Hq, where Hk is a basis for the cohomology in Ck.


The command CohomologyDecomposition(alpha, H, h) returns a pair of forms β, δ such that α = β + dδ, where β is a linear combination of the cohomology representatives given by H and where δ is a 𝔥relative form The form β is uniquely determined, the form δ is not. In particular, if the closed form α is exact, then β = 0.


with(DifferentialGeometry): with(LieAlgebras):


Example 1.

First we initialize a Lie algebra.

L1 := _DG([["LieAlgebra", Alg1, [5]], [[[2, 3, 1], 1], [[2, 5, 3], 1], [[4, 5, 4], 1]]]);




Lie algebra: Alg1



For this example we take h to be the trivial subspace. In this case the procedure RelativeChains simply returns a list of bases for the 1-forms on g, the 2-forms on g, the 3-forms on g, and so on.

Alg1 > 

C := RelativeChains([]);




We pass the output of the RelativeChains program to the Cohomology program.

Alg1 > 

H := Cohomology(C);




To read off the dimensions of the cohomology of g, use the nops and map command.

Alg1 > 

map(nops, H);




Example 2.

We continue with Example 1. To find the cohomology of 𝔤 just in degree 3, pass the Cohomology program to just the chains of degree 2 and 3 and 4.

Alg1 > 





Example 3.

We continue with Example 1. Show that the 2-form β  is closed and express β as a linear combination of the cohomology classes in H2 and the exterior derivative of a 1-form.

Alg1 > 

alpha := evalDG(theta4 &w theta5 - theta3 &w theta5 + 3*theta2 &wedge theta5 + 2*theta1 &w theta2);


Alg1 > 



Alg1 > 

beta, delta := CohomologyDecomposition(alpha, H[2]);


Alg1 > 

alpha &minus (beta &plus ExteriorDerivative(delta));




Example 4.

First we initialize a Lie algebra.

Alg1 > 

L2 := _DG([["LieAlgebra", Alg2, [5]], [[[2, 3, 1], 1], [[2, 5, 3], 1], [[4, 5, 4], 1]]]);


Alg1 > 


Lie algebra: Alg2



Define a 2 dimensional subspace h to be the vectors spanned by S..

Alg2 > 

S := [e1, e2];




Compute the relative chains with respect to the subspace h.

Alg2 > 

C := RelativeChains(S);


Alg2 > 

H := Cohomology(C);




Example 5.

In this example we compute the cohomology of a 4-dimensional Lie algebra with coefficients in the adjoint representation. First define and initialize the Lie algebra.

Rep1 > 

L3:= Library:-Retrieve("Winternitz", 1, [4,7], Alg3);


Rep1 > 


Lie algebra: Alg3



Define the representation space V.

Alg3 > 

DGsetup([x1, x2, x3, x4], V);

frame name: V



Define the adjoint representation.

V > 

rho := Representation(Alg3,V, Adjoint(Alg3));