1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
// This is a Singular 3-0-4 script for computing univariate
// Hilbert-Poincare series. Singular 3-0-4 does not support
// computing multigraded Hilbert-Poincare series.
//
// Define I to be the monomial ideal of interest.
//
// Define output to something true to output the computed
// rational function in Macaulay 2 format to standard out.
//
// -Bjarke Hammersholt Roune (www.broune.com)
// 2008-05-21
if (not(defined(output))) {
int output = 0;
}
if (output) {
I = std(I); // To avoid hilb generating extra output.
}
intvec h = hilb(I, 1);
if (not(output)) {
exit;
}
// Convert to polynomial
ring r = 0, t, lp;
poly p = 0;
for (int i = 1; i <= size(h); i = i + 1) {
p = p + h[i] * t^(i-1);
}
// Write output
short=0;
write("", "R = QQ[t];");
write("", "p = " + string(p) + ";");
exit;
|