# BoijSoederberg -- Betti diagram routines

## Description

BoijSoederberg is a package designed to help with the investigation of the Boij-Soederberg conjectures and theorems. For the definitions and conjectures, see math.AC/0611081, "Graded Betti numbers of Cohen-Macaulay modules and the Multiplicity conjecture", by Mats Boij, Jonas Soederberg.

## Pure Betti diagrams

• pureBetti -- list of smallest integral Betti numbers corresponding to a degree sequence
• makePureBetti -- list of Betti numbers corresponding to a degree sequence
• pureBettiDiagram -- pure Betti diagram given a list of degrees
• makePureBettiDiagram -- makes a pure Betti diagram given a list of degrees
• isPure -- is a Betti diagram pure?

## Decomposition into pure diagrams

• decompose(BettiTally)
• decomposeBetti -- write a Betti diagram as a positive combination of pure integral diagrams
• decomposeDegrees -- Find the degree sequences of pure diagrams occuring in a Boij-Soederberg decomposition of B
• eliminateBetti -- elimination table for a Betti diagram
• isMassEliminate -- determines whether the Boij-Soederberg decomposition algorithm eliminates multiple Betti numbers at the same time

## Three constructions for pure resolutions. These routines provide the zero-th betti number given a degree sequence.

• pureTwoInvariant -- first betti number of specific exact complex
• pureWeyman -- first betti number of specific exact complex
• pureCharFree -- first betti number of specific exact complex
• pureAll -- Vector of first betti number of our three specific exact complexes

## Constructions often leading to pure resolutions

• randomModule -- module with random relations in prescribed degrees
• randomSocleModule -- random finite length module with prescribed number of socle elements in single degree

## Facet equation and the dot product between Betti diagrams and cohomology tables

• facetEquation -- The upper facet equation corresponding to (L,i)
• dotProduct -- entry by entry dot product of two Betti diagrams
• supportFunctional (missing documentation)
• BettiTally * CohomologyTally (missing documentation)

## Version

This documentation describes version 1.5 of BoijSoederberg.

## Source code

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

## Exports

• Types
• Functions and commands
• bott -- cohomology of Schur functors of tautological bundle on P^n
• decomposeBetti -- write a Betti diagram as a positive combination of pure integral diagrams
• decomposeDegrees -- Find the degree sequences of pure diagrams occuring in a Boij-Soederberg decomposition of B
• dotProduct -- entry by entry dot product of two Betti diagrams
• eliminateBetti -- elimination table for a Betti diagram
• "facetEquation" -- see facetEquation(List,ZZ,ZZ,ZZ) -- The upper facet equation corresponding to (L,i)
• "highestDegrees" -- see highestDegrees(BettiTally) -- list of highest degree shifts
• isMassEliminate -- determines whether the Boij-Soederberg decomposition algorithm eliminates multiple Betti numbers at the same time
• "isPure" -- see isPure(BettiTally) -- is a Betti diagram pure?
• "lowestDegrees" -- see lowestDegrees(BettiTally) -- list of lowest degree shifts
• makeCI -- Make the Betti diagram of a complete intersection ideal
• "makePureBetti" -- see makePureBetti(List) -- list of Betti numbers corresponding to a degree sequence
• makePureBettiDiagram -- makes a pure Betti diagram given a list of degrees
• "mat2betti" -- see mat2betti(Matrix,ZZ) -- matrix to Betti diagram
• mat2cohom (missing documentation)
• pureAll -- Vector of first betti number of our three specific exact complexes
• "pureBetti" -- see pureBetti(List) -- list of smallest integral Betti numbers corresponding to a degree sequence
• "pureBettiDiagram" -- see pureBettiDiagram(List) -- pure Betti diagram given a list of degrees
• pureCharFree -- first betti number of specific exact complex
• "pureCohomologyTable" -- see pureCohomologyTable(List,ZZ,ZZ) -- pure cohomology table given zeros of Hilbert polynomial
• pureTwoInvariant -- first betti number of specific exact complex
• pureWeyman -- first betti number of specific exact complex
• "randomModule" -- see randomModule(List,ZZ) -- module with random relations in prescribed degrees
• "randomSocleModule" -- see randomSocleModule(List,ZZ) -- random finite length module with prescribed number of socle elements in single degree
• supportFunctional (missing documentation)
• Methods
• bott(List,ZZ) -- cohomology of Schur functor of tautological bundle on P^n
• bott(List,ZZ,ZZ) -- cohomology table of Schur functor of tautolgical bundle on P^n
• "dotProduct(BettiTally,BettiTally)" -- see dotProduct -- entry by entry dot product of two Betti diagrams
• "dotProduct(Matrix,BettiTally)" -- see dotProduct -- entry by entry dot product of two Betti diagrams
• "dotProduct(Matrix,Matrix)" -- see dotProduct -- entry by entry dot product of two Betti diagrams
• "dotProduct(Matrix,ZZ,BettiTally)" -- see dotProduct -- entry by entry dot product of two Betti diagrams
• "eliminateBetti(BettiTally)" -- see eliminateBetti -- elimination table for a Betti diagram
• "eliminateBetti(Ideal)" -- see eliminateBetti -- elimination table for a Betti diagram
• facetEquation(List,ZZ,ZZ,ZZ) -- The upper facet equation corresponding to (L,i)
• highestDegrees(BettiTally) -- list of highest degree shifts
• "isMassEliminate(BettiTally)" -- see isMassEliminate -- determines whether the Boij-Soederberg decomposition algorithm eliminates multiple Betti numbers at the same time
• isPure(BettiTally) -- is a Betti diagram pure?
• lowestDegrees(BettiTally) -- list of lowest degree shifts
• makePureBetti(List) -- list of Betti numbers corresponding to a degree sequence
• "makePureBettiDiagram(List)" -- see makePureBettiDiagram -- makes a pure Betti diagram given a list of degrees
• "mat2betti(Matrix)" -- see mat2betti(Matrix,ZZ) -- matrix to Betti diagram
• mat2betti(Matrix,ZZ) -- matrix to Betti diagram
• "pureAll(List)" -- see pureAll -- Vector of first betti number of our three specific exact complexes
• pureBetti(List) -- list of smallest integral Betti numbers corresponding to a degree sequence
• pureBettiDiagram(List) -- pure Betti diagram given a list of degrees
• "pureCharFree(List)" -- see pureCharFree -- first betti number of specific exact complex
• pureCohomologyTable(List,ZZ,ZZ) -- pure cohomology table given zeros of Hilbert polynomial
• "pureTwoInvariant(List)" -- see pureTwoInvariant -- first betti number of specific exact complex
• "pureWeyman(List)" -- see pureWeyman -- first betti number of specific exact complex
• randomModule(List,ZZ) -- module with random relations in prescribed degrees
• randomSocleModule(List,ZZ) -- random finite length module with prescribed number of socle elements in single degree
• Symbols

## For the programmer

The object BoijSoederberg is .