|
D.2.4.1 grobcov
Procedure from library grobcov.lib (see grobcov_lib).
- 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.
Basis: to each element of lpp corresponds an I-regular function given
in full representation (by option ("ext",1)) or in
generic representation (default option ("ext",0)). The
I-regular 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 I-regular
function specializes to non-zero.
With the default option ("rep",0) the representation of the
segment is the P-representation.
With option ("rep",1) the representation of the segment is
the C-representation.
With option ("rep",2) both representations of the segment are
given.
The P-representation of a segment is of the form
((p_1,(p_11,..,p_1k1)),..,(p_r,(p_r1,..,p_rkr))
representing the segment U_i (V(p_i) \ U_j (V(p_ij))),
where the p's are prime ideals.
The C-representation 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";
==> Casas conjecture for degree 4
ring R=(0,a0,a1,a2,a3,a4),(x1,x2,x3),dp;
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);
==> // ** int division with `/`: use `div` instead in line >>forif (!(i<=size\
(L)/2)) break;<<
==> // ** int division with `/`: use `div` instead in line >>forif (!(i<=size\
(L)/2)) break;<<
==> // ** int division with `/`: use `div` instead in line >>forif (!(i<=size\
(L)/2)) break;<<
==> // ** int division with `/`: use `div` instead in line >>forif (!(i<=size\
(L)/2)) break;<<
==> // ** int division with `/`: use `div` instead in line >>forif (!(i<=size\
(L)/2)) break;<<
==> // ** int division with `/`: use `div` instead in line >>forif (!(i<=size\
(L)/2)) break;<<
==> [1]:
==> [1]:
==> _[1]=1
==> [2]:
==> _[1]=1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=0
==> [2]:
==> [1]:
==> _[1]=(a2-a3^2)
==> _[2]=(a1-a3^3)
==> _[3]=(a0-a3^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]=(a2-a3^2)
==> _[2]=(a1-a3^3)
==> _[3]=(a0-a3^4)
==> [2]:
==> [1]:
==> _[1]=1
==> [4]:
==> x3,x2^2,x1^3
|
|