next | previous | forward | backward | up | top | index | toc | Macaulay2 website
AInfinity :: burkeResolution

burkeResolution -- compute a resolution from A-infinity structures

Synopsis

Description

The construction follows the recipe in Jesse Burke's paper. The resolution produced is minimal iff M is a Golod module. if the optional argument Check => true then the program checks that the differential produced squares to 0 and that the complex is acyclic. The default is Check => false.

i1 : S = ZZ/101[x_1..x_4]

o1 = S

o1 : PolynomialRing
i2 : I = x_1^2*ideal(vars S)

             3   2     2     2
o2 = ideal (x , x x , x x , x x )
             1   1 2   1 3   1 4

o2 : Ideal of S
i3 : R = S/I

o3 = R

o3 : QuotientRing
i4 : M = R^1/ideal(x_1..x_3)

o4 = cokernel | x_1 x_2 x_3 |

                            1
o4 : R-module, quotient of R
i5 : F = burkeResolution(M, 4, Check =>true)

      1      3      7      19      50
o5 = R  <-- R  <-- R  <-- R   <-- R
                                   
     0      1      2      3       4

o5 : Complex

the function golodBetti displays the Betti table of the resolution that would be constructed by burkeResolution, without actually making the construction.

i6 : golodBetti (M,12)

            0 1 2  3  4   5   6   7    8    9    10    11     12
o6 = total: 1 3 7 19 50 131 345 907 2385 6272 16493 43371 114051
         0: 1 3 3  1  .   .   .   .    .    .     .     .      .
         1: . . 4 18 34  35  21   7    1    .     .     .      .
         2: . . .  . 16  96 260 420  448  328   165    55     11
         3: . . .  .  .   .  64 480 1680 3640  5448  5940   4840
         4: . . .  .  .   .   .   .  256 2304  9856 26624  50832
         5: . . .  .  .   .   .   .    .    .  1024 10752  54272
         6: . . .  .  .   .   .   .    .    .     .     .   4096

o6 : BettiTally
i7 : betti F

            0 1 2  3  4
o7 = total: 1 3 7 19 50
         0: 1 3 3  1  .
         1: . . 4 18 34
         2: . . .  . 16

o7 : BettiTally

The advantage of resolutions computed from A-infinity structures is the decomposition of the differential into blocks corresponding to tensor products of the modules in the finite resolutions. In the following display, the symbol {u_1..u_n} denotes B_(u_1)**..**B_(u_(n-1))**G_(u_n), where G is the S-free resolution of M and B is the truncated shift of the S-free resolution A of R^1: that is, B_i = A_(i-1), i = 2...length A.

i8 : picture F

     +---------------------------------------+
     |+---+---+                              |
o8 = ||   |{1}|                              |
     |+---+---+                              |
     ||{0}| * |                              |
     |+---+---+                              |
     +---------------------------------------+
     |+---+---+------+                       |
     ||   |{2}|{2, 0}|                       |
     |+---+---+------+                       |
     ||{1}| * |   *  |                       |
     |+---+---+------+                       |
     +---------------------------------------+
     |+------+---+------+------+             |
     ||      |{3}|{3, 0}|{2, 1}|             |
     |+------+---+------+------+             |
     ||  {2} | * |   .  |   *  |             |
     |+------+---+------+------+             |
     ||{2, 0}| . |   *  |   *  |             |
     |+------+---+------+------+             |
     +---------------------------------------+
     |+------+------+------+------+---------+|
     ||      |{4, 0}|{3, 1}|{2, 2}|{2, 2, 0}||
     |+------+------+------+------+---------+|
     ||  {3} |   .  |   *  |   *  |    .    ||
     |+------+------+------+------+---------+|
     ||{3, 0}|   *  |   *  |   .  |    *    ||
     |+------+------+------+------+---------+|
     ||{2, 1}|   .  |   *  |   *  |    *    ||
     |+------+------+------+------+---------+|
     +---------------------------------------+

the functions displayBlocks and extractBlocks allow the examination of these submatrices.

i9 : displayBlocks F.dd_2

     +---+----------------------+----------------------------------+
o9 = |   |          {2}         |              {2, 0}              |
     +---+----------------------+----------------------------------+
     |{1}|{1} | -x_2 -x_3 0    ||{1} | x_1^2 x_1x_2 x_1x_3 x_1x_4 ||
     |   |{1} | x_1  0    -x_3 ||{1} | 0     0      0      0      ||
     |   |{1} | 0    x_1  x_2  ||{1} | 0     0      0      0      ||
     +---+----------------------+----------------------------------+
i10 : extractBlocks(F.dd_4, {{2,1}},{{3,1},{2,2}})

o10 = {4} | x_2  0    0    x_3  0    0    0    0    0    x_4  0    0    0   
      {4} | 0    x_2  0    0    x_3  0    0    0    0    0    x_4  0    0   
      {4} | 0    0    x_2  0    0    x_3  0    0    0    0    0    x_4  0   
      {4} | -x_1 0    0    0    0    0    x_3  0    0    0    0    0    x_4 
      {4} | 0    -x_1 0    0    0    0    0    x_3  0    0    0    0    0   
      {4} | 0    0    -x_1 0    0    0    0    0    x_3  0    0    0    0   
      {4} | 0    0    0    -x_1 0    0    -x_2 0    0    0    0    0    0   
      {4} | 0    0    0    0    -x_1 0    0    -x_2 0    0    0    0    0   
      {4} | 0    0    0    0    0    -x_1 0    0    -x_2 0    0    0    0   
      {4} | 0    0    0    0    0    0    0    0    0    -x_1 0    0    -x_2
      {4} | 0    0    0    0    0    0    0    0    0    0    -x_1 0    0   
      {4} | 0    0    0    0    0    0    0    0    0    0    0    -x_1 0   
      -----------------------------------------------------------------------
      0    0    0    0    0    -x_2 -x_3 0    0    0    0    0    0    0   
      0    0    0    0    0    x_1  0    -x_3 0    0    0    0    0    0   
      0    0    0    0    0    0    x_1  x_2  0    0    0    0    0    0   
      0    0    0    0    0    0    0    0    -x_2 -x_3 0    0    0    0   
      x_4  0    0    0    0    0    0    0    x_1  0    -x_3 0    0    0   
      0    x_4  0    0    0    0    0    0    0    x_1  x_2  0    0    0   
      0    0    x_4  0    0    0    0    0    0    0    0    -x_2 -x_3 0   
      0    0    0    x_4  0    0    0    0    0    0    0    x_1  0    -x_3
      0    0    0    0    x_4  0    0    0    0    0    0    0    x_1  x_2 
      0    0    -x_3 0    0    0    0    0    0    0    0    0    0    0   
      -x_2 0    0    -x_3 0    0    0    0    0    0    0    0    0    0   
      0    -x_2 0    0    -x_3 0    0    0    0    0    0    0    0    0   
      -----------------------------------------------------------------------
      0    0    0    |
      0    0    0    |
      0    0    0    |
      0    0    0    |
      0    0    0    |
      0    0    0    |
      0    0    0    |
      0    0    0    |
      0    0    0    |
      -x_2 -x_3 0    |
      x_1  0    -x_3 |
      0    x_1  x_2  |

              12       30
o10 : Matrix R   <--- R

References

Jesse Burke, Higher Homotopies and Golod Rings. arXiv:1508.03782v2, October 2015.

Caveat

Requires standard graded ring, module. Something to fix in a future version

See also

Ways to use burkeResolution :

For the programmer

The object burkeResolution is a method function with options.

Menu