Description:
This function constructs the first
n terms of a smallish free ZE-resolution F of Z for a group E
using a known ZG-resolution R for a quotient group G=E/N, and a
known free ZN-resolution S. The function inputs:
- a free ZN-resolution S (which must have a
contracting homotopy),
- a free ZG-resolution R (which only requires a
contracting homotopy if F requires one),
- a positive integer n,
- a function EhomG(i) which returns the position in G
of the quotient of the i-th element in E,
- a function GmapE(i) satisfying EhomG(GmapE(i))=i,
- a function NhomE(i) which returns the position in E
of the inclusion of the i-th element in N,
- a function NEhomN(i) satisfying NEhomE(NhomE(i)) =i,
- a (possibly partial) listing EltsE of the elements
of E,
- a function Mult(i,j) representing multiplication in
E (so k=Mult(i,j) means EltsE[i]*EltsE[j]=EltsE[k]),
- a function InvE(i) which returns the position in E
of the inverse of the i-th element of E.
The output is a
list [Dimension,Boundary,Homotopy,Elts] of three functions and a list.
- Dimension(k) gives the ZE-rank of the k-th module in
F.
- Boundary(k,j) gives the boundary of the j-th
free generator of dimension k.
- Homotopy(k,[i,g]) gives the image in F_{k+1} under a
contracting homotopy of the element [[i,g]] in F_k. (This is not yet implemented.)
- Elts is a (possibly partial) list of the elements of
E with Elts[g] the
element represented by integer g in the preceding two functions.
Here i,j,k,g are non-negative integers. The groups N,G,E
could conceivably be infinite. Only finitely many elements in EltsE are
ever used in the construction.
|