Macaulay2 » Documentation
Packages » gfanInterface :: MarkedPolynomialList
next | previous | forward | backward | up | index | toc

MarkedPolynomialList

Description

A marked polynomial list is a list of polynomials in which the each polynomial has a distinguished term.

In gfan, the leading terms of polynomials are marked by writing them first. For example, the leading term of $y^2 + x^2 + z^2$ is $y^2$ as it appears first. In Macaulay 2, polynomials are sorted based on the term order of the ring and so distinguished terms are lost if they do not correspond to the current ring's term order.

i1 : QQ[x,y,z];
i2 : y^2 + x^2 + z^2

      2    2    2
o2 = x  + y  + z

o2 : QQ[x..z]

In gfanInterface, we represent marked Groebner bases using a list of leading terms and a second list of polynomials. Such a pair of lists is made into a MarkedPolynomialList by using the markedPolynomialList constructor.

i3 : QQ[x,y,z];
i4 : markedPolynomialList {{y^2, x^2}, {x^2 + y^2 + z^2, x^2 + y^2 + z^2}}

        2     2    2    2     2    2
o4 = {(y ) + x  + z , (x ) + y  + z }

o4 : MarkedPolynomialList

Many methods in gfanInterface require MarkedPolynomialLists as input and produce them as output.

For example, the method gfanMarkPolynomialSet takes a list of polynomials and a weight vector and returns a list of marked polynomials. In this case, the leading term is first computed using the weight vector and then lexicographic order to break ties.

i5 : QQ[x,y,z];
i6 : gfanMarkPolynomialSet({x*y^3+z^4, x^2*z^2 + y^3*z}, {-1,2,5})

        4       3    3      2 2
o6 = {(z ) + x*y , (y z) + x z }

o6 : MarkedPolynomialList

See also

Methods that use a marked polynomial list :

For the programmer

The object MarkedPolynomialList is a type, with ancestor classes List < VisibleList < BasicList < Thing.