By default the option FineGrading is set to false. With FineGrading=>true the script returns the ZZ4-graded resolution, and the function h returns the homotopies one graded component at a time as a HashTable.
Note that the homotopies are 0 except in the middle part of the resolution, where there is a generator degree common to two consecutive free modules.
i1 : (F,h0) = canonicalHomotopies(7,3) ZZ 1 ZZ o1 = ((-----[x , x , x , x , y , y , y , y ]) <-- (-----[x , x , x , x , y , 32003 0 1 2 3 0 1 2 3 32003 0 1 2 3 0 0 1 ------------------------------------------------------------------------ 10 ZZ 16 y , y , y ]) <-- (-----[x , x , x , x , y , y , y , y ]) <-- 1 2 3 32003 0 1 2 3 0 1 2 3 2 ------------------------------------------------------------------------ ZZ 16 ZZ (-----[x , x , x , x , y , y , y , y ]) <-- (-----[x , x , x , x , y , 32003 0 1 2 3 0 1 2 3 32003 0 1 2 3 0 3 4 ------------------------------------------------------------------------ 10 ZZ 1 y , y , y ]) <-- (-----[x , x , x , x , y , y , y , y ]) <-- 0, h0) 1 2 3 32003 0 1 2 3 0 1 2 3 6 5 o1 : Sequence |
i2 : betti F 0 1 2 3 4 5 o2 = total: 1 10 16 16 10 1 0: 1 . . . . . 1: . 10 16 . . . 2: . . . 16 10 . 3: . . . . . 1 o2 : BettiTally |
i3 : netList apply(length F, j-> sum(rank F_1, i->h0(i,j))) +-------------------------------------------------------+ o3 = |{2} | 1 | | |{2} | 1 | | |{2} | 1 | | |{2} | 1 | | |{2} | 1 | | |{2} | 1 | | |{2} | 1 | | |{2} | 1 | | |{2} | 1 | | |{2} | 1 | | +-------------------------------------------------------+ |0 | +-------------------------------------------------------+ |{5} | -1 -1 1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 || |{5} | -1 -1 0 0 0 1 -1 -1 0 0 0 0 0 0 0 0 || |{5} | -1 0 -2 0 0 2 0 0 -2 -2 -1 0 0 0 0 0 || |{5} | 0 1 -2 0 0 2 0 0 0 -2 0 -1 0 0 0 0 || |{5} | -1 0 0 -1 0 0 1 0 -1 0 0 0 -1 0 0 0 || |{5} | 0 1 0 -1 0 0 1 0 0 -1 0 0 0 -1 0 0 || |{5} | 0 0 2 -1 0 0 0 0 2 -2 0 0 0 0 -1 0 || |{5} | 1 0 0 0 -2 0 0 2 0 -2 -1 0 2 0 0 0 || |{5} | 0 1 0 0 2 0 0 -2 0 0 0 1 0 -2 0 0 || |{5} | 0 0 1 0 1 0 0 0 0 -2 -1 1 0 0 -1 0 || |{5} | 0 0 0 1 2 0 0 0 0 0 0 0 -2 2 -1 0 || |{5} | 0 0 0 0 0 -2 1 0 -2 2 0 0 0 0 0 -1 || |{5} | 0 0 0 0 0 -1 0 -1 0 2 1 -1 0 0 0 -1 || |{5} | 0 0 0 0 0 0 -1 -2 0 0 0 0 2 -2 0 -1 || |{5} | 0 0 0 0 0 0 0 0 -1 -2 -1 0 1 0 -1 -1 || |{5} | 0 0 0 0 0 0 0 0 0 -1 0 -1 0 1 -1 -1 || +-------------------------------------------------------+ |0 | +-------------------------------------------------------+ |{8} | -1 -1 1 -1 1 1 1 -1 1 1 | | +-------------------------------------------------------+ |
i4 : H = makeHomotopies1(F.dd_1, F); |
i5 : (F,h0) = canonicalHomotopies(7,3, FineGrading=>true); |
i6 : h0(0,2) o6 = HashTable{{0, 5, 6, 9} => 0 } {0, 5, 7, 8} => 0 {1, 4, 5, 10} => 0 {1, 4, 6, 9} => 0 {1, 4, 7, 8} => {1, 4, 7, 8} | 0 1 | {1, 4, 8, 7} => {1, 4, 8, 7} | 1 | {2, 3, 5, 10} => 0 {2, 3, 6, 9} => {2, 3, 6, 9} | -1 0 | {2, 3, 7, 8} => {2, 3, 7, 8} | 1 0 | {2, 3, 7, 8} | -2 1 | {2, 3, 8, 7} => {2, 3, 8, 7} | 0 | {2, 3, 8, 7} | 1 | {2, 3, 9, 6} => 0 {3, 2, 6, 9} => {3, 2, 6, 9} | -1 | {3, 2, 7, 8} => {3, 2, 7, 8} | 1 | {3, 2, 7, 8} | 0 | {3, 2, 8, 7} => 0 {3, 2, 9, 6} => 0 {4, 1, 7, 8} => 0 {4, 1, 8, 7} => 0 o6 : HashTable |
i7 : homotopyRanks(7,3) 0 1 2 3 4 5 total: 1 10 16 16 10 1 0: 1 . . . . . 1: . 10 16 . . . 2: . . . 16 10 . 3: . . . . . 1 +-------------------------+---------------+ o7 = || x_1^2-x_0x_2 | |{1, 0, 8, 0, 1}| +-------------------------+---------------+ || x_1x_2-x_0x_3 | |{1, 0, 8, 0, 1}| +-------------------------+---------------+ || x_2^2-x_1x_3 | |{1, 0, 8, 0, 1}| +-------------------------+---------------+ || x_2y_0-2x_1y_1+x_0y_2 ||{1, 0, 8, 0, 1}| +-------------------------+---------------+ || x_3y_0-2x_2y_1+x_1y_2 ||{1, 0, 8, 0, 1}| +-------------------------+---------------+ || x_2y_1-2x_1y_2+x_0y_3 ||{1, 0, 8, 0, 1}| +-------------------------+---------------+ || x_3y_1-2x_2y_2+x_1y_3 ||{1, 0, 8, 0, 1}| +-------------------------+---------------+ || y_1^2-y_0y_2 | |{1, 0, 8, 0, 1}| +-------------------------+---------------+ || y_1y_2-y_0y_3 | |{1, 0, 8, 0, 1}| +-------------------------+---------------+ || y_2^2-y_1y_3 | |{1, 0, 8, 0, 1}| +-------------------------+---------------+ |