# map(Complex,Complex,ComplexMap) -- make a new map of chain complexes from an existing one

## Synopsis

• Function: map
• Usage:
g = map(D, C, f)
• Inputs:
• C, ,
• D, ,
• f, , regarded as providing matrices which induce maps between the terms of $C$ and $D$
• Optional inputs:
• Degree => an integer, default value null, the degree $d$ of the resulting map
• DegreeLift => ..., default value null, unused
• DegreeMap => ..., default value null, unused
• Outputs:
• g, ,

## Description

A map of complexes $f : C' \rightarrow D'$ is a sequence of maps $f_i : C'_i \rightarrow D'_{d'+i}$. The new map $g : C \rightarrow D$ is the sequence of maps $g_i : C_i \rightarrow D_{d+i}$ induced by the matrix of $f_i$.

One use for this function is to get the new map of chain complexes obtained by shifting the source or target of an existing chain map. For example, one can regard the differential on a complex can be regarded as a map of degree zero between shifted complexes.

 i1 : R = ZZ/101[a,b,c]; i2 : C = freeResolution coker vars R 1 3 3 1 o2 = R <-- R <-- R <-- R 0 1 2 3 o2 : Complex i3 : f = map(C[-1], C, dd^C, Degree => 0) 1 3 o3 = 1 : R <------------- R : 1 | a b c | 3 3 2 : R <-------------------- R : 2 {1} | -b -c 0 | {1} | a 0 -c | {1} | 0 a b | 3 1 3 : R <-------------- R : 3 {2} | c | {2} | -b | {2} | a | o3 : ComplexMap i4 : assert isWellDefined f i5 : assert(degree f == 0) i6 : assert isCommutative f i7 : assert isComplexMorphism f i8 : assert not isComplexMorphism dd^C