Let k = -|d| be the total degree and G ⊂Fk the summand spanned by the generators of Fk in degree d, H ⊂Fk-1 the summand spanned by generators of degree d’ with 0 ≤d’-d ≤n. The function returns the corresponding submatrix m: G -> H of the differential.
So the source will be generated in a single degree, and the target will be generated in multiple degrees. The names comes from the fact that when we resolve this map, this map creates the "upper corner" in the corner complex.
i1 : n={1,2}; |
i2 : (S,E) = productOfProjectiveSpaces n o2 = (S, E) o2 : Sequence |
i3 : F=dual res((ker transpose vars E)**E^{{ 2,3}},LengthLimit=>4) 70 35 15 5 1 o3 = E <-- E <-- E <-- E <-- E -4 -3 -2 -1 0 o3 : ChainComplex |
i4 : cohomologyMatrix(F,-{3,3},{4,4}) o4 = | 0 0 0 15 0 0 0 0 | | 0 0 0 10 20 0 0 0 | | 0 0 0 6 12 18 0 0 | | 0 0 0 3 6 9 12 0 | | 0 0 0 1 2 3 4 5 | | 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 | 8 8 o4 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) |
i5 : betti F -4 -3 -2 -1 0 o5 = total: 70 35 15 5 1 0: 70 35 15 5 1 o5 : BettiTally |
i6 : tallyDegrees F o6 = (Tally{{-1, -3} => 20}, Tally{{-1, -2} => 12}, Tally{{-1, -1} => 6}, {-2, -2} => 18 {-2, -1} => 9 {-2, 0} => 3 {-3, -1} => 12 {-3, 0} => 4 {0, -2} => 6 {-4, 0} => 5 {0, -3} => 10 {0, -4} => 15 ------------------------------------------------------------------------ Tally{{-1, 0} => 2}, Tally{{0, 0} => 1}) {0, -1} => 3 o6 : Sequence |
i7 : deg={2,1} o7 = {2, 1} o7 : List |
i8 : m=upperCorner(F,deg); 30 9 o8 : Matrix E <--- E |
i9 : tally degrees target m, tally degrees source m o9 = (Tally{{-2, -2} => 18}, Tally{{-2, -1} => 9}) {-3, -1} => 12 o9 : Sequence |
i10 : Fm=(res(coker m,LengthLimit=>4))[sum deg+1] 30 9 2 3 8 o10 = E <-- E <-- E <-- E <-- E -4 -3 -2 -1 0 o10 : ChainComplex |
i11 : betti Fm -4 -3 -2 -1 0 o11 = total: 30 9 2 3 8 0: 30 9 . . . 1: . . 2 1 . 2: . . . . 1 3: . . . 2 7 o11 : BettiTally |
i12 : cohomologyMatrix(Fm,-{3,3},{4,4}) o12 = | 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 18 0 0 | | 0 0 0 0 0 9 12 0 | | 0 h2 0 h 2h 0 0 0 | | 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 | | 0 0 0 h3 2h3 0 0 0 | 8 8 o12 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) |