# TSpreadIdeals -- A package for working with t-spread ideals of polynomial rings

## Description

TSpreadIdeals is a package for creating and manipulating t-spread ideals of polynomial rings. Let $u=x_{i_1}x_{i_2}\cdots x_{i_d}$ a monomial of $S=K[x_1,\ldots,x_n]$, with $1\le i_1\le i_2\le\dots\le i_d\le n$. The monomial u is called $t$-spread if $i_{j+1}-i_j\ge t$ for all $j\in [d-1].$
A list of monomials is t-spread if all the monomials of the list are t-spread. A monomial ideal is called t-spread if it is generated by t-spread monomials.
Some references can be found in the papers Computational methods for t-spread monomial ideals and A numerical characterization of the extremal Betti numbers of t-spread strongly stable ideals.

## Version

This documentation describes version 1.0 of TSpreadIdeals.

## Source code

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

## Exports

• Functions and commands
• countTLexMon -- give the cardinality of the smallest initial t-lex segment containing a given monomial
• countTStronglyStableMon -- give the cardinality of the t-strongly stable set generated by a given monomial
• fTVector -- compute the ft-vector of a given t-spread ideal of a polynomial ring
• initialDegree -- return the initial degree of a given graded ideal
• initialIdeal -- return the initial ideal of a given ideal
• isFTVector -- whether a given list of nonnegative integers is the ft-vector of a t-strongly stable ideal of a given polynomial ring
• isTLexSeg -- whether a set of t-spread monomials is a t-lex segment
• isTSpread -- whether a monomial, a list of monomials or a monomial ideal is t-spread
• isTStronglyStableIdeal -- whether a given t-spread ideal is t-strongly stable
• isTStronglyStableSeg -- whether the given list of t-spread monomials is a t-strongly stable segment
• minimalBettiNumbers -- return the minimal Betti numbers of the quotient ring corresponding to a given graded ideal
• minimalBettiNumbersIdeal -- return the minimal Betti numbers of a given graded ideal
• solveBinomialExpansion -- compute the sum of a binomial expansion
• tExtremalBettiCorners -- give the corners of the extremal Betti numbers of a given t-strongly stable ideal
• tExtremalBettiMonomials -- give the list of the t-spread basic monomials related to the given extremal Betti numbers configuration
• tLexIdeal -- returns the t-spread lex ideal with a given ft-vector or with the same ft-vector of a given t-strongly stable ideal
• tLexMon -- give the smallest initial t-lex segment containing a given monomial
• tLexSeg -- give the t-lex segment with given extremes
• tMacaulayExpansion -- compute the t-Macaulay expansion of a positive integer
• tNextMon -- give the t-lex successor of a given t-spread monomial
• tPascalIdeal -- give the Pascal ideal of t-spread monomials of a given polynomial ring
• tSpreadIdeal -- give the ideal generated by the t-spread monomials which are among the generators of a given ideal
• tSpreadList -- give the set of all t-spread monomials of a given list
• tStronglyStableIdeal -- give the smallest t-strongly stable ideal containing a given t-spread ideal
• tStronglyStableMon -- give the t-strongly stable set generated by a given monomial
• tStronglyStableSeg -- give the t-strongly stable segment with the given extremes
• tVeroneseIdeal -- give the Veronese ideal of t-spread monomials of a given degree
• tVeroneseSet -- give the Veronese set of t-spread monomials of a given degree
• Methods
• "countTLexMon(RingElement,ZZ)" -- see countTLexMon -- give the cardinality of the smallest initial t-lex segment containing a given monomial
• "countTStronglyStableMon(RingElement,ZZ)" -- see countTStronglyStableMon -- give the cardinality of the t-strongly stable set generated by a given monomial
• "fTVector(Ideal,ZZ)" -- see fTVector -- compute the ft-vector of a given t-spread ideal of a polynomial ring
• "initialDegree(Ideal)" -- see initialDegree -- return the initial degree of a given graded ideal
• "initialIdeal(Ideal)" -- see initialIdeal -- return the initial ideal of a given ideal
• "isFTVector(Ring,List,ZZ)" -- see isFTVector -- whether a given list of nonnegative integers is the ft-vector of a t-strongly stable ideal of a given polynomial ring
• "isTLexIdeal(Ideal,ZZ)" -- see isTLexIdeal -- whether a given t-spread ideal is t-spread lex
• "isTLexSeg(List,ZZ)" -- see isTLexSeg -- whether a set of t-spread monomials is a t-lex segment
• "isTSpread(Ideal,ZZ)" -- see isTSpread -- whether a monomial, a list of monomials or a monomial ideal is t-spread
• "isTSpread(List,ZZ)" -- see isTSpread -- whether a monomial, a list of monomials or a monomial ideal is t-spread
• "isTSpread(RingElement,ZZ)" -- see isTSpread -- whether a monomial, a list of monomials or a monomial ideal is t-spread
• "isTStronglyStableIdeal(Ideal,ZZ)" -- see isTStronglyStableIdeal -- whether a given t-spread ideal is t-strongly stable
• "isTStronglyStableSeg(List,ZZ)" -- see isTStronglyStableSeg -- whether the given list of t-spread monomials is a t-strongly stable segment
• "minimalBettiNumbers(Ideal)" -- see minimalBettiNumbers -- return the minimal Betti numbers of the quotient ring corresponding to a given graded ideal
• "minimalBettiNumbersIdeal(Ideal)" -- see minimalBettiNumbersIdeal -- return the minimal Betti numbers of a given graded ideal
• "solveBinomialExpansion(List)" -- see solveBinomialExpansion -- compute the sum of a binomial expansion
• "tExtremalBettiCorners(Ideal,ZZ)" -- see tExtremalBettiCorners -- give the corners of the extremal Betti numbers of a given t-strongly stable ideal
• "tExtremalBettiMonomials(Ring,List,List,ZZ)" -- see tExtremalBettiMonomials -- give the list of the t-spread basic monomials related to the given extremal Betti numbers configuration
• "tLastMon(RingElement,ZZ,ZZ)" -- see tLastMon -- give the last t-spread monomial of the Borel shadow a given t-spread monomial
• "tLexIdeal(Ideal,ZZ)" -- see tLexIdeal -- returns the t-spread lex ideal with a given ft-vector or with the same ft-vector of a given t-strongly stable ideal
• "tLexIdeal(Ring,List,ZZ)" -- see tLexIdeal -- returns the t-spread lex ideal with a given ft-vector or with the same ft-vector of a given t-strongly stable ideal
• "tLexMon(RingElement,ZZ)" -- see tLexMon -- give the smallest initial t-lex segment containing a given monomial
• "tLexSeg(RingElement,RingElement,ZZ)" -- see tLexSeg -- give the t-lex segment with given extremes
• "tMacaulayExpansion(ZZ,ZZ,ZZ,ZZ)" -- see tMacaulayExpansion -- compute the t-Macaulay expansion of a positive integer
• "tNextMon(RingElement,ZZ)" -- see tNextMon -- give the t-lex successor of a given t-spread monomial
• "tPascalIdeal(Ring,ZZ)" -- see tPascalIdeal -- give the Pascal ideal of t-spread monomials of a given polynomial ring
• "tSpreadIdeal(Ideal,ZZ)" -- see tSpreadIdeal -- give the ideal generated by the t-spread monomials which are among the generators of a given ideal
• "tSpreadList(List,ZZ)" -- see tSpreadList -- give the set of all t-spread monomials of a given list
• "tStronglyStableIdeal(Ideal,ZZ)" -- see tStronglyStableIdeal -- give the smallest t-strongly stable ideal containing a given t-spread ideal
• "tStronglyStableMon(RingElement,ZZ)" -- see tStronglyStableMon -- give the t-strongly stable set generated by a given monomial
• "tStronglyStableSeg(RingElement,RingElement,ZZ)" -- see tStronglyStableSeg -- give the t-strongly stable segment with the given extremes
• "tVeroneseIdeal(Ring,ZZ,ZZ)" -- see tVeroneseIdeal -- give the Veronese ideal of t-spread monomials of a given degree
• "tVeroneseSet(Ring,ZZ,ZZ)" -- see tVeroneseSet -- give the Veronese set of t-spread monomials of a given degree
• Symbols
• FixedMax -- optional boolean argument for tNextMon
• MaxInd -- optional integer argument for tLastMon
• Shift -- optional boolean argument for tMacaulayExpansion

## For the programmer

• tPascalIdeal -- give the Pascal ideal of t-spread monomials of a given polynomial ring
• tSpreadList -- give the set of all t-spread monomials of a given list
• tSpreadIdeal -- give the ideal generated by the t-spread monomials which are among the generators of a given ideal
• isTSpread -- whether a monomial, a list of monomials or a monomial ideal is t-spread

#### T-lex structures

• tNextMon -- give the t-lex successor of a given t-spread monomial
• tLexSeg -- give the t-lex segment with given extremes
• isTLexSeg -- whether a set of t-spread monomials is a t-lex segment
• tLexMon -- give the smallest initial t-lex segment containing a given monomial
• countTLexMon -- give the cardinality of the smallest initial t-lex segment containing a given monomial
• tVeroneseSet -- give the Veronese set of t-spread monomials of a given degree
• tVeroneseIdeal -- give the Veronese ideal of t-spread monomials of a given degree

#### Kruskal-Katona's Theorem

• tMacaulayExpansion -- compute the t-Macaulay expansion of a positive integer
• fTVector -- compute the ft-vector of a given t-spread ideal of a polynomial ring
• isFTVector -- whether a given list of nonnegative integers is the ft-vector of a t-strongly stable ideal of a given polynomial ring
• tLexIdeal -- returns the t-spread lex ideal with a given ft-vector or with the same ft-vector of a given t-strongly stable ideal

#### Extremal Betti numbers

• tExtremalBettiCorners -- give the corners of the extremal Betti numbers of a given t-strongly stable ideal
• tExtremalBettiMonomials -- give the list of the t-spread basic monomials related to the given extremal Betti numbers configuration

#### Options

• Shift -- optional boolean argument for tMacaulayExpansion
• FixedMax -- optional boolean argument for tNextMon
• MaxInd -- optional integer argument for tLastMon