According to Hans Schoenemann: "Usually (i.e. in a ring with a well ordering and no additional flags) reduce/kNF (p,I) computes p' (with p a polynomial and I a list of polynomials) with p-p' is in the ideal generated by I and no monomial of p' is divisible by any L(f) for f in I. If I is a standard basis then p' is unique. Otherwise, the result depends on the internally used algorithm. In Singular's implementation p' does not depend on the order of the polynomials in I because it starts with sorting I (wrt. to the monomial ordering or the total degree)."
On Monday, 16 October 2017 18:41:50 UTC+2, Luca De Feo wrote: > > Hi everyone, > > Here's a Sage session: > > sage: A.<x,y> = QQ[] > sage: (x+y).reduce([(x-y), (x+y)]) > 0 > sage: (x-y).reduce([(x-y), (x+y)]) > -2*y > > The docstring says reduce computes "the normal form of self w.r.t. I, > i.e. [...] the remainder of this polynomial with respect to the > polynomials in I". > > Does anyone have any idea how this normal form is defined? It doesn't > seem to depend on the order of the polynomials in I. > > From the source code, I can only tell it calls Singular's kNF, but I > can't find any doc for it. Maybe this function should be underscored? > > Cheers, > 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.