Type "help" to see useful commands i1 : -- Example 10d: a genus 10 reducible curve with four 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 : LNonRedCurve10 = {X_1-Y_1,Y_2-Y_3,X_4-X_5,H_1-Y_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(LNonRedCurve10,G2AdjVar); o4 : Ideal of S i5 : hilbertPolynomial(I,Projective=>false) o5 = 18i - 9 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)) o11 = {4i + 2, 2i + 3, 8i, 4i + 2} o11 : List i12 : apply(radpdI, J -> hilbertPolynomial(J,Projective=>false)) o12 = {i + 1, i + 1, 2i + 1, 2i + 1} o12 : List i13 : matrix apply(#pdI, i -> apply(#pdI, j -> dim(radpdI_i+radpdI_j))) o13 = | 2 1 1 0 | | 1 2 0 1 | | 1 0 2 1 | | 0 1 1 2 | 4 4 o13 : Matrix ZZ <-- ZZ i14 :