# generateLPPs -- return all LPP ideals corresponding to a given Hilbert function

## Synopsis

• Usage:
li=generateLPPs(R,hilb)
• Inputs:
• R, ,
• hilb, a list, a Hilbert function as a list
• Optional inputs:
• PrintIdeals => ..., default value false, print LPP ideals nicely on the screen
• Outputs:
• li, a list, a list of the form {{powers, LPP ideal}, {powers, LPP ideal}, ...}

## Description

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 o2 = {{{2, 2, 4}, ideal (a , b , c , a*b*c)}, {{2, 2, 5}, ideal (a , b , c , ------------------------------------------------------------------------ 3 4 2 3 4 2 2 3 a*b*c, a*c , b*c )}, {{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 )}} 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 o3 = {{{2, 2, 4}, ideal (a , b , c , a*b*c)}, {{2, 2, 5}, ideal (a , b , c , ------------------------------------------------------------------------ 3 4 2 3 4 2 2 3 a*b*c, a*c , b*c )}, {{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 )}} o3 : List