# randomSquareFreeMonomialIdeal -- random square-free monomial ideal with given degree generators

## Synopsis

• Usage:
I = randomSquareFreeMonomialIdeal(L,S)
• Inputs:
• L, a list, or sequence of non-negative integers
• S, a ring, Polynomial ring
• Outputs:
• I, an ideal, square-free monomial ideal with generators of specified degrees

## Description

Choose a random square-free monomial ideal whose generators have the degrees specified by the list or sequence L.

 i1 : setRandomSeed(currentTime()) o1 = 1622157046 i2 : kk=ZZ/101 o2 = kk o2 : QuotientRing i3 : S=kk[a..e] o3 = S o3 : PolynomialRing i4 : L={3,5,7} o4 = {3, 5, 7} o4 : List i5 : randomSquareFreeMonomialIdeal(L, S) low degree gens generated everything o5 = ideal(b*c*e) o5 : Ideal of S i6 : randomSquareFreeMonomialIdeal(5:2, S) o6 = ideal (a*e, a*b, b*d, b*c, d*e) o6 : Ideal of S

## Caveat

The ideal is constructed degree by degree, starting from the lowest degree specified. If there are not enough monomials of the next specified degree that are not already in the ideal, the function prints a warning and returns an ideal containing all the generators of that degree.