Hi Luca,

On 2017-10-18, Luca De Feo <de...@lix.polytechnique.fr> wrote:
> However, what's the use of such a function with
> implementation-dependent outputs?
>
> If I understand Martin's argument correctly, he is saying that
> .reduce() *could* be used for a schoolbook "implementation of Gröbner
> basis algorithms in Sage which call reduce, i.e. polynomial division
> with remainders, on S-polynomials wrt to the current basis."
>
> However for .reduce() to be useful for such applications, we would
> need to have at least *some* documented guarantee on its output.

Why? The result of the schoolbook implementation of Buchberger's
algorithm will result in *a* Gröbner basis, regardless of the concrete
choice of execution order in the implementation of polynomial reduction;
and if a reduced Gröbner basis is computed, it is *unique*.

>> But at least it is clear that the .reduce() method does polynomial
>> reductions and continues till no further reduction is possible;
>
> I agree with your analysis, but "no reduction is possible" is
> ambiguous: different textbooks mean different things by it (some mean
> Travis' algorithm, some others agree with Cox, Little and O'Shea).
>
> I would formulate it more precisely as "no monomial in the output is
> divisible by the leading monomial of any polynomial in I". This seems
> to be true given the examples I have, it would be good to have a
> confirmation (hidden somewhere in Singular's docs?)

Well, reducing the leading term is enough to get a Gröbner basis,
but you need tail reductions to compute the reduced Gröbner basis.
And Singular provides both options; I am sure Sage can use that, too.

Best regards,
Simon


-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to