jakobkroeker / test_singular

manage a personal issue list for Singular CAS
0 stars 0 forks source link

issue in std in qring over integers ? #131

Open jakobkroeker opened 9 years ago

jakobkroeker commented 9 years ago

is the following a problem

LIB "primdec.lib";
LIB "wrappers.lib";
ring rng = (integer),(xx,yy,zz,ww),dp;
option(redSB);
option(redTail);
system("random", 340883961);
ideal I = -4*yy-2,-yy^2*ww-1,-zz^2 ;
qring qr = std(I);
option(redSB);
option(redTail);

ideal J = -9*xx*zz*ww;

ideal gJ =  std(J);
ideal ggJ =  std(gJ);

ASSUME(0, 0== size( std(reduce (J,gJ ) ))  );
ASSUME(0, size(gJ)== size(ggJ) );
ASSUME(0, idealsEqual(J,gJ ));
ASSUME(0, idealsEqual(gJ,ggJ ));
ASSUME(0, idealsAreEqual(gJ,ggJ ));

"basering: "; basering;
"gJ: "; gJ;

lead(gJ[2]);
lead(gJ[3]);

std(lead(gJ[2]));
std(lead(gJ[3]));

 idealRepresentationReduced(gJ ); //0, expected 1 ?

output:

> 
. "basering: "; basering;
basering: 
//   coeff. ring is : Integers
//   number of vars : 4
//        block   1 : ordering dp
//                  : names    xx yy zz ww
//        block   2 : ordering C
// quotient ring from ideal
_[1]=2*ww+8
_[2]=4*yy+2
_[3]=zz^2
_[4]=yy^2*ww+1
> "gJ: "; gJ;
gJ: 
gJ[1]=9*xx*zz
gJ[2]=xx*zz*ww-5*xx*zz
gJ[3]=xx*yy*zz-4*xx*zz
> 
. lead(gJ[2]);
xx*zz*ww
> lead(gJ[3]);
xx*yy*zz
> 
. std(lead(gJ[2]));
_[1]=xx*zz
> std(lead(gJ[3]));
_[1]=xx*zz
> quit;
fruhbis-kruger-anne commented 9 years ago

The output is correct: in the ideal lead(gJ[2]) you also have xx_zz_ww_yy^2 which reduces by qid[4] to xx_zz in the ideal lead(gJ[3]) you also have xx_yy_zz_ww_yy which reduces by qid[4] to xx*zz If you are, however, looking at gJ[2] and gJ[3] instead of their initial terms, these are not monomials and hence our pairs do not lead to the respective leading monomials.