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 : S = ZZ/101[a,b];
|
i2 : R = S/(a^3+b^3);
|
i3 : m = ideal vars R
o3 = ideal (a, b)
o3 : Ideal of R
|
i4 : C = tailMF m
2 2 2
o4 = S <-- S <-- S
0 1 0
o4 : ZZdFactorization
|
i5 : D = tailMF (m^2)
3 3 3
o5 = S <-- S <-- S
0 1 0
o5 : ZZdFactorization
|
i6 : H = Hom(C,D)
12 12 12
o6 = S <-- S <-- S
0 1 0
o6 : ZZdFactorization
|
i7 : f = randomFactorizationMap(H, ZZdfactorization( S^{-2}, 2))
12 1
o7 = 0 : S <--------------------------- S : 0
{1} | 24a-36b |
{1} | -30a-29b |
{1} | 19a+19b |
{0} | -10a2-29ab-8b2 |
{0} | -22a2-29ab-24b2 |
{0} | -38a2-16ab+39b2 |
{1} | 21a+34b |
{1} | 19a-47b |
{1} | -39a-18b |
{1} | -13a-43b |
{1} | -15a-28b |
{1} | -47a+38b |
12
1 : S <----- 0 : 1
0
o7 : ZZdFactorizationMap
|
i8 : isWellDefined f
o8 = true
|
i9 : g = homomorphism f
3 2
o9 = 0 : S <------------------------------------ S : 0
{3} | 24a-36b -10a2-29ab-8b2 |
{3} | -30a-29b -22a2-29ab-24b2 |
{3} | 19a+19b -38a2-16ab+39b2 |
3 2
1 : S <----------------------------- S : 1
{5} | 21a+34b -13a-43b |
{5} | 19a-47b -15a-28b |
{5} | -39a-18b -47a+38b |
o9 : ZZdFactorizationMap
|
i10 : isWellDefined g
o10 = true
|
i11 : assert not isCommutative g
|
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.
i12 : f = randomFactorizationMap(H, ZZdfactorization( S^{-2}, 2), Cycle => true)
12 1
o12 = 0 : S <--------------------------- S : 0
{1} | 25a-45b |
{1} | -20a+48b |
{1} | 21a+16b |
{0} | 2a2-18ab-b2 |
{0} | -22a2-43ab-38b2 |
{0} | -34a2-26ab-37b2 |
{1} | 25a+37b |
{1} | 20a-b |
{1} | 21a-38b |
{1} | 2a+16b |
{1} | 22a+45b |
{1} | -34a-48b |
12
1 : S <----- 0 : 1
0
o12 : ZZdFactorizationMap
|
i13 : isWellDefined f
o13 = true
|
i14 : g = homomorphism f
3 2
o14 = 0 : S <------------------------------------ S : 0
{3} | 25a-45b 2a2-18ab-b2 |
{3} | -20a+48b -22a2-43ab-38b2 |
{3} | 21a+16b -34a2-26ab-37b2 |
3 2
1 : S <---------------------------- S : 1
{5} | 25a+37b 2a+16b |
{5} | 20a-b 22a+45b |
{5} | 21a-38b -34a-48b |
o14 : ZZdFactorizationMap
|
i15 : isWellDefined g
o15 = true
|
i16 : assert isCommutative g
|
i17 : assert(degree g === 0)
|
i18 : assert(source g === C)
|
i19 : assert(target g === D)
|
i20 : assert(homomorphism' g == f)
|
i21 : f1 = randomFactorizationMap(H, ZZdfactorization( S^1, 2), Degree => 1)
12 1
o21 = 1 : S <--------------------- S : 0
{3} | 0 |
{3} | 0 |
{3} | 0 |
{2} | 0 |
{2} | 0 |
{2} | 0 |
{-1} | -16a+7b |
{-1} | 15a-23b |
{-1} | 39a+43b |
{-1} | -17a-11b |
{-1} | 48a+36b |
{-1} | 35a+11b |
12
0 : S <----- 0 : 1
0
o21 : ZZdFactorizationMap
|
i22 : f2 = map(target f1, (source f1)[1], i -> f1_(i+1))
12
o22 = 0 : S <----- 0 : 0
0
12 1
1 : S <--------------------- S : 1
{3} | 0 |
{3} | 0 |
{3} | 0 |
{2} | 0 |
{2} | 0 |
{2} | 0 |
{-1} | -16a+7b |
{-1} | 15a-23b |
{-1} | 39a+43b |
{-1} | -17a-11b |
{-1} | 48a+36b |
{-1} | 35a+11b |
o22 : ZZdFactorizationMap
|
i23 : assert isWellDefined f2
|
i24 : g1 = homomorphism f1
3 2
o24 = 1 : S <----- S : 0
0
3 2
0 : S <---------------------------- S : 1
{3} | -16a+7b -17a-11b |
{3} | 15a-23b 48a+36b |
{3} | 39a+43b 35a+11b |
o24 : ZZdFactorizationMap
|
i25 : g2 = homomorphism f2
3 2
o25 = 1 : S <----- S : 0
0
3 2
0 : S <---------------------------- S : 1
{3} | -16a+7b -17a-11b |
{3} | 15a-23b 48a+36b |
{3} | 39a+43b 35a+11b |
o25 : ZZdFactorizationMap
|
i26 : assert(g1 == g2)
|
i27 : assert isWellDefined g1
|
i28 : assert isWellDefined g2
|
i29 : homomorphism' g1 == f1
o29 = true
|
i30 : homomorphism' g2 == f1
o30 = true
|