Home Online Manual
Top
Back: maxEord
Forward: elimrep
FastBack: paraplanecurves_lib
FastForward: resgraph_lib
Up: resbinomial_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.5.2.10 ECoef

Procedure from library resbinomial.lib (see resbinomial_lib).

Usage:
ECoef(Coef,expP,sP,V,auxc,n,flaglist);
Coef, expP, flaglist lists, sP, V, n integers, auxc number

Compute:
The ideal E-Coeff_V(P), where V is a permissible hypersurface which belongs to the center

Return:
list of exponents, list of coefficients and classification of the ideal E-Coeff_V(P)

Example:
 
LIB "resbinomial.lib";
ring r = 0,(x(1),y(2),x(3),y(4),x(5..7)),dp;
list flag=identifyvar();
ideal P=x(1)^2*x(3)^5-x(5)^7*y(4),x(6)^3*y(2)^5-x(7)^5,x(5)^3*x(6)-y(4)^3*x(1)^5;
list L=data(P,3,7);
list L2=ECoef(L[1],L[2],3,1,3,7,flag);
L2[1];  // exponents of the E-Coefficient ideal respect to x(1)
==> [1]:
==>    [1]:
==>       [1]:
==>          0
==>       [2]:
==>          0
==>       [3]:
==>          0
==>       [4]:
==>          0
==>       [5]:
==>          7
==>       [6]:
==>          0
==>       [7]:
==>          0
==> [2]:
==>    [1]:
==>       [1]:
==>          0
==>       [2]:
==>          0
==>       [3]:
==>          15
==>       [4]:
==>          0
==>       [5]:
==>          0
==>       [6]:
==>          0
==>       [7]:
==>          0
==> [3]:
==>    [1]:
==>       [1]:
==>          0
==>       [2]:
==>          5
==>       [3]:
==>          0
==>       [4]:
==>          0
==>       [5]:
==>          0
==>       [6]:
==>          3
==>       [7]:
==>          0
==>    [2]:
==>       [1]:
==>          0
==>       [2]:
==>          0
==>       [3]:
==>          0
==>       [4]:
==>          0
==>       [5]:
==>          0
==>       [6]:
==>          0
==>       [7]:
==>          5
==> [4]:
==>    [1]:
==>       [1]:
==>          0
==>       [2]:
==>          0
==>       [3]:
==>          0
==>       [4]:
==>          0
==>       [5]:
==>          3
==>       [6]:
==>          1
==>       [7]:
==>          0
L2[2];  // its coefficients
==> [1]:
==>    -1
==> [2]:
==>    1
==> [3]:
==>    [1]:
==>       1
==>    [2]:
==>       -1
==> [4]:
==>    1
L2[3];  // classify the type of ideal obtained
==> 0
ring r = 0,(x(1),y(2),x(3),y(4)),dp;
==> // ** redefining r **
list flag=identifyvar();
==> // ** redefining flag **
ideal J=x(1)^3*(1-2*y(2)*y(4)^2);  // Bold regular case
list L=data(J,1,4);
list L2=ECoef(L[1],L[2],1,1,3,4,flag);
L2;
==> [1]:
==>    empty list
==> [2]:
==>    empty list
==> [3]:
==>    1
ring r = 0,(x(1),y(2),x(3),y(4),x(5..7)),dp;
==> // ** redefining r **
list flag=identifyvar();
==> // ** redefining flag **
ideal J=x(1)^3-x(3)^2*y(4)^2,x(1)*x(7)*y(2)-x(6)^3*x(5)*y(4)^3,x(5)^3-x(5)^3*y(2)^2;
list L=data(J,3,7);
list L2=ECoef(L[1],L[2],3,1,2,7,flag);
==> // ** redefining L2 **
L2;
==> [1]:
==>    [1]:
==>       [1]:
==>          [1]:
==>             0
==>          [2]:
==>             0
==>          [3]:
==>             2
==>          [4]:
==>             0
==>          [5]:
==>             0
==>          [6]:
==>             0
==>          [7]:
==>             0
==>    [2]:
==>       [1]:
==>          [1]:
==>             0
==>          [2]:
==>             0
==>          [3]:
==>             0
==>          [4]:
==>             0
==>          [5]:
==>             1
==>          [6]:
==>             3
==>          [7]:
==>             0
==>    [3]:
==>       [1]:
==>          [1]:
==>             0
==>          [2]:
==>             0
==>          [3]:
==>             0
==>          [4]:
==>             0
==>          [5]:
==>             0
==>          [6]:
==>             0
==>          [7]:
==>             2
==>    [4]:
==>       [1]:
==>          [1]:
==>             0
==>          [2]:
==>             2
==>          [3]:
==>             0
==>          [4]:
==>             0
==>          [5]:
==>             3
==>          [6]:
==>             0
==>          [7]:
==>             0
==>       [2]:
==>          [1]:
==>             0
==>          [2]:
==>             0
==>          [3]:
==>             0
==>          [4]:
==>             0
==>          [5]:
==>             3
==>          [6]:
==>             0
==>          [7]:
==>             0
==> [2]:
==>    [1]:
==>       -1
==>    [2]:
==>       -1
==>    [3]:
==>       1
==>    [4]:
==>       [1]:
==>          -1
==>       [2]:
==>          1
==> [3]:
==>    0
ring r = 3,(x(1),y(2),x(3),y(4),x(5..7)),dp;
==> // ** redefining r **
list flag=identifyvar();
==> // ** redefining flag **
ideal J=x(1)^3-x(3)^2*y(4)^2,x(1)*x(7)*y(2)-x(6)^3*x(5)*y(4)^3,x(5)^3-x(5)^3*y(2)^2;
list L=data(J,3,7);
list L2=ECoef(L[1],L[2],3,1,2,7,flag);
==> E-order zero!
L2; // THE COMPUTATIONS ARE NOT CORRECT IN CHARACTERISTIC p>0
==> [1]:
==>    [1]:
==>       [1]:
==>          [1]:
==>             0
==>          [2]:
==>             0
==>          [3]:
==>             -1
==>          [4]:
==>             0
==>          [5]:
==>             0
==>          [6]:
==>             0
==>          [7]:
==>             0
==>    [2]:
==>       [1]:
==>          [1]:
==>             0
==>          [2]:
==>             0
==>          [3]:
==>             0
==>          [4]:
==>             0
==>          [5]:
==>             0
==>          [6]:
==>             0
==>          [7]:
==>             0
==>    [3]:
==>       [1]:
==>          [1]:
==>             0
==>          [2]:
==>             0
==>          [3]:
==>             0
==>          [4]:
==>             0
==>          [5]:
==>             1
==>          [6]:
==>             0
==>          [7]:
==>             0
==>    [4]:
==>       [1]:
==>          [1]:
==>             0
==>          [2]:
==>             0
==>          [3]:
==>             0
==>          [4]:
==>             0
==>          [5]:
==>             0
==>          [6]:
==>             0
==>          [7]:
==>             -1
==>    [5]:
==>       [1]:
==>          [1]:
==>             0
==>          [2]:
==>             -1
==>          [3]:
==>             0
==>          [4]:
==>             0
==>          [5]:
==>             0
==>          [6]:
==>             0
==>          [7]:
==>             0
==>       [2]:
==>          [1]:
==>             0
==>          [2]:
==>             0
==>          [3]:
==>             0
==>          [4]:
==>             0
==>          [5]:
==>             0
==>          [6]:
==>             0
==>          [7]:
==>             0
==> [2]:
==>    [1]:
==>       -1
==>    [2]:
==>       1
==>    [3]:
==>       -1
==>    [4]:
==>       1
==>    [5]:
==>       [1]:
==>          -1
==>       [2]:
==>          1
==> [3]:
==>    2
// because numbers are treated as 0 in assignments