Closed jakobkroeker closed 9 years ago
At the first example, i forgot to initialize somewhere a polynomial and it should have been NULL. First example now working. This is the output:
J[1]=18 J[2]=3_x(5)+12 J[3]=9_x(4) J[4]=2_x(1) J[5]=x(5)^2+2_x(5)+4 J[6]=x(1)_x(5) J[7]=x(4)^2-x(3)_x(5) J[8]=x(3)_x(4)-x(5) J[9]=x(1)_x(4) J[10]=x(3)^2-x(4) J[11]=x(1)^2-13_x(5)^2-11_x(5)-1
And the result is immediate
Second example works now fine: J[1]=19 J[2]=x(3)-9 J[3]=y(4) J[4]=y(3)-9 J[5]=y(1)-13
Third example works fine.
Great. Maybe Jakob should do some more tests...
Still remains the last one. I will look at it tomorrow.
Fourth one is also fixed now: the problem was with calling kstd inside kstd because some global variables have been deleted at the end of the second one.
adding now the tests
more std() beasts:
// eats all mem
ring rng = integer,(x,y,z),(lp);
ideal J = -12xy-59xz+40x-22y2,
-109x-22y2z2-42,
69x2z-97x-115y-19;
ideal stdJ = std(J);
// does not finish in reasonable time
ring rng = integer,(x,y,z),dp;
ideal J = -12xy-59xz+40x-22y2,
-109x-22y2z2-42,
69x2z-97x-115y-19;
ideal stdJ = std(J);
time: 26min on andromeda
one more:
ring rng = (integer),(x,y,z),(dp(3),C);
option(redTail);
option(noredSB);
ideal I = 126z3-145xz-136,-118y4z+88y2z3+122y2+3yz,126y2z3-79xyz-50xz;
ideal J = 59x2yz+125xy2z+77xz+15,72y+148z,89xyz2+81y;
ideal gI = groebner(I);
ideal ggI = groebner(gI);
gI[12] == ggI[12]; //false. ok or not?
in the first two examples our new strategy does nothing since we cannot find a constant / monomial in the standard basis so, the other polynomials will explode. Also over Q, the coefficients are starting to be huge.
Do you have the result for these two in M2? I doubt that the result will be small and nice.
Do you have the result for these two in M2? I doubt that the result will be small and nice.
which example do you mean? just check it by yourself :
# default is dp ordering:
rng = ZZ[x,y,z]
I = ideal(-12*x*y-59*x*z+40*x-22*y^ 2,-109*x-22*y^ 2*z^ 2-42,69*x^2*z-97*x-115*y-19)
groebnerBasis I
# lp ordering, see http://www.math.uiuc.edu/Macaulay2/doc/Macaulay2-1.6/share/doc/Macaulay2/Macaulay2Doc/html/_monomial_sporderings.html
rng = ZZ[x,y,z, MonomialOrder => Lex ]
I = ideal(-12*x*y-59*x*z+40*x-22*y^ 2,-109*x-22*y^ 2*z^ 2-42,69*x^2*z-97*x-115*y-19)
groebnerBasis I
The result from M2 is immediate for dp, in Singular it take more than 7 Minutes.
preIntegerCheck does not improve the time since we haven't any constant / monomial to keep the coefficients down.
So we will have to improve this in the future (maybe a better order of the terms?)
The result from M2 is immediate for dp, in Singular it take more than 7 Minutes. preIntegerCheck does not improve the time since we haven't any constant / monomial to keep the coefficients down.
ok, good to know. Remark: to my knowledge, groebner basis computation in M2 is less optimized than Singulars counterpart, so therefore I suspect (I have no evidence) that there are still (optimization?) bugs in Singular and the computation finishes just by luck.
Question: do the last examples crash in Singular for your install?
I'll be in KL on Monday and hopefully on Thursday, but the latter is not clear. We shall look at this then.
i haven't tasted the last 2 examples. I saw that the third last example finished, but the output was too big to check it.
LIB("primdec.lib");
ring rng = (integer),(xw,xq,xk),(lp(2),lp(1),C);
ideal I = -4*xk+10;
ideal J = -7*xw+4*xk,-13;
ASSUME(0, idealsEqual( intersect(I,J) , intersect(std(I),std(J) )) ); //fails
update: still fails!
First example: // **_dPolyError: Zero coef occured at occured for poly: 0_y(4) addr:0x7f0650074360 size:48 allocated at ?? Question: Did we kill an element in PostReduce which is still involved in pairs? Need to check this.
Second example: works fine!
Third example: triggers debugger Something breaks in the module case!!! Did we forget to take care of the gen(...) when adding the monomial?