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?
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?
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.
Please start posting anonymously - your entry will be published after you log in or create a new account.
Asked: 2016-06-20 21:40:28 +0100
Seen: 1,038 times
Last updated: Jun 21 '16
File imports for polynomial rings in sage
Difference Between var(), QQ() and PolynomialRing()
PolynomialRing and from __future__ import unicode_literals
Trying to display the roots of a polynomial over a finite field
Creating a polynomial ring where the variables are code generated
Exponent overflow in PolynomialRing(): need a work around
Reducing a Set of Polynomial Equations to Minimal Variables and Equations