Top
Back: extend
Forward: locus
FastBack:
FastForward:
Up: grobcov_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.2.4.9 ConsLevels

Procedure from library grobcov.lib (see grobcov_lib).

Usage:
ConsLevels(A);
A is a list of locally closed sets in Crep. A=[[P1,Q1],[P2,Q2],..,[Pr,Qr]] whose union is a constructible set from which the algorithm computes its canonical form.

Return:
A list with two elements: [L,C]
where L is the list of canonical levels of A, and C is the list of canonical levels of the
complement of A wrt to the closure of A.
All locally closed sets are given in Crep.
L=[[1,[p1,p2],[3,[p3,p4],..,[2r-1,[p_{2r-1},p_2r]]]]
C=[[2,p2,p3],[4,[p4,p5],..,[2s,[p_{2s},p_{2s+1}]]]

Note:
The basering R, must be of the form Q[a]

Example:
 
LIB "grobcov.lib";
// Example of ConsLevels with nice geometrical interpretetion and 2 levels
if (defined(R)){kill R;}
if (defined(@P)){kill @P; kill @R; kill @RP;}
ring R=0,(x,y,z),lp;
short=0;
ideal P1=x*(x^2+y^2+z^2-1);
ideal Q1=z,x^2+y^2-1;
ideal P2=y,x^2+z^2-1;
ideal Q2=z*(z+1),y,x*(x+1);
list Cr1=Crep(P1,Q1);
list Cr2=Crep(P2,Q2);
list L=list(Cr1,Cr2);
L;
==> [1]:
==>    [1]:
==>       _[1]=x^3+x*y^2+x*z^2-x
==>    [2]:
==>       _[1]=z
==>       _[2]=x^2+y^2-1
==> [2]:
==>    [1]:
==>       _[1]=y
==>       _[2]=x^2+z^2-1
==>    [2]:
==>       _[1]=z^2+z
==>       _[2]=y
==>       _[3]=x+z+1
// ConsLevels(L)=
ConsLevels(L);
==> [1]:
==>    [1]:
==>       [1]:
==>          1
==>       [2]:
==>          [1]:
==>             _[1]=x^3+x*y^2+x*z^2-x
==>          [2]:
==>             _[1]=z
==>             _[2]=x^2+y^2-1
==>    [2]:
==>       [1]:
==>          3
==>       [2]:
==>          [1]:
==>             _[1]=z
==>             _[2]=y
==>             _[3]=x-1
==>          [2]:
==>             _[1]=1
==> [2]:
==>    [1]:
==>       [1]:
==>          2
==>       [2]:
==>          [1]:
==>             _[1]=z
==>             _[2]=x^2+y^2-1
==>          [2]:
==>             _[1]=z
==>             _[2]=y
==>             _[3]=x-1
//----------------------------------------------------------------------
// Begin Problem S93
// Automatic theorem proving
// Generalized Steiner-Lehmus Theorem
// A.Montes, T.Recio
// Bisector of A(-1,0) = Bisector of B(1,0) varying C(a,b)
if(defined(R1)){kill R1;}
ring R1=(0,a,b),(x1,y1,x2,y2,p,r),dp;
ideal S93=(a+1)^2+b^2-(p+1)^2,
(a-1)^2+b^2-(1-r)^2,
a*y1-b*x1-y1+b,
a*y2-b*x2+y2-b,
-2*y1+b*x1-(a+p)*y1+b,
2*y2+b*x2-(a+r)*y2-b,
(x1+1)^2+y1^2-(x2-1)^2-y2^2;
short=0;
def GC93=grobcov(S93,"nonnull",ideal(b),"rep",1);
//"grobcov(S93,'nonnull',ideal(b),"rep",1)="; GC93;
list L0;
for(int i=1;i<=size(GC93);i++)
{
L0[size(L0)+1]=GC93[i][3];
}
def GC93ab=grobcov(S93,"nonnull",ideal(a*b),"rep",1);
ring RR=0,(a,b),lp;
list L1;
L1=imap(R1,L0);
// L1=Total elements of the grobcov(S93,'nonnull',ideal(b),'rep',1) to be added=
L1;
==> [1]:
==>    [1]:
==>       _[1]=0
==>    [2]:
==>       _[1]=8a11b+41a9b3-56a9b+84a7b5-164a7b3+144a7b+86a5b7-148a5b5+86a5b3\
   -176a5b+44a3b9-28a3b7-148a3b5+156a3b3+104a3b+9ab11+12ab9-74ab7-172ab5+137\
   ab3-24ab
==> [2]:
==>    [1]:
==>       _[1]=8a10+41a8b2-56a8+84a6b4-164a6b2+144a6+86a4b6-148a4b4+86a4b2-17\
   6a4+44a2b8-28a2b6-148a2b4+156a2b2+104a2+9b10+12b8-74b6-172b4+137b2-24
==>    [2]:
==>       _[1]=5a3b+6ab3-13ab
==>       _[2]=5a5-20a3-7ab4+16ab2+15a
==>       _[3]=ab5+44ab3-16ab
==>       _[4]=40a4-499a2b4+397a2b2-160a2+15b8+25b6-115b4-325b2+120
==> [3]:
==>    [1]:
==>       _[1]=5a2+ab2+7a
==>       _[2]=a3-6a2-11a
==>    [2]:
==>       _[1]=a
==>       _[2]=3b5-10b3+3b
==> [4]:
==>    [1]:
==>       _[1]=a
==>       _[2]=3b2-1
==>    [2]:
==>       _[1]=1
==> [5]:
==>    [1]:
==>       _[1]=a
==>       _[2]=b2-3
==>    [2]:
==>       _[1]=1
==> [6]:
==>    [1]:
==>       _[1]=-5a+b2+7
==>       _[2]=a2+6a-11
==>    [2]:
==>       _[1]=1
// Adding all the elements of grobcov(S93,'nonnull',ideal(b),'rep',1)=
ConsLevels(L1);
==> [1]:
==>    [1]:
==>       [1]:
==>          1
==>       [2]:
==>          [1]:
==>             _[1]=0
==>          [2]:
==>             _[1]=b
==> [2]:
==>    [1]:
==>       [1]:
==>          2
==>       [2]:
==>          [1]:
==>             _[1]=b
==>          [2]:
==>             _[1]=1


Top Back: extend Forward: locus FastBack: FastForward: Up: grobcov_lib Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 4-0-3, 2016, generated by texi2html.