Random functions

Here we describe some functions which allow to create several "random" objects.

Random functions
Returns a ``random" numerical semigroup with no more than n generators in [1..m]. gap> RandomNumericalSemigroup(3,9); <Numerical semigroup with 3 generators>
Returns a set of length not greater than n of random integers in [1..m] whose GCD is 1. It is used to create "random" numerical semigroups. gap> RandomListForNS(13,79); [ 22, 26, 29, 31, 34, 46, 53, 61, 62, 73, 76 ]
Returns a ``random" modular numerical semigroup. gap> RandomModularNumericalSemigroup(9); <Modular numerical semigroup satisfying 5x mod 6 <= x >
Returns a ``random" proportionally modular numerical semigroup (see ). gap> RandomProportionallyModularNumericalSemigroup(9); <Proportionally modular numerical semigroup satisfying 2x mod 3 <= 2x >
Produces a ``random" list representing a subadditive function (see ) which is periodic with period m (or less). When possible, the images are in [a..20*a]. (Otherwise, the list of possible images is enlarged.)

gap> RandomListRepresentingSubAdditiveFunction(7,9); [ 173, 114, 67, 0 ] gap> RepresentsPeriodicSubAdditiveFunction(last); true