CR_ChainMapFrom Cocycle(R,f,p,n) | Inputs at least n+p terms of a ZG-resolution R, a vector f representing an integer cocycle Rp → Z and positive integers p, n. It outputs a function F(w) which gives the image in Rn, under a chain map of degree -p induced by f, of a word w in Rn+p. The resolution R must have a contracting homotopy.

CR_CocyclesAnd
Coboundaries(R,n)
CR_CocyclesAnd
Coboundaries
(R,n,true)

Inputs an integer n>0 and at least n+1terms of a ZG-resolution R. It returns a record CC with the following components. list [C,B] where:

- CC.cocyclesBasis is a basis for the abelian group of integral cocycles µ : Rn → Z. Such a ZG-homomorphism µ is represented by the integer vector v=[µ(e1), ..., µ(ek)] where ei are the free ZG-generators of Rn.
- Any coboundary ß : Rn → Z is a linear combination of basis cocycles and we denote by (ß) the coefficients in this combination. CC.boundariesCoefficients is a list [(ß1), ..., (ßm)] where the ßi range over a basis for the abelian group of integral coboundaries.

The remaining components are all "fail" unless an optional third input variable is set equal to "true". In that case the remaining components are as follows. The command returns a list [C,B,T,P,Q] where

- CC.torsionCoefficients is a list of the torsion coefficients of Hn(G,Z).
- CC.cocycleToClass(v) is a function that, given a vector v representing a cocycle, returns a vector u representing the corresponding element in Hn(G,Z). ( Let ai be the i-th canonical generator of the d-generator abelian group Hn(G,Z). The cohomology class n1a1 + ... +ndad is represented by the integer vector u=(n1, ..., nd). )
- CC.ClassToCocycle(u) is function that, given a vector u representing an element in Hn(G,Z), returns a vector v representing a corresponding cocycle.

CR_IntegralClassTo
Cocycle(R,u,n)
CR_IntegralClassTo
Cocycle(R,u,n,A)

Inputs an integer n>0, at least n+1 terms of a ZG-resolution R and an integer vector u representing an element in the cohomology group Hn(R,Z)=Hn(G,Z). It returns an integer vector v representing a corresponding cocycle (i.e. ZG-homomorphism Rn → Z).
Let ai be the i-th canonical generator of the d-generator abelian group Hn(G,Z). The cohomology class n1a1 + ... +ndad is represented by the integer vector u=(n1, ..., nd).
Let ei be the i-th generator of the free ZG-module Rn. A ZG-homomorphism µ : Rn → Z is represented by the integer vector v=[µ(e1), ..., µ(ek)] where k is the ZG-rank of Rn.
To save the function from having to calculate the abelian group Hn(G,Z) an optional fourth variable can be used, IntegralClassToCocycle(R,u,n,A) , where A is the output of the command CocyclesAndCoboundaries(R,n) .

CR_IntegralCocycleTo
Class(R,v,n)
CR_IntegralCocycleTo
Class(R,v,n,A)

Inputs an integer n>0, at least n+1 terms of a ZG-resolution R and an integer vector v representing a cocycle (i.e. ZG-homomorphism Rn → Z). It returns an integer vector u representing the corresponding cohomology class in Hn(R,Z)=Hn(G,Z).
To save the function from having to calculate the abelian group Hn(G,Z) an optional fourth variable can be used, IntegralCocycleToClass(R,v,n,A) , where A is the output of the command CocyclesAndCoboundaries(R,n) .

CR_IntegralCycleTo Class(R,n)(v) | Inputs a ZG-resolution R and an integer n. It returns a function f(v) which gives the homology class of a cycle v.