Singular

D.5.5.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 (ring r = 0,(x(1),y(2),x(3),y(4)),dp;) list flag=identifyvar(); ==> // ** redefining flag (list flag=identifyvar();) 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 (ring r = 0,(x(1),y(2),x(3),y(4),x(5..7)),dp;) list flag=identifyvar(); ==> // ** redefining flag (list flag=identifyvar();) 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 (list L2=ECoef(L[1],L[2],3,1,2,7,flag);) 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 (ring r = 3,(x(1),y(2),x(3),y(4),x(5..7)),dp;) list flag=identifyvar(); ==> // ** redefining flag (list flag=identifyvar();) 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 ```