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      1      2      3

o4 : Complex
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

Authors

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/reproducible-path/macaulay2-1.25.06+ds/M2/Macaulay2/packages/AInfinity.m2:1093:0.