Top
Back: pnormalform
Forward: grobcovold
FastBack: general_lib
FastForward: inout_lib
Up: grobcov_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

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


Top Back: pnormalform Forward: grobcovold FastBack: general_lib FastForward: inout_lib Up: grobcov_lib Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 3-1-3, March 2011, generated by texi2html.