A map of complexes stores its component maps.
i1 : S = ZZ/101[a,b,c]; |
i2 : C = freeResolution coker vars S 1 3 3 1 o2 = S <-- S <-- S <-- S 0 1 2 3 o2 : Complex |
i3 : g1 = id_C 1 1 o3 = 0 : S <--------- S : 0 | 1 | 3 3 1 : S <----------------- S : 1 {1} | 1 0 0 | {1} | 0 1 0 | {1} | 0 0 1 | 3 3 2 : S <----------------- S : 2 {2} | 1 0 0 | {2} | 0 1 0 | {2} | 0 0 1 | 1 1 3 : S <------------- S : 3 {3} | 1 | o3 : ComplexMap |
i4 : g2 = randomComplexMap(C[1], C[2], Boundary => true) 1 o4 = -2 : 0 <----- S : -2 0 1 3 -1 : S <------------------------------------------- S : -1 | -41a+30b+29c -19a+5b+10c 29a+8b+46c | 3 3 0 : S <------------------------------------------------- S : 0 {1} | 19a+7b-24c -29a-16b-26c 5b | {1} | 48a+30b-38c 8a-50c -34a-8b+35c | {1} | 14a-34b 40a-21b+29c -19a+25b+10c | 3 1 1 : S <------------------------ S : 1 {2} | 34a+16b-29c | {2} | 19a-39b-24c | {2} | -47a-21b-38c | o4 : ComplexMap |
i5 : f = g1 ++ g2 1 o5 = -2 : 0 <----- S : -2 0 1 3 -1 : S <------------------------------------------- S : -1 | -41a+30b+29c -19a+5b+10c 29a+8b+46c | 4 4 0 : S <--------------------------------------------------- S : 0 {0} | 1 0 0 0 | {1} | 0 19a+7b-24c -29a-16b-26c 5b | {1} | 0 48a+30b-38c 8a-50c -34a-8b+35c | {1} | 0 14a-34b 40a-21b+29c -19a+25b+10c | 6 4 1 : S <------------------------------ S : 1 {1} | 1 0 0 0 | {1} | 0 1 0 0 | {1} | 0 0 1 0 | {2} | 0 0 0 34a+16b-29c | {2} | 0 0 0 19a-39b-24c | {2} | 0 0 0 -47a-21b-38c | 4 3 2 : S <----------------- S : 2 {2} | 1 0 0 | {2} | 0 1 0 | {2} | 0 0 1 | {3} | 0 0 0 | 1 1 3 : S <------------- S : 3 {3} | 1 | o5 : ComplexMap |
i6 : assert isWellDefined f |
i7 : L = components f 1 1 o7 = {0 : S <--------- S : 0 , | 1 | 3 3 1 : S <----------------- S : 1 {1} | 1 0 0 | {1} | 0 1 0 | {1} | 0 0 1 | 3 3 2 : S <----------------- S : 2 {2} | 1 0 0 | {2} | 0 1 0 | {2} | 0 0 1 | 1 1 3 : S <------------- S : 3 {3} | 1 | ------------------------------------------------------------------------ 1 -2 : 0 <----- S : -2 } 0 1 3 -1 : S <------------------------------------------- S : -1 | -41a+30b+29c -19a+5b+10c 29a+8b+46c | 3 3 0 : S <------------------------------------------------- S : 0 {1} | 19a+7b-24c -29a-16b-26c 5b | {1} | 48a+30b-38c 8a-50c -34a-8b+35c | {1} | 14a-34b 40a-21b+29c -19a+25b+10c | 3 1 1 : S <------------------------ S : 1 {2} | 34a+16b-29c | {2} | 19a-39b-24c | {2} | -47a-21b-38c | o7 : List |
i8 : L_0 === g1 o8 = true |
i9 : L_1 === g2 o9 = true |
i10 : indices f o10 = {0, 1} o10 : List |
i11 : f' = (greg => g1) ++ (mike => g2) 1 o11 = -2 : 0 <----- S : -2 0 1 3 -1 : S <------------------------------------------- S : -1 | -41a+30b+29c -19a+5b+10c 29a+8b+46c | 4 4 0 : S <--------------------------------------------------- S : 0 {0} | 1 0 0 0 | {1} | 0 19a+7b-24c -29a-16b-26c 5b | {1} | 0 48a+30b-38c 8a-50c -34a-8b+35c | {1} | 0 14a-34b 40a-21b+29c -19a+25b+10c | 6 4 1 : S <------------------------------ S : 1 {1} | 1 0 0 0 | {1} | 0 1 0 0 | {1} | 0 0 1 0 | {2} | 0 0 0 34a+16b-29c | {2} | 0 0 0 19a-39b-24c | {2} | 0 0 0 -47a-21b-38c | 4 3 2 : S <----------------- S : 2 {2} | 1 0 0 | {2} | 0 1 0 | {2} | 0 0 1 | {3} | 0 0 0 | 1 1 3 : S <------------- S : 3 {3} | 1 | o11 : ComplexMap |
i12 : components f' 1 1 o12 = {0 : S <--------- S : 0 , | 1 | 3 3 1 : S <----------------- S : 1 {1} | 1 0 0 | {1} | 0 1 0 | {1} | 0 0 1 | 3 3 2 : S <----------------- S : 2 {2} | 1 0 0 | {2} | 0 1 0 | {2} | 0 0 1 | 1 1 3 : S <------------- S : 3 {3} | 1 | ----------------------------------------------------------------------- 1 -2 : 0 <----- S : -2 } 0 1 3 -1 : S <------------------------------------------- S : -1 | -41a+30b+29c -19a+5b+10c 29a+8b+46c | 3 3 0 : S <------------------------------------------------- S : 0 {1} | 19a+7b-24c -29a-16b-26c 5b | {1} | 48a+30b-38c 8a-50c -34a-8b+35c | {1} | 14a-34b 40a-21b+29c -19a+25b+10c | 3 1 1 : S <------------------------ S : 1 {2} | 34a+16b-29c | {2} | 19a-39b-24c | {2} | -47a-21b-38c | o12 : List |
i13 : indices f' o13 = {greg, mike} o13 : List |
The names of the components are called indices, and are used to access the relevant inclusion and projection maps.
i14 : f'_[mike] 1 3 o14 = -1 : S <------------------------------------------- S : -1 | -41a+30b+29c -19a+5b+10c 29a+8b+46c | 4 3 0 : S <------------------------------------------------- S : 0 {0} | 0 0 0 | {1} | 19a+7b-24c -29a-16b-26c 5b | {1} | 48a+30b-38c 8a-50c -34a-8b+35c | {1} | 14a-34b 40a-21b+29c -19a+25b+10c | 6 1 1 : S <------------------------ S : 1 {1} | 0 | {1} | 0 | {1} | 0 | {2} | 34a+16b-29c | {2} | 19a-39b-24c | {2} | -47a-21b-38c | o14 : ComplexMap |
i15 : f'^[greg] 1 4 o15 = 0 : S <--------------- S : 0 | 1 0 0 0 | 3 4 1 : S <------------------- S : 1 {1} | 1 0 0 0 | {1} | 0 1 0 0 | {1} | 0 0 1 0 | 3 3 2 : S <----------------- S : 2 {2} | 1 0 0 | {2} | 0 1 0 | {2} | 0 0 1 | 1 1 3 : S <------------- S : 3 {3} | 1 | o15 : ComplexMap |
i16 : f^[0] 1 4 o16 = 0 : S <--------------- S : 0 | 1 0 0 0 | 3 4 1 : S <------------------- S : 1 {1} | 1 0 0 0 | {1} | 0 1 0 0 | {1} | 0 0 1 0 | 3 3 2 : S <----------------- S : 2 {2} | 1 0 0 | {2} | 0 1 0 | {2} | 0 0 1 | 1 1 3 : S <------------- S : 3 {3} | 1 | o16 : ComplexMap |
i17 : f_[0] 4 1 o17 = 0 : S <------------- S : 0 {0} | 1 | {1} | 0 | {1} | 0 | {1} | 0 | 6 3 1 : S <----------------- S : 1 {1} | 1 0 0 | {1} | 0 1 0 | {1} | 0 0 1 | {2} | 0 0 0 | {2} | 0 0 0 | {2} | 0 0 0 | 4 3 2 : S <----------------- S : 2 {2} | 1 0 0 | {2} | 0 1 0 | {2} | 0 0 1 | {3} | 0 0 0 | 1 1 3 : S <------------- S : 3 {3} | 1 | o17 : ComplexMap |