# Can I define a graded ring in sage?

I can define a custom grading on a polynomial ring in Macaulay2 with the command

```
S = QQ[x,y, Degrees => {{1},{2}}]
```

Can I define this ring in sage?

Can I define a graded ring in sage?

I can define a custom grading on a polynomial ring in Macaulay2 with the command

```
S = QQ[x,y, Degrees => {{1},{2}}]
```

Can I define this ring in sage?

add a comment

1

If I correctly understand the Macaulay2 command you provide, you can mimick the same behavior in SageMath as follows:

```
sage: T = TermOrder("wdeglex", (1,2))
sage: R = PolynomialRing(QQ, 'x,y', order=T)
sage: R
Multivariate Polynomial Ring in x, y over Rational Field
sage: x,y = R.gens()
sage: (x*y).degree()
3
```

You can find more informations on term orders in the documentation [1]. Several weighted term orders are available.

Ahh great! Also, is it possible to define a bidegree? TermOrder('wdeglex', ((1,0),(2,2))) returns a TypeError

I do not think so. I urge you to propose a ticket on http://trac.sagemath.org to implement this kind of term orders.

Well, thinking a bit more about this, you can use matrix term orders:

```
sage: S = TermOrder('M(2,3,0,1)')
sage: S
Matrix term order with matrix
[2 3]
[0 1]
```

In such a way, the first variable will have weight `(2,0)`

and the second `(3,1)`

. This order is used when you compare monomials. Unfortunately, the method `degree`

only returns the degree with respect with the first weight of each variable rather than a tuple. I do not know how one can get the tuple.

Asked: **
2016-06-20 14:40:28 -0500
**

Seen: **112 times**

Last updated: **Jun 21 '16**

Polynomials over number fields

Multivariate rational function field of rank 3 over Rational Field

Trying to display the roots of a polynomial over a finite field

Compute radical and idempotents of a quotient algebra

Difference Between var(), QQ() and PolynomialRing()

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.