Opened 9 years ago

Closed 9 years ago

#712 closed bug (fixed)

example where std( stdI,J ) is not reduced with 'Dp' ordering and 'redSB' option

Reported by: kroeker@… Owned by: hannes
Priority: major Milestone: 4-1-0 and higher
Component: dontKnow Version: 4-0-2
Keywords: not reduced standard basis Cc:

Description

failing example:

LIB("primdec.lib");
ring rng = (67),(x,y,z),Dp;
short = 0 ;
option() ;
system("random", 1327212338);
ideal I = x^2-9*z,-9*x*y+x-10;
ideal J = -6*x*z-10;
   ideal gI   =  std(I);
   ideal IJ   = I+J;
   ideal gIJ  = std(IJ);
   ideal gI_J = std(gI,J);
ASSUME(0, 0== size( std(reduce (I,gI ) ))  );
ASSUME(0, 0== size( std(reduce (IJ,gIJ ) ))  ); 
ASSUME(0, 0== size( std(reduce (IJ,gI_J ) ))  );
ASSUME(0, 0== size( std(reduce (gI_J, gIJ) ))  ); 
ASSUME(0, idealsEqual(gI_J,gIJ ));
ASSUME(0, idealsEqual(gIJ, gI_J));
size(gI_J) == size(gIJ) ; // =0 !
gI_J;
gIJ;

output

> gI_J;
gI_J[1]=z^2+25*x
gI_J[2]=y*z-28*x-15*z
gI_J[3]=x*z+24
gI_J[4]=x*y-15*x+16
gI_J[5]=x^2-9*z
>  gIJ;
gIJ[1]=y-23*z-15
gIJ[2]=z^2+25*x
gIJ[3]=x*z+24
gIJ[4]=x^2-9*z

Change History (4)

comment:1 Changed 9 years ago by hannes

Reports are assumed to be minimal: but here we had to remove ca 50 % filling (21 -> 11 lines, 500 -> 200 characters). This is really asking for a new solution type "will not consider" or so. Please keep in mind that test cases are not suitable as bug reports and vice versa.

comment:2 Changed 9 years ago by kroeker@…

Reports are assumed to be minimal: but here we had to remove ca 50 % filling

I kept the additional lines to show that the problem does not occur earlier, i.e.

  • reduce (I, gI ), reduce (IJ, gIJ ) , reduce (IJ, gI_J ) and reduce (gI_J, gIJ) are ok
  • gI_J and gIJ are equal

I'm sorry for the inconvenience in case the additional information was not useful.

comment:3 Changed 9 years ago by Oleksandr

Owner: changed from somebody to hannes

gI_J is not a GB!

comment:4 Changed 9 years ago by hannes

Resolution: fixed
Status: newclosed

fixed with ede2ad82162be63d3b994284c909b4cf23aaefbe

std(SB,I) does not allow crit3 because of the (wrong) order of reductions (some were in the SB computation) Solution: disable crit3 optimization: if size(I)*4 > 3*size(SB), use std(SB+I)

Note: See TracTickets for help on using tickets.