|
D.2.4.8 cgsdrold
Procedure from library grobcov.lib (see grobcov_lib).
- Return:
- With the default option "old",1, it returns a list T describing
a reduced and disjoint comprehensive Groebner system (CGS),
whose segments correspond to constant leading power products (lpp)
of the reduced Groebner basis. The returned list is of the form:
(
(lpp, (basis,segment),...,(basis,segment)),
..,,
(lpp, (basis,segment),...,(basis,segment))
)
The bases are the reduced Groebner bases (after normalization)
for each point of the corresponding segment.
Each segment is given by a reduced representation (Ni,Wi), with
Ni radical and V(Ni)=Zariski closure of the segment Si=V(Ni)\V(hi),
where hi is the product of the polynomials w in Wi.
Setting option "old",0 the output represents the tree and
can then be transformed to a plot structure using the routine
buildtreetoMaple.
Its structure in this case is:
The first element of the list is the root, and contains
[1] label: intvec(-1)
[2] number of children : int
[3] the ideal F
[4], [5], [6] the red-representation of the segment
(null, non-null conditions, prime components of the null
conditions) given (as option).
ideal (0), ideal (1), list(ideal(0)) is assumed if
no optional conditions are given.
[7] the set of lpp of ideal F
[8] condition that was taken to reach the vertex
(poly 1, for the root).
The remaining elements of the list represent vertices of the tree:
with the same structure:
[1] label: intvec (1,0,0,1,...) gives its position in the tree:
first branch condition is taken non-null, second null,...
[2] number of children (0 if it is a terminal vertex)
[3] the specialized ideal with the previous assumed conditions
to reach the vertex
[4],[5],[6] the red-representation of the segment corresponding
to the previous assumed conditions to reach the vertex
[7] the set of lpp of the specialized ideal at this stage
[8] condition that was taken to reach the vertex from the
father's vertex (that was taken non-null if the last
integer in the label is 1, and null if it is 0)
The terminal vertices form a disjoint partition of the parameter
space whose bases specialize to the reduced Groebner basis of the
specialized ideal on each point of the segment and preserve
the lpp. They form a disjoint reduced CGS, and is the only
vertices grouped and ordered by lpp that is returned with the
default option "old",1.
- Note:
- The basering R, must be of the form Q[a][x], a=parameters,
x=variables, and should be defined previously, and the ideal
defined on R.
comprehensive Groebner system
Example:
| LIB "grobcov.lib";
ring R=(0,a1,a2,a3,a4),(x1,x2,x3,x4),dp;
ideal F=x4-a4+a2,
x1+x2+x3+x4-a1-a3-a4,
x1*x3*x4-a1*a3*a4,
x1*x3+x1*x4+x2*x3+x3*x4-a1*a4-a1*a3-a3*a4;
cgsdrold(F);
==> [1]:
==> [1]:
==> _[1]=x4
==> _[2]=x1
==> _[3]=x3^2
==> _[4]=x2*x3
==> _[5]=x2^2
==> [2]:
==> [1]:
==> [1]:
==> _[1]=x4+(a2-a4)
==> _[2]=x1+x2+x3+(-a1-a2-a3)
==> _[3]=x3^2+(-a2+a4)*x2+(-a1-a2-a3)*x3+(a1*a2+a1*a3+a2^2+a2*a3-\
a2*a4)
==> _[4]=(a2-a4)*x2*x3+(a2^2-2*a2*a4+a4^2)*x2+(-a1*a2^2-a1*a2*a3+\
a1*a2*a4-a2^3-a2^2*a3+2*a2^2*a4+a2*a3*a4-a2*a4^2)
==> _[5]=(a2^2-2*a2*a4+a4^2)*x2^2+(-2*a1*a2^2-a1*a2*a3+3*a1*a2*a4\
+a1*a3*a4-a1*a4^2-3*a2^3-2*a2^2*a3+7*a2^2*a4+3*a2*a3*a4-5*a2*a4^2-a3*a4^2\
+a4^3)*x2+(-a1*a2^2-a1*a2*a3+a1*a2*a4-a2^3-a2^2*a3+2*a2^2*a4+a2*a3*a4-a2*\
a4^2)*x3+(a1^2*a2^2+a1^2*a2*a3-a1^2*a2*a4+3*a1*a2^3+4*a1*a2^2*a3-5*a1*a2^\
2*a4+a1*a2*a3^2-3*a1*a2*a3*a4+2*a1*a2*a4^2+2*a2^4+3*a2^3*a3-5*a2^3*a4+a2^\
2*a3^2-5*a2^2*a3*a4+4*a2^2*a4^2-a2*a3^2*a4+2*a2*a3*a4^2-a2*a4^3)
==> [2]:
==> _[1]=0
==> [3]:
==> _[1]=(a2-a4)
==> [2]:
==> [1]:
==> _[1]=1
==> [2]:
==> [1]:
==> [1]:
==> _[1]=1
==> [2]:
==> _[1]=(a2-a4)
==> [3]:
==> _[1]=(a1)
==> _[2]=(a3)
==> _[3]=(a4)
==> [3]:
==> [1]:
==> _[1]=x4
==> _[2]=x1
==> _[3]=x3^2
==> [2]:
==> [1]:
==> [1]:
==> _[1]=x4
==> _[2]=x1+x2+x3+(-a1-a3-a4)
==> _[3]=x3^2+(-a1-a3-a4)*x3+(a1*a3+a1*a4+a3*a4)
==> [2]:
==> _[1]=(a2-a4)
==> _[2]=(a1*a3*a4)
==> [3]:
==> _[1]=1
cgsdrold(F,"old",0);
==> [1]:
==> [1]:
==> -1
==> [2]:
==> 0
==> [3]:
==> _[1]=x4+(a2-a4)
==> _[2]=x1+x2+x3+x4+(-a1-a3-a4)
==> _[3]=x1*x3*x4+(-a1*a3*a4)
==> _[4]=x1*x3+x2*x3+x1*x4+x3*x4+(-a1*a3-a1*a4-a3*a4)
==> [4]:
==> _[1]=0
==> [5]:
==> _[1]=1
==> [6]:
==> [1]:
==> _[1]=0
==> [7]:
==> _[1]=x4
==> _[2]=x1
==> _[3]=x1*x3*x4
==> _[4]=x1*x3
==> [8]:
==> 1
==> [2]:
==> [1]:
==> -1
==> [2]:
==> 0
==> [3]:
==> _[1]=x4+(a2-a4)
==> _[2]=x1+x2+x3+x4+(-a1-a3-a4)
==> _[3]=x1*x3*x4+(-a1*a3*a4)
==> _[4]=x1*x3+x2*x3+x1*x4+x3*x4+(-a1*a3-a1*a4-a3*a4)
==> _[5]=x3^2+(-a2+a4)*x2+(-a1-a2-a3)*x3+(a1*a2+a1*a3+a2^2+a2*a3-a2*a4)
==> _[6]=(a2-a4)*x2*x3+(a2^2-2*a2*a4+a4^2)*x2+(-a1*a2^2-a1*a2*a3+a1*a2*\
a4-a2^3-a2^2*a3+2*a2^2*a4+a2*a3*a4-a2*a4^2)
==> [4]:
==> _[1]=0
==> [5]:
==> _[1]=(a2-a4)
==> [6]:
==> [1]:
==> _[1]=0
==> [7]:
==> _[1]=x4
==> _[2]=x1
==> _[3]=x1*x3*x4
==> _[4]=x1*x3
==> _[5]=x3^2
==> _[6]=x2*x3
==> [8]:
==> (a2-a4)
==> [3]:
==> [1]:
==> 0
==> [2]:
==> 0
==> [3]:
==> _[1]=x4
==> _[2]=x1+x2+x3+x4+(-a1-a3-a4)
==> _[3]=x1*x3*x4+(-a1*a3*a4)
==> _[4]=x1*x3+x2*x3+x1*x4+x3*x4+(-a1*a3-a1*a4-a3*a4)
==> _[5]=x3^2+(-a1-a3-a4)*x3+(a1*a3+a1*a4+a3*a4)
==> _[6]=(a1*a3*a4)
==> [4]:
==> _[1]=(a2-a4)
==> [5]:
==> _[1]=(a1)
==> _[2]=(a3)
==> _[3]=(a4)
==> [6]:
==> [1]:
==> _[1]=(a2-a4)
==> [7]:
==> _[1]=x4
==> _[2]=x1
==> _[3]=x1*x3*x4
==> _[4]=x1*x3
==> _[5]=x3^2
==> _[6]=1
==> [8]:
==> (a1*a3*a4)
==> [4]:
==> [1]:
==> 0,0
==> [2]:
==> 1
==> [3]:
==> _[1]=x4
==> _[2]=x1+x2+x3+(-a1-a3-a4)
==> _[3]=x3^2+(-a1-a3-a4)*x3+(a1*a3+a1*a4+a3*a4)
==> [4]:
==> _[1]=(a2-a4)
==> _[2]=(a1*a3*a4)
==> [5]:
==> _[1]=0
==> [6]:
==> [1]:
==> _[1]=(a4)
==> _[2]=(a2)
==> [2]:
==> _[1]=(a3)
==> _[2]=(a2-a4)
==> [3]:
==> _[1]=(a2-a4)
==> _[2]=(a1)
==> [7]:
==> _[1]=x4
==> _[2]=x1
==> _[3]=x3^2
==> [8]:
==> 1
==> [5]:
==> [1]:
==> 0,1
==> [2]:
==> 1
==> [3]:
==> _[1]=1
==> [4]:
==> _[1]=(a2-a4)
==> [5]:
==> _[1]=(a1)
==> _[2]=(a3)
==> _[3]=(a4)
==> [6]:
==> [1]:
==> _[1]=(a2-a4)
==> [7]:
==> _[1]=1
==> [8]:
==> 1
==> [6]:
==> [1]:
==> 1
==> [2]:
==> 1
==> [3]:
==> _[1]=x4+(a2-a4)
==> _[2]=x1+x2+x3+(-a1-a2-a3)
==> _[3]=x3^2+(-a2+a4)*x2+(-a1-a2-a3)*x3+(a1*a2+a1*a3+a2^2+a2*a3-a2*a4)
==> _[4]=(a2-a4)*x2*x3+(a2^2-2*a2*a4+a4^2)*x2+(-a1*a2^2-a1*a2*a3+a1*a2*\
a4-a2^3-a2^2*a3+2*a2^2*a4+a2*a3*a4-a2*a4^2)
==> _[5]=(a2^2-2*a2*a4+a4^2)*x2^2+(-2*a1*a2^2-a1*a2*a3+3*a1*a2*a4+a1*a3\
*a4-a1*a4^2-3*a2^3-2*a2^2*a3+7*a2^2*a4+3*a2*a3*a4-5*a2*a4^2-a3*a4^2+a4^3)\
*x2+(-a1*a2^2-a1*a2*a3+a1*a2*a4-a2^3-a2^2*a3+2*a2^2*a4+a2*a3*a4-a2*a4^2)*\
x3+(a1^2*a2^2+a1^2*a2*a3-a1^2*a2*a4+3*a1*a2^3+4*a1*a2^2*a3-5*a1*a2^2*a4+a\
1*a2*a3^2-3*a1*a2*a3*a4+2*a1*a2*a4^2+2*a2^4+3*a2^3*a3-5*a2^3*a4+a2^2*a3^2\
-5*a2^2*a3*a4+4*a2^2*a4^2-a2*a3^2*a4+2*a2*a3*a4^2-a2*a4^3)
==> [4]:
==> _[1]=0
==> [5]:
==> _[1]=(a2-a4)
==> [6]:
==> [1]:
==> _[1]=0
==> [7]:
==> _[1]=x4
==> _[2]=x1
==> _[3]=x3^2
==> _[4]=x2*x3
==> _[5]=x2^2
==> [8]:
==> 1
|
|