next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
MonomialAlgebras :: randomSemigroup

randomSemigroup -- Generate random semigroups.

Synopsis

Description

Generate a random generating set of a semigroups B in ℕd of full dimension with coordinate sum a and codimension c.

The option SetSeed can be used to control the random number generator.

The option Num can be used to return a list of semigroups.

The option Simplicial can be used to return a simplicial semigroup such that the standard vectors a*ei are among the Hilbert basis.

i1 : randomSemigroup(5,3,7)

o1 = {{3, 0, 2}, {0, 5, 0}, {0, 2, 3}, {1, 4, 0}, {0, 0, 5}, {3, 2, 0}, {0,
     ------------------------------------------------------------------------
     3, 2}, {2, 2, 1}, {1, 2, 2}, {2, 3, 0}}

o1 : List
i2 : randomSemigroup(5,3,7,SetSeed=>true)

o2 = {{5, 0, 0}, {1, 3, 1}, {1, 4, 0}, {0, 2, 3}, {3, 0, 2}, {0, 1, 4}, {0,
     ------------------------------------------------------------------------
     5, 0}, {4, 1, 0}, {2, 0, 3}, {4, 0, 1}}

o2 : List
i3 : randomSemigroup(5,3,7,SetSeed=>true)

o3 = {{5, 0, 0}, {1, 3, 1}, {1, 4, 0}, {0, 2, 3}, {3, 0, 2}, {0, 1, 4}, {0,
     ------------------------------------------------------------------------
     5, 0}, {4, 1, 0}, {2, 0, 3}, {4, 0, 1}}

o3 : List
i4 : randomSemigroup(5,3,7,SetSeed=>true,Num=>2)

o4 = {{{5, 0, 0}, {1, 3, 1}, {1, 4, 0}, {0, 2, 3}, {3, 0, 2}, {0, 1, 4}, {0,
     ------------------------------------------------------------------------
     5, 0}, {4, 1, 0}, {2, 0, 3}, {4, 0, 1}}, {{1, 3, 1}, {1, 4, 0}, {2, 3,
     ------------------------------------------------------------------------
     0}, {0, 5, 0}, {1, 2, 2}, {3, 1, 1}, {0, 0, 5}, {1, 1, 3}, {4, 0, 1},
     ------------------------------------------------------------------------
     {0, 2, 3}}}

o4 : List
i5 : randomSemigroup(5,3,7,SetSeed=>true,Simplicial=>true)

o5 = {{5, 0, 0}, {0, 5, 0}, {0, 0, 5}, {0, 1, 4}, {4, 0, 1}, {1, 1, 3}, {1,
     ------------------------------------------------------------------------
     3, 1}, {2, 3, 0}, {2, 0, 3}, {1, 4, 0}}

o5 : List

Ways to use randomSemigroup :

  • randomSemigroup(ZZ,ZZ,ZZ)