# homomorphism'(ComplexMap) -- get the element of Hom from a map of complexes

## Synopsis

• Function: homomorphism'
• Usage:
f = homomorphism g
• Inputs:
• g, , from $C$ to $D$
• Outputs:
• f, , a map of the form $f : R^1 \to Hom(C, D)$, where $R$ is the underlying ring of these complexes

## Description

As a first example, consider two Koszul complexes $C$ and $D$. From a random map $f : R^1 \to Hom(C, D)$, we construct the corresponding map of chain complexes $g : C \to D$.

 i1 : R = ZZ/101[a,b,c] o1 = R o1 : PolynomialRing i2 : C = freeResolution ideal"a,b,c" 1 3 3 1 o2 = R <-- R <-- R <-- R 0 1 2 3 o2 : Complex i3 : D = freeResolution ideal"a2,b2,c2" 1 3 3 1 o3 = R <-- R <-- R <-- R 0 1 2 3 o3 : Complex i4 : g = randomComplexMap(D, C, InternalDegree => 2) 1 1 o4 = 0 : R <------------------------------------- R : 0 | 24a2-36ab-29b2-30ac+19bc+19c2 | 3 3 1 : R <-------------------------------------------------- R : 1 {2} | -10a-29b-8c 21a+34b+19c -28a-47b+38c | {2} | -22a-29b-24c -47a-39b-18c 2a+16b+22c | {2} | -38a-16b+39c -13a-43b-15c 45a-34b-48c | 3 3 2 : R <----------------------- R : 2 {4} | -47 -16 -23 | {4} | 47 7 39 | {4} | 19 15 43 | 1 1 3 : R <----- R : 3 0 o4 : ComplexMap i5 : isWellDefined g o5 = true i6 : f = homomorphism' g 20 1 o6 = 0 : R <----------------------------------------- R : 0 {0} | 24a2-36ab-29b2-30ac+19bc+19c2 | {1} | -10a-29b-8c | {1} | -22a-29b-24c | {1} | -38a-16b+39c | {1} | 21a+34b+19c | {1} | -47a-39b-18c | {1} | -13a-43b-15c | {1} | -28a-47b+38c | {1} | 2a+16b+22c | {1} | 45a-34b-48c | {2} | -47 | {2} | 47 | {2} | 19 | {2} | -16 | {2} | 7 | {2} | 15 | {2} | -23 | {2} | 39 | {2} | 43 | {3} | 0 | o6 : ComplexMap i7 : isWellDefined f o7 = true

The map $g : C \to D$ corresponding to a random map into $Hom(C,D)$ does not generally commute with the differentials. However, if the element of $Hom(C,D)$ is a cycle, then the corresponding map does commute.

 i8 : g = randomComplexMap(D, C, Cycle => true, InternalDegree => 3) 1 1 o8 = 0 : R <---------------------------------------------------------------- R : 0 | -17a3-11a2b+36ab2+35b3+48a2c+2abc+11b2c-38ac2+33bc2+40c3 | 3 3 1 : R <------------------------------------------------------------------------------------------------- R : 1 {2} | -17a2-11ab-11b2+48ac+2bc-46c2 -17ab-12b2+48bc-22c2 3b2-17ac-11bc-6c2 | {2} | 47a2+35ab+11ac+28c2 a2+36ab+35b2+2ac+11bc+23c2 -3a2+36ac+35bc+18c2 | {2} | 8a2+33ab-28b2+40ac 22a2-38ab+10b2+40bc -47a2+2ab-7b2-38ac+33bc+40c2 | 3 3 2 : R <------------------------------------------ R : 2 {4} | a-11b+2c -3a-11c -3b-c | {4} | 22a-46b -47a+2b-46c -47b-22c | {4} | -23a+28b -7a+28c 2a-7b+23c | 1 1 3 : R <------------- R : 3 {6} | 2 | o8 : ComplexMap i9 : isWellDefined g o9 = true i10 : f = homomorphism' g 20 1 o10 = 0 : R <-------------------------------------------------------------------- R : 0 {0} | -17a3-11a2b+36ab2+35b3+48a2c+2abc+11b2c-38ac2+33bc2+40c3 | {1} | -17a2-11ab-11b2+48ac+2bc-46c2 | {1} | 47a2+35ab+11ac+28c2 | {1} | 8a2+33ab-28b2+40ac | {1} | -17ab-12b2+48bc-22c2 | {1} | a2+36ab+35b2+2ac+11bc+23c2 | {1} | 22a2-38ab+10b2+40bc | {1} | 3b2-17ac-11bc-6c2 | {1} | -3a2+36ac+35bc+18c2 | {1} | -47a2+2ab-7b2-38ac+33bc+40c2 | {2} | a-11b+2c | {2} | 22a-46b | {2} | -23a+28b | {2} | -3a-11c | {2} | -47a+2b-46c | {2} | -7a+28c | {2} | -3b-c | {2} | -47b-22c | {2} | 2a-7b+23c | {3} | 2 | o10 : ComplexMap i11 : isWellDefined f o11 = true i12 : assert isCommutative g i13 : assert(degree f === 0) i14 : assert(source f == complex(R^{-3})) i15 : assert(target g === D) i16 : assert(homomorphism f == g)