
D.4.15.4 regMonCurve
Procedure from library mregular.lib (see mregular_lib).
 Usage:
 regMonCurve (a0,...,an) ; ai integers with a0=0 < a1 < ... < an=:d
 Return:
 an integer, the CastelnuovoMumford regularity of the projective
monomial curve C in Pn(K) parametrically defined by
x(0) = t^d , x(1) = s^(a1)t^(da1) , ..... , x(n) = s^d
where K is the field of complex numbers.
(returns 1 if a0=0 < a1 < ... < an is not satisfied)
 Assume:
 a0=0 < a1 < ... < an are integers.
 Notes:
 1. The defining ideal of the curve C, I in S=K[x(0),...,x(n)], is
determined by elimination.
2. The procedure regIdeal has been improved in this case since one
knows beforehand that the monomial ideal J=lead(std(I)) is of
nested type if the monomial ordering is dp, and that
reg(C)=reg(J) (see preprint 'Saturation and CastelnuovoMumford
regularity' by BermejoGimenez, 2004).
3. If printlevel > 0 (default = 0) additional info is displayed:
 It says whether C is arithmetically CohenMacaulay or not.
 If C is not arith. CohenMacaulay, end(H^1(S/I)) is computed
and an upper bound for the ainvariant of S/I is given.
 It also determines one step of the minimal graded free
resolution (m.g.f.r.) of I where the regularity is attained
and gives the value of the regularity of the Hilbert function
of S/I when reg(I) is attained at the last step of a m.g.f.r.
Example:
 LIB "mregular.lib";
// The 1st example is the twisted cubic:
regMonCurve(0,1,2,3);
==> 2
// The 2nd. example is the non arithm. CohenMacaulay monomial curve in P4
// parametrized by: x(0)s6,x(1)s5t,x(2)s3t3,x(3)st5,x(4)t6:
regMonCurve(0,1,3,5,6);
==> 3
// Additional information is displayed if you change printlevel (=1);

