Saturday, 7 November 2015

toric varieties - Software for computing multi-graded Hilbert series

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:
http://www.mathematik.uni-osnabrueck.de/normaliz/



and the Macaulay 2 interface to normaliz (I think this is automatically there in Macaulay 2 1.3.1):
http://www.math.uiuc.edu/Macaulay2/doc/Macaulay2-1.2/share/doc/Macaulay2/Normaliz/html/



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.

No comments:

Post a Comment