#### D.2.4.7 PtoCrep

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

Usage:
  PtoCrep(L)
  Input L: list [ Comp_1, .. , Comp_s ] where
  Comp_i=[p_i,[p_i1,..,p_is_i] ], is
  the P-representation of a locally closed set V(N) \ V(M) RETURN: The canonical C-representation of the locally closed set [ P,Q ], a pair of radical ideals with P included in Q, representing the set V(P) \ V(Q)
  NOTE: Operates in a ring R=Q[a] (a=parameters)
  KEYWORDS: locally closed set, canoncial form
  EXAMPLE: PtoCrep; shows an example

Example:

    LIB "grobcov.lib";
    if(defined(Grobcov::@P)){kill Grobcov::@R; kill Grobcov::@P; kill Grobcov::@RP;}
    short=0;
    ring R=0,(x,y,z),lp;
    // (P,Q) represents a locally closed set
    ideal P=x^3+x*y^2+x*z^2-25*x;
    ideal Q=y-4,x*z,x^2-3*x;
    // Now compute the P-representation=
    def L=Prep(P,Q);
    L;
    ==> [1]:
    ==>    [1]:
    ==>       _[1]=x2+y2+z2-25
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=z
    ==>          _[2]=y-4
    ==>          _[3]=x-3
    ==>       [2]:
    ==>          _[1]=z+3
    ==>          _[2]=y-4
    ==>          _[3]=x
    ==>       [3]:
    ==>          _[1]=z-3
    ==>          _[2]=y-4
    ==>          _[3]=x
    ==> [2]:
    ==>    [1]:
    ==>       _[1]=x
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=y-4
    ==>          _[2]=x
    // Now compute the C-representation=
    def J=PtoCrep(L);
    J;
    ==> [1]:
    ==>    _[1]=x3+xy2+xz2-25x
    ==> [2]:
    ==>    _[1]=y-4
    ==>    _[2]=xz
    ==>    _[3]=x2-3x
    // Now come back recomputing the P-represetation of the C-representation=
    Prep(J[1],J[2]);
    ==> [1]:
    ==>    [1]:
    ==>       _[1]=x2+y2+z2-25
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=z
    ==>          _[2]=y-4
    ==>          _[3]=x-3
    ==>       [2]:
    ==>          _[1]=z+3
    ==>          _[2]=y-4
    ==>          _[3]=x
    ==>       [3]:
    ==>          _[1]=z-3
    ==>          _[2]=y-4
    ==>          _[3]=x
    ==> [2]:
    ==>    [1]:
    ==>       _[1]=x
    ==>    [2]:
    ==>       [1]:
    ==>          _[1]=y-4
    ==>          _[2]=x

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