MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The ring of invariants $S^T$ of $k[a,b,c,d]$ under the algebraic torus action $T = k^{*}$ with weights (1,1,-1,-1) is $S = k[ac,ad,bc,bd]$ which has multigraded Hilbert series

$\frac{1 - abcd}{(1-ac)(1-ad)(1-bc)(1-bd)}$

Is there a software package that can compute multigraded Hilbert series? Can it be computed using Macaulay2?

Alternatively, is there software that can compute the multigraded Hilbert series of a toric variety, specified by its fan?

For this example $v_1 = (0,0,1), v_2 = (1,0,1), v_3 = (1,1,1), v_4 = (0,1,1)$ specify the vertices of the toric fan. The multigraded Hiblert series is given by the index which counts points in the dual cone $S_{C^{*}}$ $\sum_{m \in S_{C^{*}}} q^m = \frac{(1 - q_1)}{ (1 - q_2)(1 - q_3)(1 - q_1 q_2^{-1}) (1 - q_1 q_3^{-1}) }$


"Linear diophantine equations and local cohomology," R.P. Stanley, 1982.

"Combinatorial commutative algebra," E. Miller and B. Sturmfels, 2005.

"Sasaki-Einstein manifolds and volume minimisation," Martelli, Sparks, Yau, 2006.

share|cite|improve this question
up vote 8 down vote accepted

Macaulay 2 can do multigraded Hilbert series. Let's first assume that you have a presentation of your multigraded ring. I'll mention how to calculate this below. So for your $S = k[ac,ad,bc,bd]$, we'll write it as $S = k[x,y,z,w] / (xz - yw)$.

Assuming that each of $a,b,c,d$ has its own degree direction (so the grading is by ${\bf Z}^4$), we input $k[x,y,z,w]$ as

S = QQ[x,y,z,w, Degrees=> {{1,0,1,0}, {1,0,0,1}, {0,1,1,0}, {0,1,0,1}}]

where here QQ means the rationals. Then we want the Hilbert series of the ideal $(xz - yw)$, so we put

i8 : hilbertSeries ideal(y*z-x*w)

and the answer is:

                   1 - T T T T
                        0 1 2 3
o8 = ----------------------------------------
     (1 - T T )(1 - T T )(1 - T T )(1 - T T )
            1 3        1 2        0 3        0 2

If you also need to get the presentation, we can do this as follows. First, download normaliz:

and the Macaulay 2 interface to normaliz (I think this is automatically there in Macaulay 2 1.3.1):

After loading the package with

loadPackage "Normaliz" 

Set the path to normaliz in Macaulay 2 using the command

setNmzExecPath("path to the executables norm32 and norm64");

The torusInvariants command will give you generators for the subring of invariants. Finally, we can use the ringmap command to define a surjection from a polynomial ring onto the subring to get the desired ideal.

share|cite|improve this answer

Piggyback question: What if the grading is by a f.g. abelian group?

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.