up previous next
PrimaryHilbertSeries

primary

Syntax
PrimaryHilbertSeries(I: IDEAL, Q: IDEAL): TAGGED("PSeries")

Description
Let P be a polynomial ring, M the maximal ideal in P generated by the indeterminates, and (Q+I)/I a primary ideal for M/I . This function computes the Hilbert-Poincare' series of (P/I)/((Q+I)/I) .

Example
/**/  Use S ::= QQ[x,y,z];
/**/  I := ideal(x^3-y*z, y^2-x*z, z^2-x^2*y);
/**/  Q := ideal(y, z);
/**/  PS := PrimaryHilbertSeries(I, Q); PS;

/**/  Use S ::= ZZ/(32003)[x,y,z,w];
/**/  I := ***Ideal(x^5 - yz, y^4 - xz^2, xy^3 - zw, x^2z - yw,
/**/  y^2z^2 - w^3, y^3z - x^2w^2, x^3w - z^2, xyw^2 - z^3,
/**/  x^3y^2 - w^2, xz^4 - y^2w^3, yz^5 - xw^5, y^3w^5 - z^7,
/**/  x^2w^7 - z^8, z^9 - yw^8)***;
/**/  Q  := ideal(x, y, z);
/**/  PS := PrimaryHilbertSeries(I, Q); PS;
/**/  $hp.PSerToHilbert(PS);

/**/  Use S ::= ZZ/(32003)[x,y,z];
/**/  I  := ideal(S, []);  -- ideal in S with no generators
/**/  Q  := ideal(x, y, z^2);
/**/  PS := PrimaryHilbertSeries(I, Q); PS;
/**/  $hp.PSerToHilbert(PS);
/**/  HV := $hp.PSerHVector(PS); -- the H-vector associated to PS

/**/  Use S ::= ZZ/(32003)[x,y,z,w];
/**/  I  := ***Ideal(-yz + xw, z^3 - yw^2, -xz^2 + y^2w, -y^3 + x^2z)***;
/**/  Q  := ideal(x, y, z^2, w^3);
/**/  PS := PrimaryHilbertSeries(I, Q); PS;
/**/  $hp.PSerToHilbert(PS);
/**/  HV := $hp.PSerHVector(PS);
/**/  $primary.E(0, HV);
/**/  [ $primary.E(J,HV) | J in 0..($hp.PSerDim(PS)-2) ];
/**/  [ $primary.E(J,HV) | J in 0..(len(HV)-1) ];

/**/  Use S ::= ZZ/(32003)[x,y,z,w];
/**/  I  := ***Ideal(x^3-y^7, x^2y - xw^3-z^6)***;
/**/  Q  := ideal(x, y, z, w);
/**/  PS := PrimaryHilbertSeries(I, Q); PS;
/**/  $hp.PSerToHilbert(PS);
/**/  HV := $hp.PSerHVector(PS);
/**/  [ $primary.E(J,HV) | J in 0..($hp.PSerDim(PS)-2) ];
/**/  [ $primary.E(J,HV) | J in 0..(len(HV)-1) ];

/**/  Use S ::= ZZ/(32003)[x,y,z];
/**/  I  := ideal(z^3);
/**/  Q  := ideal(x^2, y^2, x*z, y*z);
/**/  PS := PrimaryHilbertSeries(I, Q); PS;
/**/  $hp.PSerToHilbert(PS);
/**/  HV := $hp.PSerHVector(PS);
/**/  [ $primary.E(J,HV) | J in 0..($hp.PSerDim(PS)-2) ];
/**/  [ $primary.E(J,HV) | J in 0..(len(HV)-1) ];

See Also