Macaulay2 » Documentation
Packages » NumericalSemigroups :: randomSemigroup
next | previous | forward | backward | up | index | toc

randomSemigroup -- Random semingroup on a given face of the Kunz cone

Description

Find a random semigroup within a bounded portiion of the open face of the Kunz cone containing L (or of the interior of the Kunz cone, if a multiplicity m is specified instead of a list.

After (H,M) = allSemigroups L, the Apery set of L' is obtained by prepending m to the sum of a random linear combination of the rows of H (using random integers 0..b-1) and a random row of M.

Since L' is on the same face as L, it shares many homological properties, such as the total betti numbers of the resolution of its semigroup ideal.

i1 : L = {6,9,13,16}

o1 = {6, 9, 13, 16}

o1 : List
i2 : L' = randomSemigroup({6,9,13,16}, 5)

o2 = {6, 121, 242, 255, 226, 347}

o2 : List
i3 : mingens L'

o3 = {6, 121, 226, 255}

o3 : List
i4 : F = res semigroupIdeal L;
i5 : F'= res semigroupIdeal L';
i6 : apply(1+length F, i-> rank F_i)

o6 = {1, 6, 8, 3}

o6 : List
i7 : apply(1+length F', i-> rank F'_i)

o7 = {1, 6, 8, 3}

o7 : List

Caveat

The list L' is an Apery set, so may not be a minimal set of semigroup generators.

See also

Ways to use randomSemigroup:

  • randomSemigroup(List,ZZ)
  • randomSemigroup(ZZ,ZZ)

For the programmer

The object randomSemigroup is a method function.


The source of this document is in NumericalSemigroups.m2:2299:0.