Hello!
Try this sequence of commands:
sage: R = PolynomialRing(GF(32003), 'x', 4)
> sage: I = sage.rings.ideal.Cyclic(R,4).homogenize()
> sage: GF = I.groebner_fan()
> sage: GBs = GF.reduced_groebner_bases()
> sage: [g.lm() for g in GBs[0]]
> >>>> [x2^2*x3^6, x2^3*x3^2, x1*x3^4, x2^2*x3^4, x1*x2*x3^2, x1*x2^2, x1^2,
> x0]
You would be forgiven for thinking that the leading monomials are listed
there; they aren't. In fact, if you try reducing the S-polynomials of
GBs[0], they won't reduce to 0. Moreover, if you try reducing the input
polynomials over GBs[0], they won't always reduce to 0.
sage: F = I.gens()
> sage: for f in F: print f.reduce(GBs[10])
> >>>> 0
> >>>> 0
> >>>> -x1*x2^2 - x2^2*x3 + x1*x3^2 + x3^3
> >>>> -x1*x2^2*x3 + x1*x2*x3^2 + x2*x3^3 - h^4
The following indicates why:
sage: TOs = GF.weight_vectors()
> sage: TOs[0]
> >>>> (9, 8, 3, 2, 1)
sage: GBs[0][0].parent().term_order()
>>>> Degree reverse lexicographic term order
sage: {G[0].parent().term_order() for G in GBs}
>>>> {Degree reverse lexicographic term order}
In short, the Gröbner fan knows the correct ordering (in terms of a weight
vector) but Sage's output presents the basis with a different ordering.
This caused me no small amount of confusion. Is this a feature, or a bug?
thanks
john perry
--
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 http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.