When
R is a polynomial ring, if
hilb is an O-sequence (that is, it satisfies Macaulay's Theorem), such an
L always exists. When
Q is a quotient of a polynomial ring, there may be no lexicographic ideal with a particular Hilbert function even if it is an O-sequence.
lexIdeal returns
null if no lexicographic ideal
L corresponding to the Hilbert function
hilb exists in
R or
Q.
We hope eventually to implement a version of
lexIdeal for nonArtinian ideals, taking a Hilbert series as the input.
i1 : R=ZZ/32003[a..c];
|
i2 : lexIdeal(R,{1,3,4,3,1})
2 2 3 2 2 3 5
o2 = ideal (a , a*b, a*c , b , b c , b*c , c )
o2 : Ideal of R
|
i3 : lexIdeal(R,{1,3,7}) --not an O-sequence, so no lex ideal exists
|
i4 : Q=R/ideal(a^3,b^3,a*c^2);
|
i5 : lexIdeal(Q,{1,3,6,4,2})
2 2 2 2 2 5 4
o5 = ideal (a c, a*b , a b, b c , c , b*c )
o5 : Ideal of Q
|
i6 : lexIdeal(Q,{1,3,6,4,4}) --value of 4 in degree 4 is too high in this ring
|