On 2019-02-08 10:33, Simon King wrote: > On 2019-02-08, Daniel Krenn <[email protected]> wrote: >> Let I be an ideal. Then I might want to compute something involving >> Groebner basis, e.g. computing I.variety(). >> Now suppose one wants to select a particular algorithm for the >> computation of the Groebner basis. Then (due to caching) I use something >> along the lines of >> >> GB = I.groebner_basis(algorithm='libsingular:slimgb') >> I.groebner_basis.set_cache(GB) >> I.variety() >> >> Is this the intended way of doing so? > > I guess not. I would expect that I.groebner_basis uses caching > regardless of the used algorithm. Are you sure that this is not the > case?
Not the case; I've carefully checked the code. > Or do you say that I.groebner_basis sets a cache item for each possible > value of "algorithm" individually? That would probably be a bug (i.e., > please open a ticket). Yes, this is what I am saying. And indeed my implied question is, whether this is a bug. > Why "probably"? *Reduced* Gröbner bases are unique, hence, they should > be cached independently of the algorithm used to compute them. But some > algorithms would only call *some* Gröbner basis, no *the* reduced > Gröbner basis. So, in these cases it makes sense to not automatically > cache the value. And indeed again, this is why I didn't open a ticket up to now. On the contrary, the one-line description says "Return the reduced Groebner basis of this ideal" Therefore, the intended result is unique and therefore, we have a bug as above). Which algorithm does not return a *reduced* Gröbner basis? Best, Daniel -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.
