GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
<Section><Heading>The <K>PartialContractingHomotopy</K> Data Type</Heading>12A partial contracting homotopy is a component object that knows the values of a3contracting homotopy on some subspace of a resolution.4It has two mandatory components:5<List>6<Item><C>.resolution</C> a <K>HapResolution</K> on which the contraction is7defined.</Item>8<Item><C>.knownPartOfHomotopy</C> a list of <K>Record</K>s with components9<C>.space</C> and <C>.map</C>.</Item>10</List>1112Let <C>h</C> be a contracting homotopy. The lookup table13<C>.knownPartOfHomotopy</C> has one entry for each term of the resolution14<C>h.resolution</C> (that is, one more than <C>Length(h.resolution)</C>).15<P/>16The <M>i</M> th element of <C>.knownPartOfHomotopy</C> contains a record with17components <C>.space</C> and <C>.map</C> where <C>.space</C> is a18<K>FreeZGWord</K> of the <M>i-1</M> st term of the resolution.1920The component <C>.map</C> is a list of length21<C>Dimension(h.resolution)(i-1)</C>. The entries of this list are pairs22<C>[g,im]</C> where <C>g</C> represents a group element and <C>im</C>23represents the image of the contraction. So the entry <C>[g,im]</C> in the24<C>k</C>th component of the list <C>.map</C> means that the <C>k</C>th free25generator of the corresponding module multiplied with the group element26represented by <C>g</C> is mapped to <C>im</C> under the partial contracting27homotopy. Note that the data type of <C>g</C> or <C>im</C> are not fixed at28this level. They must be specified by the sub representations. Also, <C>im</C>29need not represent the actual image under a contracting homotopy. It is30possible to just store a bit of information that is then used to generate the31actual image.32<P/>3334As this is a very general data type, it has very few methods.3536<ManSection>37<Meth Name="ResolutionOfContractingHomotopy" Arg="homotopy"/>38<Returns>A <K>HapResolution</K></Returns>39<Description>40This returns the resolution of the homotopy <A>homotopy</A> (the component41<A>homotopy!.resolution</A>).42</Description>43</ManSection>444546<ManSection>47<Meth Name="PartialContractingHomotopyLookup" Arg="homotopy term generator groupel"/>48<Meth Name="PartialContractingHomotopyLookupNC" Arg="homotopy term generator groupel"/>49<Returns>The entry <C>im</C> of the corresponding lookup table</Returns>50<Description>51Looks up the known part of the contracting homotopy <A>homotopy</A> and52returns the corresponding image. More precisely, it returns the image of the53<A>generator</A>th generator times the group element represented by54<A>groupel</A> in term <A>term</A> under the partial homotopy. The data55type of this image depends on the representation of <A>homotopy</A>.56<P/>57<A>term</A> has to be an integer and <A>generator</A> a positive58integer. <A>groupel</A> only has to be an <K>Object</K>.59<P/>60The NC version does not do any checks on the input. The other version checks61if <A>term</A> and <A>generator</A> are sensible. It does not check <A>groupel</A>.62</Description>63</ManSection>6465</Section>66676869