|
D.2.9.14 cantodiffcgs
Procedure from library redcgs.lib (see redcgs_lib).
- Usage:
- canttodiffcgs(T);
T: is the list provided by mrcgs or crcgs or crcgs,
- Return:
- The list transforming the content of these routines to a simpler
output where each segment corresponds to a single element of the list
that is described as difference of two varieties.
The first element of the list is identical to the first element
of the list provided by the corresponding cgs algorithm, and
contains general information on the call (see mrcgs).
The remaining elements are lists of 4 elements,
representing segments. These elements are
[1]: the lpp of the segment
[2]: the basis of the segment
[3]; the ideal of the first variety (radical)
[4]; the ideal of the second variety (radical)
The segment is V([3]) \ V([4]).
- Note:
- It can be called from the output of mrcgs or rcgs of crcgs
Example:
| LIB "redcgs.lib";
ring R=(0,b,c,d,e,f),(x,y),dp;
ideal F=x^2+b*y^2+2*c*x*y+2*d*x+2*e*y+f, 2*x+2*c*y+2*d, 2*b*y+2*c*x+2*e;
def T=crcgs(F);
==> // ** redefining @R ( exportto(Top,@R); // global ring K[a][x])
==> // ** redefining @R ( exportto(Top,@R); // global ring K[a][x])
==> // ** redefining @P ( exportto(Top,@P); // global ring K[a])
==> // ** redefining @RP ( exportto(Top,@RP); // global ring K[x,a] with\
product order)
==> // ** NP2 is no standard basis
==> // ** NP2 is no standard basis
==> // ** redefining @R ( exportto(Top,@R); // global ring K[a][x])
==> // ** redefining @P ( exportto(Top,@P); // global ring K[a])
==> // ** redefining @RP ( exportto(Top,@RP); // global ring K[x,a] with\
product order)
T;
==> [1]:
==> [1]:
==> 0
==> [2]:
==> 4
==> [3]:
==> _[1]=1
==> _[2]=y
==> _[3]=y
==> _[4]=x
==> [4]:
==> _[1]=(bd2-bf+c2f-2cde+e2)
==> _[2]=(cd-e)*y+(d2-f)
==> _[3]=(b-c2)*y+(-cd+e)
==> _[4]=x+(c)*y+(d)
==> [5]:
==> [1]:
==> _[1]=0
==> [2]:
==> _[1]=0
==> [3]:
==> [1]:
==> _[1]=0
==> [6]:
==> CRCGS
==> [2]:
==> [1]:
==> 1
==> [2]:
==> 1
==> [3]:
==> _[1]=1
==> [4]:
==> _[1]=1
==> [3]:
==> [1]:
==> 1,1
==> [2]:
==> 1
==> [3]:
==> _[1]=0
==> [4]:
==> [1]:
==> 1,1,1
==> [2]:
==> 0
==> [3]:
==> _[1]=(bd2-bf+c2f-2cde+e2)
==> [5]:
==> [1]:
==> 2
==> [2]:
==> 1
==> [3]:
==> _[1]=y
==> _[2]=x
==> [4]:
==> _[1]=(b-c2)*y+(-cd+e)
==> _[2]=(b-c2)*x+(bd-ce)
==> [6]:
==> [1]:
==> 2,1
==> [2]:
==> 1
==> [3]:
==> _[1]=(bd2-bf+c2f-2cde+e2)
==> [7]:
==> [1]:
==> 2,1,1
==> [2]:
==> 0
==> [3]:
==> _[1]=(cd-e)
==> _[2]=(b-c2)
==> [8]:
==> [1]:
==> 3
==> [2]:
==> 1
==> [3]:
==> _[1]=1
==> [4]:
==> _[1]=1
==> [9]:
==> [1]:
==> 3,1
==> [2]:
==> 1
==> [3]:
==> _[1]=(cd-e)
==> _[2]=(b-c2)
==> [10]:
==> [1]:
==> 3,1,1
==> [2]:
==> 0
==> [3]:
==> _[1]=(d2-f)
==> _[2]=(cf-de)
==> _[3]=(cd-e)
==> _[4]=(b-c2)
==> [11]:
==> [1]:
==> 4
==> [2]:
==> 1
==> [3]:
==> _[1]=x
==> [4]:
==> _[1]=x+(c)*y+(d)
==> [12]:
==> [1]:
==> 4,1
==> [2]:
==> 1
==> [3]:
==> _[1]=(d2-f)
==> _[2]=(cf-de)
==> _[3]=(cd-e)
==> _[4]=(b-c2)
==> [13]:
==> [1]:
==> 4,1,1
==> [2]:
==> 0
==> [3]:
==> _[1]=1
cantreetoMaple(T,"Tc","Tc.txt");
cantodiffcgs(T);
==> // ** redefining NP ( def NP=imap(RR,N);) redcgs.lib::cantodiffcgs:396\
0
==> // ** redefining MP ( def MP=imap(RR,M);) redcgs.lib::cantodiffcgs:396\
1
==> // ** redefining NP ( def NP=imap(RR,N);) redcgs.lib::cantodiffcgs:396\
0
==> // ** redefining MP ( def MP=imap(RR,M);) redcgs.lib::cantodiffcgs:396\
1
==> // ** redefining NP ( def NP=imap(RR,N);) redcgs.lib::cantodiffcgs:396\
0
==> // ** redefining MP ( def MP=imap(RR,M);) redcgs.lib::cantodiffcgs:396\
1
==> // ** redefining NP ( def NP=imap(RR,N);) redcgs.lib::cantodiffcgs:396\
0
==> // ** redefining MP ( def MP=imap(RR,M);) redcgs.lib::cantodiffcgs:396\
1
==> [1]:
==> [1]:
==> 0
==> [2]:
==> 4
==> [3]:
==> _[1]=1
==> _[2]=y
==> _[3]=y
==> _[4]=x
==> [4]:
==> _[1]=(b*d^2-b*f+c^2*f-2*c*d*e+e^2)
==> _[2]=(c*d-e)*y+(d^2-f)
==> _[3]=(b-c^2)*y+(-c*d+e)
==> _[4]=x+(c)*y+(d)
==> [5]:
==> [1]:
==> _[1]=0
==> [2]:
==> _[1]=0
==> [3]:
==> [1]:
==> _[1]=0
==> [6]:
==> CRCGS
==> [2]:
==> [1]:
==> _[1]=1
==> [2]:
==> _[1]=1
==> [3]:
==> _[1]=0
==> [4]:
==> _[1]=(b*d^2-b*f+c^2*f-2*c*d*e+e^2)
==> [3]:
==> [1]:
==> _[1]=y
==> _[2]=x
==> [2]:
==> _[1]=(b-c^2)*y+(-c*d+e)
==> _[2]=(b-c^2)*x+(b*d-c*e)
==> [3]:
==> _[1]=(b*d^2-b*f+c^2*f-2*c*d*e+e^2)
==> [4]:
==> _[1]=(c*d-e)
==> _[2]=(b-c^2)
==> [4]:
==> [1]:
==> _[1]=1
==> [2]:
==> _[1]=1
==> [3]:
==> _[1]=(c*d-e)
==> _[2]=(b-c^2)
==> [4]:
==> _[1]=(d^2-f)
==> _[2]=(c*f-d*e)
==> _[3]=(c*d-e)
==> _[4]=(b-c^2)
==> [5]:
==> [1]:
==> _[1]=x
==> [2]:
==> _[1]=x+(c)*y+(d)
==> [3]:
==> _[1]=(d^2-f)
==> _[2]=(c*f-d*e)
==> _[3]=(c*d-e)
==> _[4]=(b-c^2)
==> [4]:
==> _[1]=1
|
|