Type "help" to see useful commands i1 : -- Example 8c: a genus 8 reducible surface with four 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 : LNonRedSurf8 = {x_12-x_34, x_12-x_13, x_14-x_45, x_16-x_23, x_24-x_35, x_26-x_36}; 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(LNonRedSurf8,Gr26); o4 : Ideal of S i5 : hilbertPolynomial(I,Projective=>false) 2 o5 = 7i + 2 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} o10 : List i11 : apply(pdI, J -> hilbertPolynomial(J,Projective=>false)) 2 2 2 2 o11 = {2i + 5i + 1, i + 3i + 2, i + 5i + 3, 3i + 9i - 2} o11 : List i12 : apply(radpdI, J -> hilbertPolynomial(J,Projective=>false)) 2 1 2 3 1 2 3 2 o12 = {i + 2i + 1, -i + -i + 1, -i + -i + 1, i + 2i + 1} 2 2 2 2 o12 : List i13 : matrix apply(#pdI, i -> apply(#pdI, j -> dim(radpdI_i+radpdI_j))) o13 = | 3 0 2 2 | | 0 3 1 2 | | 2 1 3 2 | | 2 2 2 3 | 4 4 o13 : Matrix ZZ <-- ZZ i14 :