# Cohomology

## `Dual(G): GrpAb -> GrpAb, Map`

Computes the dual group $G^*$ of $G$ and a map $M$ from $G\times G^* \to {\mathbb{Z}}/m{\mathbb{Z}}$ for $m$ the exponent of $G$ that allows $G^*$ to act on $G$. The group $G$ must be finite.

## `H2_G_QmodZ(G): GrpAb -> GrpAb, Map`

Computes $H := H^2(G, {\mathbb{Q}}/{\mathbb{Z}})$ and a map $f : H \to (G\times G \to {\mathbb{Z}}/m{\mathbb{Z}})$ that will give the cocycles as maps from $G\times G \to {\mathbb{Z}}/m{\mathbb{Z}}$, $m := \#G$.

## `Res_H2_G_QmodZ(U, H2): GrpAb, GrpAb -> GrpAb, Map`

For a subgroup $U$ of $G$ and $H2 = H^2(G, {\mathbb{Q}}/{\mathbb{Z}})$ computes $H^2(U, {\mathbb{Q}}/{\mathbb{Z}})$ in a compatible way together with the restriction map into $H2$.

The abelian group $H2$ must be the result of `H2_G_QmodZ` as this function relies on the attributes stored in there.
