# 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

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

## Version

This documentation describes version 0.1 of AInfinity.

## Source code

The source code from which this documentation is derived is in the file AInfinity.m2.

## Exports

• Functions and commands
• aInfinity -- aInfinity algebra and module structures on free resolutions
• 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
• 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
• "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
• "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

## For the programmer

The object AInfinity is .