> I agree that Sage devs don't (need to) know what *exact* algorithm is
> used. But at least it is clear that the .reduce() method does polynomial
> reductions and continues till no further reduction is possible; all this
> for a fixed monomial ordering (determined by the polynomial ring), in
> *some* order of execution that is considered an implementation detail
> and is thus not necessarily backwards compatible or compatible with an
> order of execution proposed in the literature.

Something along the lines of this paragraph would be a valuable
addition to the docstring of .reduce().

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. You
say:

> 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?)

Luca

-- 
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