Type "help" to see useful commands i1 : -- Example 10c: a genus 10 reducible surface with two components, each generically nonreduced S = QQ[H_1,H_2,X_1,X_2,X_3,X_4,X_5,X_6,Y_1,Y_2,Y_3,Y_4,Y_5,Y_6]; i2 : LNonRedSurf10 = {X_1-Y_1,Y_2-Y_3,X_4-X_5}; i3 : G2AdjVar = {Y_4^2+Y_3*Y_5-Y_1*Y_6, Y_3*Y_4+Y_2*Y_5+2*H_1*Y_6-H_2*Y_6, Y_1*Y_4-H_1*Y_5+H_2*Y_5+X_2*Y_6, H_1*Y_4+X_1*Y_5+X_3*Y_6, Y_3^2-Y_2*Y_4+X_1*Y_6, Y_1*Y_3-H_2*Y_4-X_1*Y_5-2*X_3*Y_6, H_1*Y_3-X_1*Y_4-X_4*Y_6, Y_1*Y_2-H_2*Y_3+X_1*Y_4+2*X_4*Y_6, H_1*Y_2-X_1*Y_3-X_5*Y_6, Y_1^2+X_2*Y_4-X_3*Y_5, X_1*Y_1+X_3*Y_3+X_4*Y_4, H_2*Y_1+X_2*Y_3+2*X_3*Y_4-X_4*Y_5, H_1*Y_1+X_3*Y_4-X_4*Y_5, X_4^2+X_3*X_5-X_1*X_6, X_3*X_4+X_2*X_5+2*H_1*X_6-H_2*X_6, X_1*X_4-H_1*X_5+H_2*X_5+X_6*Y_2, H_1*X_4+X_5*Y_1+X_6*Y_3, X_3^2-X_2*X_4+X_6*Y_1, X_1*X_3-H_2*X_4-X_5*Y_1-2*X_6*Y_3, H_1*X_3-X_4*Y_1-X_6*Y_4, X_1*X_2-H_2*X_3+X_4*Y_1+2*X_6*Y_4, H_1*X_2-X_3*Y_1-X_6*Y_5, X_1^2+X_4*Y_2-X_5*Y_3, H_2*X_1+X_3*Y_2+2*X_4*Y_3-X_5*Y_4, H_1*X_1+X_4*Y_3-X_5*Y_4, H_2^2+X_2*Y_2+3*X_3*Y_3+3*X_4*Y_4+X_5*Y_5+4*X_6*Y_6, H_1*H_2+X_3*Y_3+2*X_4*Y_4+X_5*Y_5+2*X_6*Y_6, H_1^2+X_4*Y_4+X_5*Y_5+X_6*Y_6}; i4 : I = ideal join(LNonRedSurf10,G2AdjVar); o4 : Ideal of S i5 : hilbertPolynomial(I,Projective=>false) 2 o5 = 9i + 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} o10 : List i11 : apply(pdI, J -> hilbertPolynomial(J,Projective=>false)) 2 2 o11 = {6i + 4i + 1, 3i + 4i + 1} o11 : List i12 : apply(radpdI, J -> hilbertPolynomial(J,Projective=>false)) 3 2 5 3 2 5 o12 = {-i + -i + 1, -i + -i + 1} 2 2 2 2 o12 : List i13 : matrix apply(#pdI, i -> apply(#pdI, j -> dim(radpdI_i+radpdI_j))) o13 = | 3 2 | | 2 3 | 2 2 o13 : Matrix ZZ <-- ZZ i14 :