|
D.2.4.9 grobcovold
Procedure from library grobcov.lib (see grobcov_lib).
- Return:
- With the default option ("out",0), the list
(
(lpp_1,basis_1,P-representation_1)
...
(lpp_s,basis_s,P-represntation_s)
)
With option "out",1, a list T representing a rooted tree.
Each element of the list T has the two first entries with the
following content:
[1]: The label (intvec) representing the position in the rooted
tree: 0 for the root (and this is a special element)
i for the root of the segment i
(i,...) for the children of the segment i
[2]: the number of children (int) of the vertex.
There are three kind of vertices:
(1) the root (first element labelled 0),
(2) the vertices labelled with a single integer i,
(3) the rest of vertices labelled with more indices.
Description of the root. Vertex type (1)
There is a special vertex (the first one) whose content is
the following:
[3] lpp of the given ideal
[4] the given ideal
[5] the R-representation of the (optional) given null and
non-null conditions.
[6] CRCGS, RCGS, MRCGS depending on the "can" option (1,0,2).
Description of vertices type (2). These are the vertices that
initiate a segment, and are labelled with a single integer.
[3] lpp (ideal) of the reduced basis. If they are repeated lpp's this
will correspond to a sheaf.
[4] the reduced basis (ideal) of the segment.
Description of vertices type (3). These vertices have as first
label i and descend form vertex i in the position of the label
(i,...). They contain moreover a unique prime ideal in the parameters
and form ascending chains of ideals.
How is to be read the mrcgs tree? The vertices with an even number of
integers in the label are to be considered as additive and those
with an odd number of integers in the label are to be considered as
substraction. As an example consider the following vertices:
v1=((i),2,lpp,B),
v2=((i,1),2,P_(i,1)),
v3=((i,1,1),2,P_(i,1,1)),
v4=((i,1,1,1),1,P_(i,1,1,1)),
v5=((i,1,1,1,1),0,P_(i,1,1,1,1)),
v6=((i,1,1,2),1,P_(i,1,1,2)),
v7=((i,1,1,2,1),0,P_(i,1,1,2,1)),
v8=((i,1,2),0,P_(i,1,2)),
v9=((i,2),1,P_(i,2)),
v10=((i,2,1),0,P_(i,2,1)),
They represent the segment:
(V(i,1)\(((V(i,1,1) \ ((V(i,1,1,1) \ V(i,1,1,1,1)) u (V(i,1,1,2) \ V(i,1,1,2,1)))))
u V(i,1,2))) u (V(i,2) \ V(i,2,1))
and can also be represented by
(V(i,1) \ (V(i,1,1) u V(i,1,2))) u
(V(i,1,1,1) \ V(i,1,1,1)) u
(V(i,1,1,2) \ V(i,1,1,2,1)) u
(V(i,2) \ V(i,2,1))
where V(i,j,..) = V(P_(i,j,..))
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.
Basis: to each element of lpp corresponds an I-regular function given Groebner basis, and it is given in full representation (by
in full representation. The 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, specialize to the corresponding
element of the reduced Groebner basis.
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.
- 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";
"Simple robot: A. Montes,";
==> Simple robot: A. Montes,
"New algorithm for discussing Groebner bases with parameters,";
==> New algorithm for discussing Groebner bases with parameters,
"JSC, 33: 183-208 (2002).";
==> JSC, 33: 183-208 (2002).
ring R=(0,r,z,l),(s1,c1,s2,c2), dp;
ideal S10=c1^2+s1^2-1,
c2^2+s2^2-1,
r-c1-l*c1*c2+l*s1*s2,
z-s1-l*c1*s2-l*s1*c2;
grobcovold(S10,"comment",1);
==> can = 1 out = 0 comment = 1
==> Time in grobcovold = 6 sec
==> [1]:
==> [1]:
==> _[1]=c2
==> _[2]=c1
==> _[3]=s1
==> _[4]=s2^2
==> [2]:
==> _[1]=(2*l)*c2+(-r^2-z^2+l^2+1)
==> _[2]=(2*r^2+2*z^2)*c1+(-2*z*l)*s2+(-r^3-r*z^2+r*l^2-r)
==> _[3]=(2*r^2+2*z^2)*s1+(2*r*l)*s2+(-r^2*z-z^3+z*l^2-z)
==> _[4]=(4*l^2)*s2^2+(r^4+2*r^2*z^2-2*r^2*l^2-2*r^2+z^4-2*z^2*l^2-2*z^\
2+l^4-2*l^2+1)
==> [3]:
==> [1]:
==> [1]:
==> _[1]=0
==> [2]:
==> [1]:
==> _[1]=(l)
==> [2]:
==> _[1]=(r^2+z^2)
==> [2]:
==> [1]:
==> _[1]=c2
==> _[2]=s2
==> _[3]=c1
==> _[4]=s1
==> [2]:
==> _[1]=(2*l)*c2+(l^2+1)
==> _[2]=(2*z*l)*s2+(-r*l^2+r)
==> _[3]=(4*r*l^2-4*r)*c1+(-4*z^2+l^4-2*l^2+1)
==> _[4]=(4*z*l^2-4*z)*s1+(4*z^2+l^4-2*l^2+1)
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(r^2+z^2)
==> [2]:
==> [1]:
==> _[1]=(l+1)
==> _[2]=(r^2+z^2)
==> [2]:
==> _[1]=(l)
==> _[2]=(r^2+z^2)
==> [3]:
==> _[1]=(l-1)
==> _[2]=(r^2+z^2)
==> [4]:
==> _[1]=(z)
==> _[2]=(r)
==> [3]:
==> [1]:
==> _[1]=1
==> [2]:
==> _[1]=1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(l+1)
==> _[2]=(r^2+z^2)
==> [2]:
==> [1]:
==> _[1]=(l+1)
==> _[2]=(z)
==> _[3]=(r)
==> [2]:
==> [1]:
==> _[1]=(l-1)
==> _[2]=(r^2+z^2)
==> [2]:
==> [1]:
==> _[1]=(l-1)
==> _[2]=(z)
==> _[3]=(r)
==> [4]:
==> [1]:
==> _[1]=1
==> [2]:
==> _[1]=1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(z)
==> _[2]=(r)
==> [2]:
==> [1]:
==> _[1]=(l-1)
==> _[2]=(z)
==> _[3]=(r)
==> [2]:
==> _[1]=(l)
==> _[2]=(z)
==> _[3]=(r)
==> [3]:
==> _[1]=(l+1)
==> _[2]=(z)
==> _[3]=(r)
==> [5]:
==> [1]:
==> _[1]=c2
==> _[2]=s2
==> _[3]=s1^2
==> [2]:
==> _[1]=(l)*c2+1
==> _[2]=s2
==> _[3]=s1^2+c1^2-1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(l-1)
==> _[2]=(z)
==> _[3]=(r)
==> [2]:
==> [1]:
==> _[1]=1
==> [2]:
==> [1]:
==> _[1]=(l+1)
==> _[2]=(z)
==> _[3]=(r)
==> [2]:
==> [1]:
==> _[1]=1
==> [6]:
==> [1]:
==> _[1]=1
==> [2]:
==> _[1]=1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(l)
==> [2]:
==> [1]:
==> _[1]=(l)
==> _[2]=(r^2+z^2-1)
==> [2]:
==> _[1]=(l)
==> _[2]=(r^2+z^2)
==> [7]:
==> [1]:
==> _[1]=1
==> [2]:
==> _[1]=1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(l)
==> _[2]=(r^2+z^2)
==> [2]:
==> [1]:
==> _[1]=(l)
==> _[2]=(z)
==> _[3]=(r)
==> [8]:
==> [1]:
==> _[1]=1
==> [2]:
==> _[1]=1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(l)
==> _[2]=(z)
==> _[3]=(r)
==> [2]:
==> [1]:
==> _[1]=1
==> [9]:
==> [1]:
==> _[1]=c1
==> _[2]=s1
==> _[3]=s2^2
==> [2]:
==> _[1]=c1+(-r)
==> _[2]=s1+(-z)
==> _[3]=s2^2+c2^2-1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(l)
==> _[2]=(r^2+z^2-1)
==> [2]:
==> [1]:
==> _[1]=1
grobcovold(S10,"can",2,"comment",1);
==> can = 2 out = 0 comment = 1
==> Time in grobcovold = 3 sec
==> [1]:
==> [1]:
==> _[1]=c2
==> _[2]=c1
==> _[3]=s1
==> _[4]=s2^2
==> [2]:
==> _[1]=(2*l)*c2+(-r^2-z^2+l^2+1)
==> _[2]=(2*r^2+2*z^2)*c1+(-2*z*l)*s2+(-r^3-r*z^2+r*l^2-r)
==> _[3]=(2*r^2+2*z^2)*s1+(2*r*l)*s2+(-r^2*z-z^3+z*l^2-z)
==> _[4]=(4*l^2)*s2^2+(r^4+2*r^2*z^2-2*r^2*l^2-2*r^2+z^4-2*z^2*l^2-2*z^\
2+l^4-2*l^2+1)
==> [3]:
==> [1]:
==> [1]:
==> _[1]=0
==> [2]:
==> [1]:
==> _[1]=(l)
==> [2]:
==> _[1]=(r^2+z^2)
==> [2]:
==> [1]:
==> _[1]=c2
==> _[2]=s2
==> _[3]=c1
==> _[4]=s1
==> [2]:
==> _[1]=(2*l)*c2+(l^2+1)
==> _[2]=(2*z*l)*s2+(-r*l^2+r)
==> _[3]=(4*r*l^2-4*r)*c1+(-4*z^2+l^4-2*l^2+1)
==> _[4]=(4*z*l^2-4*z)*s1+(4*z^2+l^4-2*l^2+1)
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(r^2+z^2)
==> [2]:
==> [1]:
==> _[1]=(l+1)
==> _[2]=(r^2+z^2)
==> [2]:
==> _[1]=(l)
==> _[2]=(r^2+z^2)
==> [3]:
==> _[1]=(l-1)
==> _[2]=(r^2+z^2)
==> [4]:
==> _[1]=(z)
==> _[2]=(r)
==> [3]:
==> [1]:
==> _[1]=1
==> [2]:
==> _[1]=1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(l+1)
==> _[2]=(r^2+z^2)
==> [2]:
==> [1]:
==> _[1]=(l+1)
==> _[2]=(z)
==> _[3]=(r)
==> [2]:
==> [1]:
==> _[1]=(l-1)
==> _[2]=(r^2+z^2)
==> [2]:
==> [1]:
==> _[1]=(l-1)
==> _[2]=(z)
==> _[3]=(r)
==> [3]:
==> [1]:
==> _[1]=(z)
==> _[2]=(r)
==> [2]:
==> [1]:
==> _[1]=(l-1)
==> _[2]=(z)
==> _[3]=(r)
==> [2]:
==> _[1]=(l+1)
==> _[2]=(z)
==> _[3]=(r)
==> [4]:
==> [1]:
==> _[1]=(l)
==> [2]:
==> [1]:
==> _[1]=(l)
==> _[2]=(r^2+z^2-1)
==> [4]:
==> [1]:
==> _[1]=c2
==> _[2]=s2
==> _[3]=s1^2
==> [2]:
==> _[1]=(l)*c2+1
==> _[2]=s2
==> _[3]=s1^2+c1^2-1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(l-1)
==> _[2]=(z)
==> _[3]=(r)
==> [2]:
==> [1]:
==> _[1]=1
==> [2]:
==> [1]:
==> _[1]=(l+1)
==> _[2]=(z)
==> _[3]=(r)
==> [2]:
==> [1]:
==> _[1]=1
==> [5]:
==> [1]:
==> _[1]=c1
==> _[2]=s1
==> _[3]=s2^2
==> [2]:
==> _[1]=c1+(-r)
==> _[2]=s1+(-z)
==> _[3]=s2^2+c2^2-1
==> [3]:
==> [1]:
==> [1]:
==> _[1]=(l)
==> _[2]=(r^2+z^2-1)
==> [2]:
==> [1]:
==> _[1]=1
|
|