Macaulay2 » Documentation
Packages » AInfinity :: AInfinity
next | previous | forward | backward | up | index | toc

# AInfinity -- A-infinity algebra and module structures on free resolutions

## Description

Following Jesse Burke's paper "Higher Homotopies and Golod Rings", given a polynomial ring S and a factor ring R = S/I and an R-module X, we compute (finite) A-infinity algebra structure mR on an S-free resolution of R and the A-infinity mR-module structure on an S-free resolution of X, and use them to give a finite computation of the maps in an R-free resolution of X that we call the Burke resolution. Here is an example with the simplest Golod non-hypersurface in 3 variables

    i1 : S = ZZ/101[a,b,c]

    o1 = S

    o1 : PolynomialRing

    i2 : R = S/(ideal(a)*ideal(a,b,c))

    o2 = R

    o2 : QuotientRing

    i3 : mR = aInfinity R;

    i4 : res coker presentation R

          1      3      3      1
    o4 = S  <-- S  <-- S  <-- S  <-- 0

         0      1      2      3      4

    o4 : ChainComplex

    i5 : mR#{2,2}

    o5 = {3} | 0 -a 0  a 0 0  0 -c 0 |
         {3} | 0 0  -a 0 0 0  a b  0 |
         {3} | 0 0  0  0 0 -a 0 0  0 |

                 3      9
    o5 : Matrix S  <-- S

Given a module X over R, Jesse Burke constructed a possibly non-minimal R-free resolution of any length from the finite data mR and mX:

    i6 : X = coker vars R

    o6 = cokernel | a b c |

                                1
    o6 : R-module, quotient of R

    i7 : A = betti burkeResolution(X,8)

                0 1 2  3  4  5   6   7   8
    o7 = total: 1 3 6 13 28 60 129 277 595
             0: 1 3 6 13 28 60 129 277 595

    o7 : BettiTally

    i8 : B = betti res(X, LengthLimit => 8)

                0 1 2  3  4  5   6   7   8
    o8 = total: 1 3 6 13 28 60 129 277 595
             0: 1 3 6 13 28 60 129 277 595

    o8 : BettiTally

    i9 : A == B

    o9 = true

## See also

- aInfinity -- aInfinity algebra and module structures on free resolutions

## Authors

- David Eisenbud <de@msri.org>
- Mike Stillman <mike@math.cornell.edu>

## Version

This documentation describes version 0.1 of AInfinity, released October 4, 2020, rev Feb 2021, rev May 2021.

## Citation

If you have used this package in your research, please cite it as follows:

    @misc{AInfinitySource,
      title = {{AInfinity: AInfinity structures on free resolutions. Version~0.1}},
      author = {David Eisenbud and Mike Stillman},
      howpublished = {A \emph{Macaulay2} package available at
        \url{https://github.com/Macaulay2/M2/tree/stable/M2/Macaulay2/packages}}
    }

## Exports

- Functions and commands
  - aInfinity -- aInfinity algebra and module structures on free resolutions
  - `burkeDifferential` -- see burkeResolution -- compute a resolution from A-infinity structures
  - burkeResolution -- compute a resolution from A-infinity structures
  - displayBlocks -- prints a matrix showing the source and target decomposition
  - extractBlocks -- displays components of a map in a labeled complex
  - golodBetti -- list the ranks of the free modules in the resolution of a Golod module
  - hasMinimalMult -- Determines if the A-infinity multiplication is minimal
  - isGolodAInf -- Determines if the ring is Golod or not
  - picture -- displays information about the blocks of a map or maps between direct sum modules
- Methods
  - `aInfinity(HashTable,Module)` -- see aInfinity -- aInfinity algebra and module structures on free resolutions
  - `aInfinity(Module)` -- see aInfinity -- aInfinity algebra and module structures on free resolutions
  - `aInfinity(Ring)` -- see aInfinity -- aInfinity algebra and module structures on free resolutions
  - `burkeDifferential(HashTable,HashTable,ZZ)` -- see burkeResolution -- compute a resolution from A-infinity structures
  - `burkeResolution(Module,ZZ)` -- see burkeResolution -- compute a resolution from A-infinity structures
  - `displayBlocks(Matrix)` -- see displayBlocks -- prints a matrix showing the source and target decomposition
  - `extractBlocks(Matrix,List)` -- see extractBlocks -- displays components of a map in a labeled complex
  - `extractBlocks(Matrix,List,List)` -- see extractBlocks -- displays components of a map in a labeled complex
  - `golodBetti(Module,ZZ)` -- see golodBetti -- list the ranks of the free modules in the resolution of a Golod module
  - `hasMinimalMult(Ideal)` -- see hasMinimalMult -- Determines if the A-infinity multiplication is minimal
  - `hasMinimalMult(Ideal,ZZ)` -- see hasMinimalMult -- Determines if the A-infinity multiplication is minimal
  - `hasMinimalMult(Ring)` -- see hasMinimalMult -- Determines if the A-infinity multiplication is minimal
  - `hasMinimalMult(Ring,InfiniteNumber)` -- see hasMinimalMult -- Determines if the A-infinity multiplication is minimal
  - `hasMinimalMult(Ring,ZZ)` -- see hasMinimalMult -- Determines if the A-infinity multiplication is minimal
  - `isGolodAInf(Ring)` -- see isGolodAInf -- Determines if the ring is Golod or not
  - `picture(ChainComplex)` -- see picture -- displays information about the blocks of a map or maps between direct sum modules
  - `picture(Complex)` -- see picture -- displays information about the blocks of a map or maps between direct sum modules
  - `picture(Matrix)` -- see picture -- displays information about the blocks of a map or maps between direct sum modules
  - `picture(Module)` -- see picture -- displays information about the blocks of a map or maps between direct sum modules
- Symbols
  - Check -- Option for burkeResolution
  - `ShowRanks` -- see picture -- displays information about the blocks of a map or maps between direct sum modules

## For the programmer

The object AInfinity is a package, defined in AInfinity.m2.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/AInfinity.m2:1093:0.