Given a polynomial ring R and a Hilbert function hilb for R modulo a homogeneous ideal, generateLPPs generates all the LPP ideals corresponding to hilb. The power sequences and ideals are returned in a list. If the user sets the PrintIdeals option to true, the power sequences and ideals are printed on the screen in a nice format.
i1 : R=ZZ/32003[a..c]; |
i2 : generateLPPs(R,{1,3,4,3,2}) 2 2 4 2 2 5 3 4 2 3 4 o2 = {{{2, 2, 4}, ideal (a , b , c , a*b*c)}, {{2, 2, 5}, ideal (a , b , c , a*b*c, a*c , b*c )}, {{2, 3, 4}, ideal (a , b , c , ---------------------------------------------------------------------------------------------------------------------------- 2 2 3 2 3 5 2 2 2 4 a*b, a*c , b c )}, {{2, 3, 5}, ideal (a , b , c , a*b, a*c , b c , b*c )}} o2 : List |
Same example with the PrintIdeals option set to true:
i3 : generateLPPs(R,{1,3,4,3,2},PrintIdeals=>true) 2 2 4 {2, 2, 4} ideal (a , b , c , a*b*c) 2 2 5 3 4 {2, 2, 5} ideal (a , b , c , a*b*c, a*c , b*c ) 2 3 4 2 2 3 {2, 3, 4} ideal (a , b , c , a*b, a*c , b c ) 2 3 5 2 2 2 4 {2, 3, 5} ideal (a , b , c , a*b, a*c , b c , b*c ) 2 2 4 2 2 5 3 4 2 3 4 o3 = {{{2, 2, 4}, ideal (a , b , c , a*b*c)}, {{2, 2, 5}, ideal (a , b , c , a*b*c, a*c , b*c )}, {{2, 3, 4}, ideal (a , b , c , ---------------------------------------------------------------------------------------------------------------------------- 2 2 3 2 3 5 2 2 2 4 a*b, a*c , b c )}, {{2, 3, 5}, ideal (a , b , c , a*b, a*c , b c , b*c )}} o3 : List |
The object generateLPPs is a method function with options.