Type "help" to see useful commands i1 : -- Example 8d: a genus 8 reducible curve with five components, each generically nonreduced: S = QQ[x_12,x_13,x_14,x_15,x_16,x_23,x_24,x_25,x_26,x_34,x_35,x_36,x_45,x_46,x_56]; i2 : LNonRedCurve8={x_12-x_34, x_12-x_13, x_14-x_45, x_16-x_23, x_24-x_35, x_26-x_36, x_15-x_46}; i3 : Gr26 = {x_12*x_34-x_13*x_24+x_14*x_23, x_12*x_35-x_13*x_25+x_15*x_23, x_12*x_36-x_13*x_26+x_16*x_23, x_12*x_45-x_14*x_25+x_15*x_24, x_12*x_46-x_14*x_26+x_16*x_24, x_12*x_56-x_15*x_26+x_16*x_25, x_13*x_45-x_14*x_35+x_15*x_34, x_13*x_46-x_14*x_36+x_16*x_34, x_13*x_56-x_15*x_36+x_16*x_35, x_14*x_56-x_15*x_46+x_16*x_45, x_23*x_45-x_24*x_35+x_25*x_34, x_23*x_46-x_24*x_36+x_26*x_34, x_23*x_56-x_25*x_36+x_26*x_35, x_24*x_56-x_25*x_46+x_26*x_45, x_34*x_56-x_35*x_46+x_36*x_45}; i4 : I = ideal join(LNonRedCurve8,Gr26); o4 : Ideal of S i5 : hilbertPolynomial(I,Projective=>false) o5 = 14i - 7 o5 : QQ[i] i6 : radI = radical(I); o6 : Ideal of S i7 : I==radI o7 = false i8 : pdI = primaryDecomposition(I); i9 : radpdI = apply(pdI, J -> radical J); i10 : apply(#pdI, i -> pdI_i==radpdI_i) o10 = {false, false, false, false, false} o10 : List i11 : apply(pdI, J -> hilbertPolynomial(J,Projective=>false)) o11 = {2i + 2, 2i + 4, 2i + 2, 2i + 2, 6i + 3} o11 : List i12 : apply(radpdI, J -> hilbertPolynomial(J,Projective=>false)) o12 = {i + 1, i + 1, i + 1, i + 1, 2i + 1} o12 : List i13 : matrix apply(#pdI, i -> apply(#pdI, j -> dim(radpdI_i+radpdI_j))) o13 = | 2 1 0 1 0 | | 1 2 0 0 1 | | 0 0 2 1 1 | | 1 0 1 2 1 | | 0 1 1 1 2 | 5 5 o13 : Matrix ZZ <-- ZZ i14 :