
D.2.4.1 grobcov
Procedure from library grobcov.lib (see grobcov_lib).
 Usage:
 grobcov(F); This is the fundamental routine of the
library. It computes the Groebner cover of a parametric ideal. See
Montes A., Wibmer M.,
"Groebner Bases for Polynomial Systems with parameters".
JSC 45 (2010) 13911425.)
The Groebner Cover of a parametric ideal consist of a set of
pairs(S_i,B_i), where the S_i are disjoint locally closed
segments of the parameter space, and the B_i are the reduced
Groebner bases of the ideal on every point of S_i.
The ideal F must be defined on a parametric ring Q[a][x].
(a=parameters, x=variables)
Options: To modify the default options, pair of arguments
option name, value of valid options must be added to the call.
Options:
"null",ideal E: The default is ("null",ideal(0)).
"nonnull",ideal N: The default is ("nonnull",ideal(1)).
When options "null" and/or "nonnull" are given, then
the parameter space is restricted to V(E) \ V(N).
"can",01: The default is ("can",1). With the default option
the homogenized ideal is computed before obtaining the
Groebner Cover, so that the result is the canonical
Groebner Cover. Setting ("can",0) only homogenizes the
basis so the result is not exactly canonical, but the
computation is shorter.
"ext",01: The default is ("ext",0). With the default
("ext",0), only the generic representation of the bases is
computed (single polynomials, but not specializing to nonzero
for every point of the segment. With option ("ext",1) the
full representation of the bases is computed (possible
sheaves) and sometimes a simpler result is obtained,
but the computation is more time consuming.
"rep",012: The default is ("rep",0) and then the segments
are given in canonical Prepresentation. Option ("rep",1)
represents the segments in canonical Crepresentation,
and option ("rep",2) gives both representations.
"comment",03: The default is ("comment",0). Setting
"comment" higher will provide information about the
development of the computation.
One can give none or whatever of these options.
 Return:
 The list
(
(lpp_1,basis_1,segment_1,lpph_1),
...
(lpp_s,basis_s,segment_s,lpph_s)
)
The lpp are constant over a segment and correspond to the
set of lpp of the reduced Groebner basis for each point
of the segment.
The lpph corresponds to the lpp of the homogenized ideal
and is different for each segment. It is given as a string,
and shown only for information. With the default option
"can",1, the segments have different lpph.
Basis: to each element of lpp corresponds an Iregular function
given in full representation (by option ("ext",1)) or in
generic representation (default option ("ext",0)). The
Iregular function is the corresponding element of the reduced
Groebner basis for each point of the segment with the given lpp.
For each point in the segment, the polynomial or the set of
polynomials representing it, if they do not specialize to 0,
then after normalization, specializes to the corresponding
element of the reduced Groebner basis. In the full representation
at least one of the polynomials representing the Iregular
function specializes to nonzero.
With the default option ("rep",0) the representation of the
segment is the Prepresentation.
With option ("rep",1) the representation of the segment is
the Crepresentation.
With option ("rep",2) both representations of the segment are
given.
The Prepresentation of a segment is of the form
((p_1,(p_11,..,p_1k1)),..,(p_r,(p_r1,..,p_rkr))
representing the segment Union_i ( V(p_i) \ ( Union_j V(p_ij) ) ),
where the p's are prime ideals.
The Crepresentation of a segment is of the form
(E,N) representing V(E) \ V(N), and the ideals E and N are
radical and N contains E.
 Note:
 The basering R, must be of the form Q[a][x], (a=parameters,
x=variables), and should be defined previously. The ideal must
be defined on R.
parametric ideal.
Example:
 LIB "grobcov.lib";
// Casas conjecture for degree 4:
ring R=(0,a0,a1,a2,a3,a4),(x1,x2,x3),dp;
short=0;
ideal F=x1^4+(4*a3)*x1^3+(6*a2)*x1^2+(4*a1)*x1+(a0),
x1^3+(3*a3)*x1^2+(3*a2)*x1+(a1),
x2^4+(4*a3)*x2^3+(6*a2)*x2^2+(4*a1)*x2+(a0),
x2^2+(2*a3)*x2+(a2),
x3^4+(4*a3)*x3^3+(6*a2)*x3^2+(4*a1)*x3+(a0),
x3+(a3);
grobcov(F);
==> [1]:
==> [1]:
==> _[1]=1
==> [2]:
==> _[1]=1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=0
==> [2]:
==> [1]:
==> _[1]=(a2a3^2)
==> _[2]=(a1a3^3)
==> _[3]=(a0a3^4)
==> [4]:
==> 1
==> [2]:
==> [1]:
==> _[1]=x3
==> _[2]=x2^2
==> _[3]=x1^3
==> [2]:
==> _[1]=x3+(a3)
==> _[2]=x2^2+(2*a3)*x2+(a3^2)
==> _[3]=x1^3+(3*a3)*x1^2+(3*a3^2)*x1+(a3^3)
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(a2a3^2)
==> _[2]=(a1a3^3)
==> _[3]=(a0a3^4)
==> [2]:
==> [1]:
==> _[1]=1
==> [4]:
==> x3,x2^2,x1^3

