Ask Your Question

How to get the graded part of a graded ring?

asked 2019-08-27 08:34:06 -0600

heluani gravatar image

I have a graded quotient of a graded polynomial ring, say something like

P  = PolynomialRing(QQ, , 'x,y,z', order=TermOrder('wdegrevlex',(1,2,3)))
I = P.ideal(x*y^2 + x^5, z*y + x^3*y)
Q = P.quotient(I)

I would like to get the vector space over QQ consisting on vectors of degree, say 9, in Q.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2019-08-27 12:25:33 -0600

updated 2019-08-27 12:29:33 -0600

This is not perfect, but it works: use GradedCommutativeAlgebra. This isn't perfect because such objects are graded commutative, not commutative, so if x and z are in odd degrees, then xz = -zx. You can deal with this by doubling all degrees to make sure nothing is in an odd degree.

P = GradedCommutativeAlgebra(QQ, names=('x', 'y', 'z'), degrees=(2, 4, 6))


P.<x,y,z> = GradedCommutativeAlgebra(QQ, degrees=(2, 4, 6))


I = P.ideal(x*y^2 + x^5, z*y + x^3*y)
Q = P.quotient(I)

will return

[z^3, x*y*z^2, x^3*z^2, x^2*y^2*z]
edit flag offensive delete link more


Thanks for the reply, I had seen another question with this answer. What I ended up doing is implementing the same basis(n) method from the source code of GradedCommutativeAlgebra in my quotient ring because I couldn't change the degrees.

heluani gravatar imageheluani ( 2019-08-28 11:07:56 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2019-08-27 08:34:06 -0600

Seen: 25 times

Last updated: Aug 27