Hi!
Let id be an ideal that is known to be a Gröbner basis. According to the protocol output, std(id) does involve an actual computation, which obviously is useless if id already is a Gröbner basis:
Code:
> ring R = 0,(x,y),lp;
> option(prot);
> ideal id = std(ideal(x^2*y^3-2*x^4*y^4+3*x^5*y, x^4*y^2+2*y^5+3*x^8));
[65535:1]8ss11.13.15.17s20s21s24(2)s25s26s27ss28ss29ss31ss32ss33ss34s35.s36ss37ss38ss39s40-s41ss60
product criterion:2 chain criterion:100
> ideal bla = std(id);
[65535:1]8(5)s(4)s1113.s14.s1519.s20(5)s21s.23...24.25.28.ss2935..36.37.47----48-
product criterion:1 chain criterion:17
Why is this? And is there a way to work around it? Maybe I am misremembering, but I thought that in the past, when a user did attrib(id,"isSB",1) , then it not only silenced a couple of warnings but also made Singular use that information in std/groebner/slimgb/...
In my actual application, I use the std command in the form std(id1, id2), where id1 is known to be a standard basis and id2 provides additional generators. Even in the easiest case, the computation takes several days. But since id1 is known to be Gröbner and since in the easiest case id2 just provides a single ring variable, the computation should be fairly quick, shouldn't it?
So, how to achieve it?
Best regards,
Simon