adipopescu / To-Do-List

My Singular Project
0 stars 0 forks source link

interesting example for 'idealsEqual' #39

Closed jakobkroeker closed 9 years ago

jakobkroeker commented 9 years ago

Assuming that the 'gI' and 'ggI' is ok (please check!) this is an example for which 'Primdec::idealsEqual' does not work correctly. (Then the documentation or the implementation of 'idealsEqual' should be updated)

otherwise it is a bug in std():

LIB "primdec.lib";
ring rng = (integer),(x,y,z),(ls(3),C);
//option("redTail");
option(redSB);
system("random", 1022116625);
ideal I = -14*y*z^2+7*x-11*x*y,-15*x*y,-8*y^2*z^2+5*x*y*z,5*y*z^2-15*y^2*z+8*x^2*z^2+3*x^2*y^2;
ideal gI =  std(I);
ideal ggI =  std(gI);
idealsEqual(gI,ggI ); //0 
quit;

It seems ok after adding 'redTail' option:

LIB "primdec.lib";
ring rng = (integer),(x,y,z),(ls(3),C);
option(redTail);
system("random", 1022116625);
ideal I = -14*y*z^2+7*x-11*x*y,-15*x*y,-8*y^2*z^2+5*x*y*z,5*y*z^2-15*y^2*z+8*x^2*z^2+3*x^2*y^2;
ideal gI =  std(I);
ideal ggI =  std(gI);
idealsEqual(gI,ggI ); //1
quit;

more examples:

option(redSB);
LIB "primdec.lib";
LIB "wrappers.lib";
ring rng = (integer),(x,y,z),(ls(3),C);
int trial = 3;
system("random", 820791554);
ideal I = 1+7*y*z^3,-4*x+2*x*z+14*x^2,-9-10*z^2+8*x*z;
ideal J = -14*x*z^3+5*x^2*y*z,15*z-7*x*y+12*x*y*z^2-11*x*y^2;
       ideal gI =  std(I);
       ideal ggI =  std(gI);
       ideal gJ =  std(J);
       ideal ggJ =  std(gJ);
ASSUME(0, 0== size( std(reduce (I,gI ) ))  );
ASSUME(0, 0== size( std(reduce (J,gJ ) ))  );
ASSUME(0, idealsEqual(gI,ggI ));
ASSUME(0, idealsEqual(gJ,ggJ ));
// /lipmanresolve-with-flint/infiniteTests/log/test.std.correct.04/bugs$ more id_1.2.bug

option(redSB);
LIB "primdec.lib";
LIB "wrappers.lib";
ring rng = (integer),(x,y,z),(ls(3),C);
int trial = 8;
system("random", 774004311);
ideal I = -3+8*x+3*x*y^2*z-8*x^2*y,8-4*z+2*y;
ideal J = 9*x*z+10*x^2*y*z,-3*y*z^2-8*x-4*x*y*z-4*x^2*z,-9*y^2*z+4*x+5*x*y+x^2;
       ideal gI =  std(I);
       ideal ggI =  std(gI);
       ideal gJ =  std(J);
       ideal ggJ =  std(gJ);
ASSUME(0, 0== size( std(reduce (I,gI ) ))  );
ASSUME(0, 0== size( std(reduce (J,gJ ) ))  );
ASSUME(0, idealsEqual(gI,ggI ));
ASSUME(0, idealsEqual(gJ,ggJ ));

//lipmanresolve-with-flint/infiniteTests/log/test.std.correct.04/bugs$ more id_1.3.bug

option(redSB);
LIB "primdec.lib";
LIB "wrappers.lib";
ring rng = (integer),(x,y,z),(ls(3),C);
int trial = 4;
system("random", 1143393520);
ideal I = -13*z^2-3*y-13*y*z^2-3*x^2*y^2,-11*z+12*y+14*y^2*z-9*x*y*z^2,-12*x+4*x*y*z^2,-7*y*z^3+7*x^2*z+10*x^3*y;
ideal J = -11+9*x*y*z;
       ideal gI =  std(I);
       ideal ggI =  std(gI);
       ideal gJ =  std(J);
       ideal ggJ =  std(gJ);
ASSUME(0, 0== size( std(reduce (I,gI ) ))  );
ASSUME(0, 0== size( std(reduce (J,gJ ) ))  );
ASSUME(0, idealsEqual(gI,ggI ));
adipopescu commented 9 years ago

LIB "primdec.lib"; LIB "wrappers.lib"; ring rng = (integer),(x,y,z),(ls(3),C); int trial = 3; //option(redSB); system("random", 820791554); ideal I = 1+7_y_z^3,-4_x+2_x_z+14_x^2,-9-10_z^2+8_x_z; @jakobkroeker ideal J = -2_x_z^3+x^2_y_z,3_z-2_x_y-3_x_y^2; // ideal gI = std(I); // ideal ggI = std(gI); ideal gJ = std(J); "Zweite:"; ideal ggJ = std(gJ); //ASSUME(0, 0== size( std(reduce (I,gI ) )) ); //ASSUME(0, 0== size( std(reduce (J,gJ ) )) ); //idealsEqual(gI,ggI );

adipopescu commented 9 years ago

Solved: Problem was in redriloc: added a nDivBy