| #### D.2.4.12 locus Procedure from library `grobcov.lib` (see grobcov_lib). Usage: locus(ideal F[,options]) Special routine for determining the locus of points of a geometrical construction. Input: The input ideal must be the set equations defining the locus. Calling sequence: locus(F[,options]); The input ring must be a parametrical ideal in Q[x1,..,xn][u1,..,um], (x=tracer variables, u=remaining auxiliary variables). The number of tracer variables is n=dim(space). The n last u-variables are considered as mover variables. (Inverts the concept of parameters and variables of the ring). Options: An option is a pair of arguments: string, integer. To modify the default options, pairs of arguments -option name, value- of valid options must be added to the call.The algorithm allows the following options as pair of arguments: "grobcov", list(the previous computed grobcov(F)). It is to be used when we modify externally the grobcov, for example to obtain the real grobcov. "anti-image",0 if the anti-image is not to be shown for "Normal" components. "comments", c: by default it is 0, but it can be set to 1. Return: The output is a list of the components: ((p1,(p11,..p1s_1),tax_1),..,(pk,(pk1,..pks_k),tax_k) Elements 1 and 2 of a component represent the P-canonical form of the component. The third element tax is: for normal point components, tax=(d,taxonomy,anti-image) being d=dimension of the anti-image on the mover varaibles, taxonomy="Normal" or "Special" and anti-image=ideal of the anti-image over the mover variables which are taken to be the n last u-variables. for non-normal point components, tax =(d,taxonomy) being d=dimension of the component and taxonomy="Accumulation" or "Degenerate". The components are given in canonical P-representation. The normal locus has two kind of components: Normal and Special. Normal component: - each point in the component has 0-dimensional anti-image. - the anti-image in the mover coordinates is equal to the dimension of the component Special component: - each point in the component has 0-dimensional anti-image. - the anti-image in the mover coordinates is smaller than the dimension of the component The non-normal locus has two kind of components: Accumulation and Degenerate. Accumulation component: - each point in the component has anti-image of dimension greater than 0. - the component has dimension less than n-1. Degenerate components: - each point in the component has anti-image of dimension greater than 0. - the component has dimension n-1. When a normal point component has degree greater than 9, then the taxonomy is not determined, and (n,'normal', 0) is returned as third element of the component. (n is the dimension of the space). Given a parametric ideal F representing the system F determining the locus of points (x) which verify certain properties, the call to locus(F) determines the different classes of locus components, following the taxonomy defined in the book: A. Montes. "The Groebner Cover" (Discussing Parametric Polynomial Systems) not yet published A previous paper gives particular definitions for loci in 2d. M. Abanades, F. Botana, A. Montes, T. Recio, "An Algebraic Taxonomy for Locus Computation in Dynamic Geometry", Computer-Aided Design 56 (2014) 22-33. Note: The input must be the locus system. Example:
    LIB "grobcov.lib";
    if(defined(R)){kill R;}
    ring R=(0,x,y),(x1,y1),dp;
    short=0;
    // Concoid
    ideal S96=x1 ^2+y1 ^2-4,(x-2)*x1 -x*y1 +2*x,(x-x1 )^2+(y-y1 )^2-1;
    locus(S96);
    ==> [1]:
    ==>    [1]:
    ==>       _[1]=(x^4+2*x^3+x^2*y^2-3*x^2-2*x*y^2-8*x*y-6*x+2*y^2+8*y+6)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=(y^2+2*y+2)
    ==>          _[2]=(x-y-2)
    ==>    [3]:
    ==>       [1]:
    ==>          1
    ==>       [2]:
    ==>          Normal
    ==>       [3]:
    ==>          _[1]=x1^2+y1^2-4
    ==> [2]:
    ==>    [1]:
    ==>       _[1]=(x^2+y^2-4*y+3)
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=1
    ==>    [3]:
    ==>       [1]:
    ==>          0
    ==>       [2]:
    ==>          Special
    ==>       [3]:
    ==>          _[1]=x1^2+y1^2-4
    ==>          _[2]=4875*y1^6-548*x1*y1^4+3836*y1^5+26216*x1*y1^3+7208*y1^4-193\
       44*x1*y1^2-12320*y1^3+79328*x1*y1-132624*y1^2-20096*x1+73152*y1-67328
    ==>          _[3]=4875*x1*y1^5+10514*x1*y1^4+7652*y1^5+20812*x1*y1^3-10144*y1\
       ^4+54392*x1*y1^2+13760*y1^3-86304*x1*y1+26432*y1^2+70528*x1-214336*y1+130\
       304

User manual for Singular version 4-1-2, 2019, generated by texi2html.