#### D.2.4.10 locus

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

Options:
  The algorithm allows the following options as pair of arguments: "movdim", d : by default movdim is 2 but it can be set to other values, and represents the number of mever variables. they should be given as the last variables of the ring.
  "version", v : There are two versions of the algorithm. ("version",1) is a full algorithm that always distinguishes correctly between 'Normal' and 'Special' components, whereas \("version",0) can decalre a component as 'Normal' being really 'Special', but is more effective. By default ("version",1) is used when the number of variables is less than 4 and 0 if not. The user can force to use one or other version, but it is not recommended. "system", ideal F: if the initial system is passed as an argument. This is actually not used. "comments", c: by default it is 0, but it can be set to 1. Usually locus problems have mover coordinates, variables and tracer coordinates. The mover coordinates are to be placed as the last variables, and by default, its number is 2. If one consider locus problems in higer dimensions, the number of mover coordinates (placed as the last variables) is to be given as an option.

Return:
  The locus. The output is a list of the components ( C_1,.. C_n ) where C_i = (p_i,(p_i1,..p_is_i), type_i,l evel_i ) and type_i can be 'Normal', 'Special', Accumulation', 'Degenerate'. The 'Special' components return more information, namely the antiimage of the component, that is 0-dimensional for these kind of components.
  Normal components: for each point in the component,
  the number of solutions in the variables is finite, and the solutions depend on the point in the component.
  Special components: for each point in the component, the number of solutions in the variables is finite. The antiimage of the component is 0-dimensional.
  Accumlation points: are 0-dimensional components whose antiimage is not zero-dimansional.
  Degenerate components: are components of dimension greater than 0 whose antiimage is not-zero-diemansional.
  The components are given in canonical P-representation. The levels of a class of locus are 1,
  because they represent locally closed. sets.

Note:
  It can only be called after computing the grobcov of the parametrical ideal in generic representation ('ext',0), which is the default.
  The basering R, must be of the form Q[a_1,..,a_m][x_1,..,x_n].

Example:

    LIB "grobcov.lib";
    ring R=(0,a,b),(x,y),dp;
    short=0;
    // Concoid
    ideal S96=x^2+y^2-4,(b-2)*x-a*y+2*a,(a-x)^2+(b-y)^2-1;
    // System S96=
    S96;
    ==> S96[1]=x^2+y^2-4
    ==> S96[2]=(b-2)*x+(-a)*y+(2*a)
    ==> S96[3]=x^2+y^2+(-2*a)*x+(-2*b)*y+(a^2+b^2-1)
    locus(grobcov(S96));
    ==> [1]:
    ==>    [1]:
    ==>       _[1]=(a^4+2*a^2*b^2-9*a^2+b^4-9*b^2+4*b+12)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=(b-2)
    ==>          _[2]=(a)
    ==>       [2]:
    ==>          _[1]=(2*b-3)
    ==>          _[2]=(4*a^2-3)
    ==>    [3]:
    ==>       Normal
    ==>    [4]:
    ==>       1
    ==> [2]:
    ==>    [1]:
    ==>       _[1]=(a^2+b^2-4*b+3)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=(2*b-3)
    ==>          _[2]=(4*a^2-3)
    ==>    [3]:
    ==>       [1]:
    ==>          Special
    ==>       [2]:
    ==>          y-2,x
    ==>    [4]:
    ==>       1
    ==> [3]:
    ==>    [1]:
    ==>       _[1]=(b-2)
    ==>       _[2]=(a)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=1
    ==>    [3]:
    ==>       Normal
    ==>    [4]:
    ==>       2
    ==> [4]:
    ==>    [1]:
    ==>       _[1]=(2*b-3)
    ==>       _[2]=(4*a^2-3)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=1
    ==>    [3]:
    ==>       Normal
    ==>    [4]:
    ==>       2
    kill R;
    // ********************************************
    ring R=(0,a,b),(x4,x3,x2,x1),dp;
    short=0;
    ideal S=(x1-3)^2+(x2-1)^2-9,
    (4-x2)*(x3-3)+(x1-3)*(x4-1),
    (3-x1)*(x3-x1)+(4-x2)*(x4-x2),
    (4-x4)*a+(x3-3)*b+3*x4-4*x3,
    (a-x1)^2+(b-x2)^2-(x1-x3)^2-(x2-x4)^2;
    // System S=
    S;
    ==> S[1]=x2^2+x1^2-2*x2-6*x1+1
    ==> S[2]=-x3*x2+x4*x1-3*x4+4*x3+3*x2-x1-9
    ==> S[3]=-x4*x2+x2^2-x3*x1+x1^2+4*x4+3*x3-4*x2-3*x1
    ==> S[4]=(-a+3)*x4+(b-4)*x3+(4*a-3*b)
    ==> S[5]=-x4^2-x3^2+2*x4*x2+2*x3*x1+(-2*b)*x2+(-2*a)*x1+(a^2+b^2)
    locus(grobcov(S));
    ==> locus detected that the mover must avoid point (x1-3,x2-4) in order to ob\
       tain the correct locus
    ==> [1]:
    ==>    [1]:
    ==>       _[1]=(a^4-12*a^3+2*a^2*b^2-13*a^2*b+236*a^2-12*a*b^2+78*a*b-1200*a+\
       b^4-13*b^3+60*b^2-85*b+1495)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=(7*b-4)
    ==>          _[2]=(49*a^2-294*a+387)
    ==>       [2]:
    ==>          _[1]=(b+2)
    ==>          _[2]=(a-3)
    ==>       [3]:
    ==>          _[1]=(b-4)
    ==>          _[2]=(a-3)
    ==>    [3]:
    ==>       Normal
    ==>    [4]:
    ==>       1
    ==> [2]:
    ==>    [1]:
    ==>       _[1]=(a^2-6*a+b^2+b+7)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=(b-2)
    ==>          _[2]=(a^2-6*a+13)
    ==>       [2]:
    ==>          _[1]=(7*b-4)
    ==>          _[2]=(49*a^2-294*a+387)
    ==>       [3]:
    ==>          _[1]=(b+2)
    ==>          _[2]=(a-3)
    ==>    [3]:
    ==>       Normal
    ==>    [4]:
    ==>       1
    ==> [3]:
    ==>    [1]:
    ==>       _[1]=(7*b-4)
    ==>       _[2]=(49*a^2-294*a+387)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=1
    ==>    [3]:
    ==>       Normal
    ==>    [4]:
    ==>       2
    ==> [4]:
    ==>    [1]:
    ==>       _[1]=(b+2)
    ==>       _[2]=(a-3)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=1
    ==>    [3]:
    ==>       Normal
    ==>    [4]:
    ==>       2
    ==> [5]:
    ==>    [1]:
    ==>       _[1]=(b-2)
    ==>       _[2]=(a^2-6*a+13)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=1
    ==>    [3]:
    ==>       Accumulation
    ==>    [4]:
    ==>       1
    ==> [6]:
    ==>    [1]:
    ==>       _[1]=(b-4)
    ==>       _[2]=(a-3)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=1
    ==>    [3]:
    ==>       Accumulation
    ==>    [4]:
    ==>       1
    kill R;
    //********************************************
    ring R=(0,x,y),(x1,x2),dp;
    short=0;
    ideal S=-(x - 5)*(x1 - 1) - (x2 - 2)*(y - 2),
    (x1 - 5)^2 + (x2 - 2)^2 - 4,
    -2*(x - 5)*(x2 - 2) + 2*(x1 - 5)*(y - 2);
    // System S=
    S;
    ==> S[1]=(-x+5)*x1+(-y+2)*x2+(x+2*y-9)
    ==> S[2]=x1^2+x2^2-10*x1-4*x2+25
    ==> S[3]=(2*y-4)*x1+(-2*x+10)*x2+(4*x-10*y)
    locus(grobcov(S));
    ==> [1]:
    ==>    [1]:
    ==>       _[1]=(3*x^2-30*x-y^2+4*y+71)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=(y-2)
    ==>          _[2]=(x-5)
    ==>    [3]:
    ==>       [1]:
    ==>          Special
    ==>       [2]:
    ==>          x1-4,x2^2-4*x2+1
    ==>    [4]:
    ==>       1
    ==> [2]:
    ==>    [1]:
    ==>       _[1]=(y-2)
    ==>       _[2]=(x-5)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=1
    ==>    [3]:
    ==>       Accumulation
    ==>    [4]:
    ==>       1

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