Singular
https://www.singular.uni-kl.de/forum/

std applied to a Gröbner basis
https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=2766
Page 1 of 1

Author:  SimonKing [ Tue Jul 17, 2018 2:20 pm ]
Post subject:  std applied to a Gröbner basis

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

Author:  hannes [ Wed Jul 18, 2018 3:27 pm ]
Post subject:  Re: std applied to a Gröbner basis

std/slimgb/groeber(id) always do a computation.
std(id1,id2) requires id1 to be given as a standard basis.
There were some bugsin std(id1,id2) leading to too many computations,
which should be fixed now (in the git repository),
and a different handling of redTail/redSB (was always applied to id2).

Author:  SimonKing [ Thu Jul 19, 2018 1:25 pm ]
Post subject:  Re: std applied to a Gröbner basis

hannes wrote:
std/slimgb/groeber(id) always do a computation.
std(id1,id2) requires id1 to be given as a standard basis.
There were some bugsin std(id1,id2) leading to too many computations,
which should be fixed now (in the git repository),
and a different handling of redTail/redSB (was always applied to id2).


Indeed applying the two relevant changesets from the current repository did solve the problem for me. A computation that used to not finish within two days does now finish in ten seconds.

Thank you very much and kind regards,
Simon

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/