adipopescu / To-Do-List

My Singular Project
0 stars 0 forks source link

syz out of mem example over ZZ #62

Closed jakobkroeker closed 8 years ago

jakobkroeker commented 9 years ago
ring rng = (integer),(x,y,z),(rp(3),C);
intvec op = 100663296,10321;
 option(set, op) ;
 option() ;
 // option() ;//options: redTail intStrategy redefine loadLib usage prompt
ideal I = -12*z^4-11*x^3-10*x,3*y*z^2-15*x*y^2*z-13;
def syzI = syz (I);

quit;

or

ideal I = -z^4-x^3-5*x,3*y*z^2-10*x*y^2*z-13;
adipopescu commented 9 years ago

First ideal: with option prot it looks like it will finish (till now 40 GB Memory). Maybe leave it later on a bigger RAM computer?

Will test now the second example

adipopescu commented 9 years ago

So..after 60 GB RAM, first example, really looks like it is going to finish.

Same in the second example.

You just need enough memory

jakobkroeker commented 9 years ago

you just need enough memory

ok. Just notice that the same example in Macaulay2 takes less than 100 MB and finishes in about 3 seconds.

Therefore I suspect (but have no proof, and also I might be wrong) that in Singular the example finishes only by luck and there is a bug in Singular's implementation...

Of course the example is too complicated to allow an analysis of the issue. But fortunately I posted here several other examples which might be simple enough to catch the issue.

R = ZZ[z,y,x, MonomialOrder=>Lex]  -- lex is same as rp with reversed variable list

  I = ideal{-12*z^4-11*x^3-10*x,3*y*z^2-15*x*y^2*z-13};

S = syz gens I;
(gens I)*S==0
quit;
adipopescu commented 9 years ago

I will take a looktomorrow at it to see what goes wrong in this case. And why it takes so long.

jakobkroeker commented 9 years ago

I will take a looktomorrow at it to see what goes wrong in this case. And why it takes so long.

I suggest to look at the simpler failing examples first. If more examples are needed, I will try to generate them.

(The constraint is that I moved to industry and only have spare time on weekends to work on this.)

Jakob

adipopescu commented 8 years ago

I had a really good look at it. I tried to compute just the std instead of syz and this is what i got:

M2: result immediate (goes just to degree 21), result 20 polys Singular: with redTail activated it takes 2-3 minutes, goes over degree 60, result 20 polys

i compared the two results:

reduce(M2, Singular) = 0; reduce(Singular, M2) != 0. reduce(input ideal, M2) != 0.

I guess that M2 has a currupted tail and because of that it finishes really quick with a wrong Standard Basis.

Not even the leading terms are the same (see no 14,15,16,17):

lead(M2); [1]=742500y8x7 [2]=1403619360zx6 [3]=68546400000zy [4]=228488000zyx [5]=351520zyx4 [6]=6854640000zy2 [7]=878800zy2x2 [8]=260zy2x3 [9]=52zy2x4 [10]=zy2x5 [11]=26364000zy3 [12]=13000zy3x [13]=1300zy3x2 [14]=110zy4x3 [15]=15zy4x4 [16]=4000zy5x [17]=300zy5x2 [18]=52z2 [19]=z2y [20]=4z4

lead(Singular); [1]=742500y8x7 [2]=1403619360zx6 [3]=68546400000zy [4]=228488000zyx [5]=351520zyx4 [6]=6854640000zy2 [7]=878800zy2x2 [8]=260zy2x3 [9]=52zy2x4 [10]=zy2x5 [11]=26364000zy3 [12]=13000zy3x [13]=1300zy3x2 [14]=10zy4x3 [15]=zy4x4 [16]=1000zy5x [17]=100zy5x2 [18]=52z2 [19]=z2y [20]=4z4