[next][previous][up][top][index]
search for:

quasi- and multi-graded polynomial rings

It is possible to set up a polynomial ring so that the degree of an element is a vector of integers. For this, the option Degrees is used, together with a list of degrees for the variables in the ring. Each degree is itself a list of integers. The degrees given must all be of the same length, and length zero is allowed, to get an ungraded ring.

i1 : R = ZZ/101[a,b,c,Degrees=>{{1,2},{2,1},{1,0}}]

o1 = R

o1 : PolynomialRing
i2 : describe R

      ZZ
o2 = --- [a, b, c, Degrees => {{1, 2}, {2, 1}, {1, 0}}]
     101

At the moment there is a restriction on the degree vectors: the first entry must be greater than zero. This restriction will be removed soon.

i3 : degree a

o3 = {1, 2}

o3 : List
i4 : degree b^2

o4 = {4, 2}

o4 : List
i5 : degree 0_R

o5 = -infinity

o5 : InfiniteNumber
i6 : degree 1_R

o6 = {0, 0}

o6 : List

A random element of bi-degree {m,n} can be obtained with random.

i7 : random({15,15},R)

        5 5      6 3 3      7   6
o7 = 39a b  - 50a b c  + 42a b*c

o7 : R

The function degree applied to a polynomial will return the least upper bound of the degrees of its monomials.

i8 : degree (a+b)

o8 = {2, 2}

o8 : List

We may recover the number of integers in each degree list for our ring as follows.

i9 : degreeLength R

o9 = 2
i10 : degreeLength ZZ

o10 = 0


[next][previous][up][top][index]
search for: