# RandomIdeals -- A package to construct various sorts of random ideals

## Description

This package can be used to make experiments, trying many ideals, perhaps over small fields. For example...what would you expect the regularities of "typical" monomial ideals with 10 generators of degree 3 in 6 variables to be? Try a bunch of examples -- it's fast. Here we do only 500 -- this takes about a second on a fast machine -- but with a little patience, thousands can be done conveniently.

 i1 : setRandomSeed(currentTime()) o1 = 1610142815 i2 : kk=ZZ/101; i3 : S=kk[vars(0..5)]; i4 : time tally for n from 1 to 500 list regularity randomMonomialIdeal(10:3,S) -- used 1.52455 seconds o4 = Tally{3 => 1 } 4 => 44 5 => 215 6 => 173 7 => 58 8 => 7 9 => 2 o4 : Tally

How does this compare with the case of binomial ideals? or pure binomial ideals? We invite the reader to experiment, replacing "randomMonomialIdeal" above with "randomBinomialIdeal" or "randomPureBinomialIdeal", or taking larger numbers of examples. Click the link "Finding Extreme Examples" below to see some other, more elaborate ways to search.

## Version

This documentation describes version 2.0 of RandomIdeals.

## Source code

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

## Exports

• Functions and commands
• Methods
• "idealChainFromShelling(List)" -- see idealChainFromShelling -- Produces chains of ideals from a shelling.
• "idealChainFromShelling(Ring,List)" -- see idealChainFromShelling -- Produces chains of ideals from a shelling.
• "idealFromShelling(List)" -- see idealFromShelling -- Produces an ideal from a shelling
• "idealFromShelling(Ring,List)" -- see idealFromShelling -- Produces an ideal from a shelling
• "isShelling(List)" -- see isShelling -- determines whether a list represents a shelling of a simplicial complex.
• "randomBinomialEdgeIdeal(ZZ,ZZ)" -- see randomBinomialEdgeIdeal -- Creates a binomial edge ideal from a random graph with n vertices and t edges.
• "randomBinomialIdeal(List,Ring)" -- see randomBinomialIdeal -- randomBinomialIdeal with binomials of given degrees
• "randomBinomialIdeal(Sequence,Ring)" -- see randomBinomialIdeal -- randomBinomialIdeal with binomials of given degrees
• "randomEdgeIdeal(ZZ,ZZ)" -- see randomEdgeIdeal -- Creates an edge ideal from a random graph with n vertices and t edges.
• "randomElementsFromIdeal(List,Ideal)" -- see randomElementsFromIdeal -- Chooses random elements of given degrees in a given ideal.
• "randomIdeal(List,Matrix)" -- see randomIdeal -- randomIdeal made from a given set of monomials
• "randomIdeal(Sequence,Matrix)" -- see randomIdeal -- randomIdeal made from a given set of monomials
• "randomMonomial(ZZ,Ring)" -- see randomMonomial -- Choose a random monomial of given degree in a given ring
• "randomMonomialIdeal(List,Ring)" -- see randomMonomialIdeal -- random monomial ideal with given degree generators
• "randomMonomialIdeal(Sequence,Ring)" -- see randomMonomialIdeal -- random monomial ideal with given degree generators
• "randomPureBinomialIdeal(List,Ring)" -- see randomPureBinomialIdeal -- randomPureBinomialIdeal with binomials of given degrees
• "randomPureBinomialIdeal(Sequence,Ring)" -- see randomPureBinomialIdeal -- randomPureBinomialIdeal with binomials of given degrees
• "randomShellableIdeal(Ring,ZZ,ZZ)" -- see randomShellableIdeal -- Produces a ideal from a random shellable simplicial complex
• "randomShellableIdealChain(Ring,ZZ)" -- see randomShellableIdealChain -- Produces a chain of ideals from a random shelling
• "randomShellableIdealChain(Ring,ZZ,ZZ)" -- see randomShellableIdealChain -- Produces a chain of ideals from a random shelling
• "randomShelling(Ring,ZZ)" -- see randomShelling -- produces a random chain of shellable complexes
• "randomShelling(Ring,ZZ,ZZ)" -- see randomShelling -- produces a random chain of shellable complexes
• "randomShelling(ZZ,ZZ)" -- see randomShelling -- produces a random chain of shellable complexes
• "randomShelling(ZZ,ZZ,ZZ)" -- see randomShelling -- produces a random chain of shellable complexes
• "randomSparseIdeal(Matrix,ZZ,ZZ)" -- see randomSparseIdeal -- randomSparseIdeal made from a given set of monomials
• "randomSquareFreeMonomialIdeal(List,Ring)" -- see randomSquareFreeMonomialIdeal -- random square-free monomial ideal with given degree generators
• "randomSquareFreeMonomialIdeal(Sequence,Ring)" -- see randomSquareFreeMonomialIdeal -- random square-free monomial ideal with given degree generators
• "randomSquareFreeStep(Ideal)" -- see randomSquareFreeStep -- A step in a random walk with uniform distribution over all monomial ideals
• "randomSquareFreeStep(List)" -- see randomSquareFreeStep -- A step in a random walk with uniform distribution over all monomial ideals
• "randomSquareFreeStep(MonomialIdeal)" -- see randomSquareFreeStep -- A step in a random walk with uniform distribution over all monomial ideals
• "randomToricEdgeIdeal(ZZ,ZZ)" -- see randomToricEdgeIdeal -- Creates a toric edge ideal from a random graph with n vertices and t edges.
• "regSeq(List,Ring)" -- see regSeq -- regular sequence of powers of the variables, in given degrees
• "regSeq(Sequence,Ring)" -- see regSeq -- regular sequence of powers of the variables, in given degrees
• squareFree(ZZ,Ring) -- ideal of all square-free monomials of given degree
• Symbols

## For the programmer

The object RandomIdeals is .