|  |  D.6.1.4 semigroup Procedure from libraryalexpoly.lib(see  alexpoly_lib).
 
Example:Usage:
semigroup(INPUT); INPUT poly or list
Assume:
INPUT is either a REDUCED bivariate polynomial defining a plane curve singularity,
or the output of hnexpansion(f[,"ess"]), or the listhnein
the ring created byhnexpansion(f[,"ess"]), or the output ofdevelop(f)resp. ofextdevelop(f,n), or a list containing
the contact matrix and a list of integer vectors with the characteristic exponents
of the branches of a plane curve singularity, or an integer vector containing
the characteristic exponents of an irreducible plane curve singularity.
Return:
a list with three entries. The first and the second are lists v_1,...,v_sandw_1,...,w_rrespectively of integer vectors such that the semigroup
of the plane curve defined by the INPUT is generated by the vectorsv_1,...,v_s,w_1+k*e_1,...,w_r+k*e_r, where e_i denotes the i-th standard
basis vector and k runs through all non-negative integers. The third entry is the conductor
of the plane curve singularity. Note that r is the number of branches of the plane curve
singularity and integer vectors thus have size r.
Note:
If the output is zero this means that the curve has one branch and is regular.
In the reducible case the set of generators may not be minimal.
If you are not sure whether the INPUT polynomial is reduced or not, use
 squarefree(INPUT)as input instead.
 See also:
 resolutiongraph;
 totalmultiplicities.|  | LIB "alexpoly.lib";
ring r=0,(x,y),ls;
// Irreducible Case
semigroup((x2-y3)^2-4x5y-x7);
==> [1]:
==>    [1]:
==>       4
==>    [2]:
==>       6
==>    [3]:
==>       17
==> [2]:
==>    empty list
==> [3]:
==>    20
// In the irreducible case, invariants() also calculates a minimal set of
// generators of the semigroup.
invariants((x2-y3)^2-4x5y-x7)[1][2];
==> 4,6,17
// Reducible Case
poly f=(y2-x3)*(y2+x3)*(y4-2x3y2-4x5y+x6-x7);
semigroup(f);
==> [1]:
==>    [1]:
==>       2,2,4
==>    [2]:
==>       3,3,6
==> [2]:
==>    [1]:
==>       6,6,12
==>    [2]:
==>       6,7,13
==>    [3]:
==>       12,13,26
==> [3]:
==>    20,21,41
 | 
 
 |