#### D.2.4.2 cgsdr

Procedure from library `grobcov.lib` (see grobcov_lib).

Return:
  Returns a list T describing a reduced and disjoint
  Comprehensive Groebner System (CGS),
  With option ("out",0)
  the segments are grouped by
  leading power products (lpp) of the reduced Groebner
  basis and given in P-representation.
  The returned list is of the form: ( (lpp, (num,basis,segment),...,(num,basis,segment),lpp), ..,, (lpp, (num,basis,segment),...,(num,basis,segment),lpp) ) The bases are the reduced Groebner bases (after normalization) for each point of the corresponding segment.

  The third element of each lpp segment is the lpp of the used ideal in the CGS as a string:
  with option ("can",0) the homogenized basis is used
  with option ("can",1) the homogenized ideal is used
  with option ("can",2) the given basis is used

  With option ("out",1) (default)
  only KSW is applied and segments are given as
  difference of varieties and are not grouped
  The returned list is of the form: ( (E,N,B),..(E,N,B) ) E is the null variety
  N is the nonnull variety
  segment = V(E) \ V(N)
  B is the reduced Groebner basis

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.

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);
    cgsdr(F);
    ==> [1]:
    ==>    [1]:
    ==>       _[1]=0
    ==>    [2]:
    ==>       _[1]=(-a2+a3^2)
    ==>       _[2]=(-a1*a2+a1*a3^2+3*a2^2*a3-5*a2*a3^3+2*a3^5)
    ==>       _[3]=(23*a1^2-138*a1*a2*a3+92*a1*a3^3+25*a2^3+132*a2^2*a3^2-201*a2*\
       a3^4+67*a3^6)
    ==>       _[4]=(a0-4*a1*a3+6*a2*a3^2-3*a3^4)
    ==>    [3]:
    ==>       _[1]=1
    ==> [2]:
    ==>    [1]:
    ==>       _[1]=(a2-a3^2)
    ==>       _[2]=(a1-a3^3)
    ==>       _[3]=(a0-a3^4)
    ==>    [2]:
    ==>       _[1]=1
    ==>    [3]:
    ==>       _[1]=x3+(a3)
    ==>       _[2]=x2^2+(2*a3)*x2+(a3^2)
    ==>       _[3]=x1^3+(3*a3)*x1^2+(3*a3^2)*x1+(a3^3)

User manual for Singular version 4-0-3, 2016, generated by texi2html.